{"id":41860062,"url":"https://github.com/dieterich-lab/circtools","last_synced_at":"2026-01-25T11:14:33.577Z","repository":{"id":48401542,"uuid":"83248654","full_name":"dieterich-lab/circtools","owner":"dieterich-lab","description":"circtools: a modular, python-based framework for circRNA-related tools that unifies several functionalities in a single, command line driven software.","archived":false,"fork":false,"pushed_at":"2023-12-19T08:58:40.000Z","size":2579,"stargazers_count":22,"open_issues_count":14,"forks_count":20,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-03-15T06:48:53.205Z","etag":null,"topics":["bioconductor","bioinformatics","circular-rna","computational-rna-biology","dcc","fuchs","primer-design","rbp","toolbox"],"latest_commit_sha":null,"homepage":"http://circ.tools","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/dieterich-lab.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-02-26T23:32:00.000Z","updated_at":"2024-03-15T06:48:53.206Z","dependencies_parsed_at":"2022-08-24T09:31:43.590Z","dependency_job_id":"6e8f7559-d728-44c0-b893-0b78a8044d54","html_url":"https://github.com/dieterich-lab/circtools","commit_stats":{"total_commits":903,"total_committers":9,"mean_commits":"100.33333333333333","dds":0.2236987818383167,"last_synced_commit":"e2949cb2b117b17cfd8141881a60db56b4eb0cc6"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/dieterich-lab/circtools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieterich-lab%2Fcirctools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieterich-lab%2Fcirctools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieterich-lab%2Fcirctools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieterich-lab%2Fcirctools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dieterich-lab","download_url":"https://codeload.github.com/dieterich-lab/circtools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieterich-lab%2Fcirctools/sbom","scorecard":{"id":341589,"data":{"date":"2025-08-11","repo":{"name":"github.com/dieterich-lab/circtools","commit":"c8b7f8447faa2d8081fcbbb13e91cb8e8f18a88c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.6,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"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":"Dangerous-Workflow","score":-1,"reason":"no workflows found","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: pipCommand not pinned by hash: scripts/install_external.sh:59","Warn: pipCommand not pinned by hash: scripts/install_external.sh:62","Info:   0 out of   2 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":"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":"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":"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":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"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'","Warn: branch protection not enabled for branch '1.0'"],"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":"Vulnerabilities","score":0,"reason":"11 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: GHSA-6p56-wp2h-9hxr","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: GHSA-9q9m-c65c-37pq","Warn: Project is vulnerable to: PYSEC-2021-146 / GHSA-mpvw-25mg-59vx","Warn: Project is vulnerable to: GHSA-pj98-2xf6-cff5","Warn: Project is vulnerable to: PYSEC-2019-117 / GHSA-qpg2-vx7j-3869","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 11 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-18T06:01:04.752Z","repository_id":48401542,"created_at":"2025-08-18T06:01:04.753Z","updated_at":"2025-08-18T06:01:04.753Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28752666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["bioconductor","bioinformatics","circular-rna","computational-rna-biology","dcc","fuchs","primer-design","rbp","toolbox"],"created_at":"2026-01-25T11:14:33.259Z","updated_at":"2026-01-25T11:14:33.567Z","avatar_url":"https://github.com/dieterich-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"**circtools**\n======================================================================\n\n**a one-stop software solution for circular RNA research**\n\n.. figure:: https://raw.githubusercontent.com/dieterich-lab/circtools/master/docs/img/circtools_200px.png\n   :alt: circtools\n\n|docs| |build| |zenodo| |downloads| |pypi|\n\nThis is an older version of circtools (version 1.2.2). The latest version (1.3.1) can be obtained from https://github.com/jakobilab/circtools.\n\nIntroduction\n-------------\n\nCircular RNAs (circRNAs) originate through back-splicing events from linear primary transcripts, are resistant to exonucleases, typically not polyadenylated, and have been shown to be highly specific for cell type and developmental stage. Although few circular RNA molecules have been shown to exhibit miRNA sponge function, for the vast majority of circRNAs however, their function is yet to be determined.\n\nThe prediction of circular RNAs is a multi-stage bioinformatics process starting with raw sequencing data and usually ending with a list of potential circRNA candidates which, depending on tissue and condition may contain hundreds to thousands of potential circRNAs. While there already exist a number of tools for the prediction process (e.g. `DCC \u003chttps://github.com/dieterich-lab/DCC\u003e`__ and `CircTest \u003chttps://github.com/dieterich-lab/CircTest\u003e`__), publicly available downstream analysis tools are rare.\n\nWe developed **circtools**, a modular, Python3-based framework for circRNA-related tools that unifies several functionalities in single command line driven software. The command line follows the `circtools subcommand` standard that is employed in samtools or bedtools. Currently, circtools includes modules for detecting and reconstructing circRNAs,\na quick check of circRNA mapping results, RBP enrichment screenings, circRNA primer design, statistical testing, and an exon usage module.\n\n\n\nDocumentation\n-------------\n\nClick `here \u003chttp://docs.circ.tools/\u003e`__ to access the complete documentation on Read the Docs.\n\nInstallation\n------------\n\nThe ``circtools`` package is written in Python3 (\u003e=3.4), two modules, namely ``detect`` and ``reconstruct`` also require a working Python 2 installation (\u003e=2.7). It requires only a small number of external dependencies, namely standard bioinformatics tools:\n\n-  `bedtools (\u003e= 2.27.1) \u003chttps://bedtools.readthedocs.io/en/latest/content/installation.html\u003e`__\n   [RBP enrichment module, installed automatically]\n-  `R (\u003e= 3.3) \u003chttps://www.digitalocean.com/community/tutorials/how-to-install-r-on-ubuntu-16-04-2\u003e`__\n   [Data visualization and data processing]\n\nInstallation is managed through ``python3 setup.py install``. No sudo\naccess is required if the installation is executed with ``--user`` which\nwill install the package in a user-writeable folder. The binaries should\nbe installed to ``/home/$user/.local/bin/`` in case of Debian-based\nsystems.\n\n``circtools`` was developed and tested on Debian Jessie but should also\nrun with any distribution.\n\nThe installation requires running python on the command line:\n\n::\n\n    git clone https://github.com/dieterich-lab/circtools.git\n    cd circtools\n    python3 setup.py install --verbose --user\n\nThe installation procedure will automatically install two dependencies:\n`DCC \u003chttps://github.com/dieterich-lab/DCC\u003e`__ and\n`FUCHS \u003chttps://github.com/dieterich-lab/FUCHS\u003e`__. The primer-design\nmodule as well as the exon analysis and circRNA testing module require a\nworking installation of `R \u003chttps://cran.r-project.org/\u003e`__ with\n`BioConductor \u003chttps://www.bioconductor.org/install/\u003e`__. All R packages\nrequired are automatically installed during the setup. Please see the\n`\"Installing circtools\" \u003chttp://docs.circ.tools/en/latest/Installation.html\u003e`__\nchapter of the main circtools documentation for more detailed installation instructions.\n\nModules\n-------\n\nCirctools currently offers seven modules:\n\ndetect `(detailed documentation) \u003chttps://circtools.readthedocs.io/en/latest/Detect.html\u003e`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``detect`` command is an interface to\n`DCC \u003chttps://github.com/dieterich-lab/DCC\u003e`__, also developed at the\nDieterich Lab. The module allows to detect circRNAs from RNA sequencing\ndata. The module is the foundation of all other steps for the circtools\nwork flow. All parameters supplied to circtools will be directly passed\nto DCC.\n\nquickcheck `(detailed documentation) \u003chttps://circtools.readthedocs.io/en/latest/Quickcheck.html\u003e`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe quickcheck module of circtools is an easy way to check the results\nof a DCC run for problems and to quickly assess the number of circRNAs\nin a given experiment. The module needs the mapping log files produced\nby STAR as well as the directory with the DCC results. The module than\ngenerates a series of figures in PDF format to assess the results.\n\nreconstruct `(detailed documentation) \u003chttps://circtools.readthedocs.io/en/latest/Reconstruct.html\u003e`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``reconstruct`` command is an interface to\n`FUCHS \u003chttps://github.com/dieterich-lab/FUCHS\u003e`__. FUCHS is employing\nDCC-generated data to reconstruct circRNA structures. All parameters\nsupplied to circtools will be directly passed to FUCHS.\n\ncirctest `(detailed documentation) \u003chttps://circtools.readthedocs.io/en/latest/Circtest.html\u003e`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``circtest`` command is an interface to\n`CircTest \u003chttps://github.com/dieterich-lab/CircTest\u003e`__. The module a a\nvery convenient way to employ statistical testing to circRNA candidates\ngenerated with DCC without having to write an R script for each new\nexperiment. For detailed information on the implementation itself take a\nlook at the `CircTest\ndocumentation \u003chttps://github.com/dieterich-lab/CircTest\u003e`__. In\nessence, the module allows dynamic grouping of the columns (samples) in\nthe DCC data.\n\nexon `(detailed documentation) \u003chttps://circtools.readthedocs.io/en/latest/Exon.html\u003e`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe exon module of circtools employs the `ballgown R\npackage \u003chttps://www.bioconductor.org/packages/release/bioc/html/ballgown.html\u003e`__\nto combine data generated with DCC and circtest with ballgown-compatible\n``stringtie`` output or cufflinks output converted via\n`tablemaker \u003chttps://github.com/leekgroup/tablemaker\u003e`__ in order get\ndeeper insights into differential exon usage within circRNA candidates.\n\nenrich `(detailed documentation) \u003chttps://circtools.readthedocs.io/en/latest/Enrichment.html\u003e`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``enrichment`` module may be used to identify circRNAs enriched for\nspecific RNA binding proteins (RBP) based on DCC-identified circRNAs and\nprocessed\n`eCLIP \u003chttp://www.nature.com/nmeth/journal/v13/n6/full/nmeth.3810.html\u003e`__\ndata. For K526 and HepG2 cell lines plenty of this data is available\nthrough the\n`ENCODE \u003chttps://www.encodeproject.org/search/?type=Experiment\u0026assay_title=eCLIP\u003e`__\nproject.\n\nprimer `(detailed documentation) \u003chttps://circtools.readthedocs.io/en/latest/primer.html\u003e`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``primer`` command is used to design and visualize primers required\nfor follow up wet lab experiments to verify circRNA candidates.\n\n.. |docs| image:: https://readthedocs.org/projects/circtools/badge/?version=latest\n    :alt: Documentation Status\n    :scale: 100%\n    :target: https://circtools.readthedocs.io/en/latest/?badge=latest\n\n.. |build| image:: https://travis-ci.org/dieterich-lab/circtools.svg?branch=master\n    :alt: Build Status\n    :scale: 100%\n    :target: https://travis-ci.org/dieterich-lab/circtools\n\n.. |zenodo| image:: https://zenodo.org/badge/83248654.svg\n    :alt: Zenodo DOI link\n    :scale: 100%\n    :target: https://zenodo.org/badge/latestdoi/83248654\n\n.. |downloads| image:: https://pepy.tech/badge/circtools\n    :alt: Python Package Index Downloads\n    :scale: 100%\n    :target: https://pepy.tech/project/circtools\n\n.. |pypi| image:: https://badge.fury.io/py/circtools.svg\n    :alt: Python package version\n    :scale: 100%\n    :target: https://badge.fury.io/py/circtools\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdieterich-lab%2Fcirctools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdieterich-lab%2Fcirctools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdieterich-lab%2Fcirctools/lists"}