{"id":46333982,"url":"https://github.com/vgl-hub/teloscope","last_synced_at":"2026-04-02T21:40:32.021Z","repository":{"id":194351383,"uuid":"657738058","full_name":"vgl-hub/teloscope","owner":"vgl-hub","description":"A comprehensive telomere annotation tool for genome assemblies and graphs.","archived":false,"fork":false,"pushed_at":"2025-12-03T08:43:42.000Z","size":4668,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-06T04:45:43.571Z","etag":null,"topics":["aging","bioinformatics","genome","genome-analysis","genome-annotation","genome-assembly","ont","pacbio","pattern","repeats","sequence-analysis","telomere","telomere-length","telomeres","telomeric"],"latest_commit_sha":null,"homepage":"https://www.vertebrategenomelab.org/","language":"C++","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/vgl-hub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-06-23T18:23:03.000Z","updated_at":"2025-12-03T08:19:26.000Z","dependencies_parsed_at":"2024-11-22T06:23:33.193Z","dependency_job_id":"589d46b4-8e43-4c20-8038-4116b992e2da","html_url":"https://github.com/vgl-hub/teloscope","commit_stats":null,"previous_names":["vgl-hub/teloscope"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/vgl-hub/teloscope","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgl-hub%2Fteloscope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgl-hub%2Fteloscope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgl-hub%2Fteloscope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgl-hub%2Fteloscope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vgl-hub","download_url":"https://codeload.github.com/vgl-hub/teloscope/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgl-hub%2Fteloscope/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30088476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T15:40:14.053Z","status":"ssl_error","status_checked_at":"2026-03-04T15:40:13.655Z","response_time":59,"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":["aging","bioinformatics","genome","genome-analysis","genome-annotation","genome-assembly","ont","pacbio","pattern","repeats","sequence-analysis","telomere","telomere-length","telomeres","telomeric"],"created_at":"2026-03-04T18:13:32.258Z","updated_at":"2026-04-02T21:40:32.016Z","avatar_url":"https://github.com/vgl-hub.png","language":"C++","readme":"# Teloscope\n[\u003cimg alt=\"github\" src=\"https://img.shields.io/badge/github-vgl--hub/teloscope-8da0cb?style=for-the-badge\u0026labelColor=555555\u0026logo=github\" height=\"20\"\u003e](https://github.com/vgl-hub/teloscope)\n[\u003cimg alt=\"bioconda\" src=\"https://img.shields.io/badge/bioconda-teloscope-44A833?style=for-the-badge\u0026labelColor=555555\u0026logo=Anaconda\" height=\"20\"\u003e](https://bioconda.github.io/recipes/teloscope/README.html)\n[![DOI](https://zenodo.org/badge/DOI/10.1101/2025.10.14.682431.svg)](https://doi.org/10.1101/2025.10.14.682431)\n[![Anaconda-Server Badge](https://anaconda.org/bioconda/teloscope/badges/version.svg)](https://anaconda.org/bioconda/teloscope)\n[![Anaconda-Server Badge](https://anaconda.org/bioconda/teloscope/badges/platforms.svg)](https://anaconda.org/bioconda/teloscope)\n[![Anaconda-Server Badge](https://anaconda.org/bioconda/teloscope/badges/license.svg)](https://anaconda.org/bioconda/teloscope)\n[![Anaconda-Server Badge](https://anaconda.org/bioconda/teloscope/badges/downloads.svg)](https://anaconda.org/bioconda/teloscope)\n\nTeloscope scans assembly ends for telomeric repeats. It reads `FASTA`, `FASTA.gz`, and `GFA` inputs, merges repeat matches into telomere blocks, classifies scaffolds in FASTA mode, and writes files that are easy to inspect in BED, TSV, BEDgraph, PDF, or GFA form.\n\nIn FASTA mode, Teloscope writes terminal telomere annotations, gap coordinates, and a summary table. In GFA mode, it writes an annotated graph for BandageNG. By default, synthetic telomere nodes are connected back to the assembly with GFA `J` jump records instead of hard-adjacency `L` links to reduce disruptive force-layout lines.\n\n## What Teloscope writes\n\n- FASTA mode: `*_terminal_telomeres.bed`, `*_gaps.bed`, `*_report.tsv`, plus optional window tracks, match BED files, ITS BED files, and a PDF report.\n- GFA mode: `\u003cinput\u003e.telo.annotated.gfa` with telomere placeholder segments and links attached to the original graph.\n\n## Install\n\nFrom source:\n\n```sh\ngit clone https://github.com/vgl-hub/teloscope.git --recursive\ncd teloscope\nmake -j\n```\n\nTo build the helper binaries as well:\n\n```sh\nmake all -j\n```\n\nFrom Bioconda:\n\n```sh\nconda install -c bioconda teloscope\n```\n\nBuild requirements:\n\n- C++17 compiler\n- `zlib`\n- `pthread`\n- the `gfalibs` submodule\n\nIf the submodule is missing, run:\n\n```sh\ngit submodule update --init --recursive\n```\n\nFor `--plot-report`, install Python 3 with `matplotlib`, `numpy`, and `pandas`.\n\n## Quick start\n\n| Task | Command |\n| --- | --- |\n| Scan a vertebrate assembly with the default motif | `teloscope asm.fa` |\n| Read compressed FASTA directly | `teloscope asm.fa.gz` |\n| Write all optional FASTA outputs | `teloscope asm.fa -o results/ -r -g -e -m -i --plot-report` |\n| Switch to a plant canonical repeat | `teloscope asm.fa -c CCCTAAA` |\n| Search explicit motif variants | `teloscope asm.fa -c TTAGGG -p TTAGGG,TCAGGG,TGAGGG,TTGGGG` |\n| Annotate a graph for BandageNG | `teloscope asm.gfa -o results/` |\n| Read decompressed stdin | `zcat asm.fa.gz | teloscope -o results/` |\n\nNotes:\n\n- Teloscope always searches both each input pattern and its reverse complement.\n- If `-p` is omitted, Teloscope derives the search set from `-c`.\n- Any genome-wide output flag (`-r`, `-g`, `-e`, `-m`, `-i`) disables ultra-fast mode automatically.\n- GFA mode uses GFA `J` jump records for telomere connectors instead of direct `L` adjacency links.\n- Gzipped stdin is not supported. Decompress before piping.\n\n## Typical output layout\n\nFASTA run:\n\n```text\nresults/\n  asm.fa_terminal_telomeres.bed\n  asm.fa_gaps.bed\n  asm.fa_report.tsv\n  asm.fa_window_repeat_density.bedgraph\n  asm.fa_window_canonical_ratio.bedgraph\n  asm.fa_window_strand_ratio.bedgraph\n  asm.fa_plot_report.pdf\n```\n\nGFA run:\n\n```text\nresults/\n  asm.gfa.telo.annotated.gfa\n```\n\n## Documentation\n\n| Page | Covers |\n| --- | --- |\n| [Parameters](docs/parameters.md) | command-line flags, defaults, and flag interactions |\n| [Outputs](docs/outputs.md) | every output file, naming rules, and column layouts |\n| [Classification](docs/classification.md) | FASTA scaffold classes and the `granular` labels |\n| [Algorithm](docs/algorithm.md) | how FASTA mode and GFA mode are processed |\n| [Report generation](docs/report.md) | `--plot-report`, standalone plotting, and report inputs |\n| [Simulation](docs/simulation.md) | the synthetic benchmark generator and evaluator |\n| [Testing](docs/testing.md) | validator runs, report regression checks, and test regeneration |\n| [Troubleshooting](docs/troubleshooting.md) | common build, input, and runtime failures |\n| [Validation format](validateFiles/README.md) | the `.tst` harness, including directive-mode GFA cases |\n\n## Repo layout\n\n- `src/` and `include/`: main C++ implementation and headers\n- `scripts/`: Python and shell helpers, including `teloscope_report.py` and its regression script\n- `docs/`: user-facing documentation\n- `testFiles/`: public FASTA and GFA fixtures plus expected outputs\n- `validateFiles/`: `.tst` manifests used by `teloscope-validate`\n- `gfalibs/`: graph I/O submodule used for GFA parsing and writing\n\n## Validation\n\nBuild the validator and run the checked-in suite:\n\n```sh\nmake validate\nbuild/bin/teloscope-validate validateFiles\n```\n\nRun the report layout regression script:\n\n```sh\npython3 scripts/test_teloscope_report.py\n```\n\nRun the gap BED regression script:\n\n```sh\nbash scripts/test_gaps_bed.sh\n```\n\n## Citation\n\nTeloscope is part of the gfastar tool suite.\n\nIf you use Teloscope, cite:\n\nThe complete genome of a songbird  \nGiulio Formenti, Nivesh Jain, Jack A. Medico, Marco Sollitto, Dmitry Antipov, Suziane Barcellos, Matthew Biegler, Ines Borges, J King Chang, Ying Chen, Haoyu Cheng, Helena Conceicao, Matthew Davenport, Lorraine De Oliveira, Erick Duarte, Gillian Durham, Jonathan Fenn, Niamh Forde, Pedro A. Galante, Kenji Gerhardt, Alice M. Giani, Simona Giunta, Juhyun Kim, Aleksey Komissarov, Bonhwang Koo, Sergey Koren, Denis Larkin, Chul Lee, Heng Li, Kateryna Makova, Patrick Masterson, Terence Murphy, Kirsty McCaffrey, Rafael L.V. Mercuri, Yeojung Na, Mary J. O'Connell, Shujun Ou, Adam Phillippy, Marina Popova, Arang Rhie, Francisco J. Ruiz-Ruano, Simona Secomandi, Linnea Smeds, Alexander Suh, Tatiana Tilley, Niki Vontzou, Paul D. Waters, Jennifer Balacco, Erich D. Jarvis  \nbioRxiv 2025.10.14.682431  \nhttps://doi.org/10.1101/2025.10.14.682431\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvgl-hub%2Fteloscope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvgl-hub%2Fteloscope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvgl-hub%2Fteloscope/lists"}