{"id":21188309,"url":"https://github.com/danielrivasmd/chapulin","last_synced_at":"2026-05-19T17:33:26.794Z","repository":{"id":117635810,"uuid":"242394165","full_name":"DanielRivasMD/Chapulin","owner":"DanielRivasMD","description":"Caught on the jump! Next-generation genomic mobile element and structural variant identification tool.","archived":false,"fork":false,"pushed_at":"2025-01-31T23:25:06.000Z","size":1306,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T00:23:25.247Z","etag":null,"topics":["genomics","population-genetics","research-tool","rust","structural-variation"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/DanielRivasMD.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.txt","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}},"created_at":"2020-02-22T18:49:40.000Z","updated_at":"2025-01-31T23:25:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"63e30f98-ba39-4f44-b155-3878ea011df1","html_url":"https://github.com/DanielRivasMD/Chapulin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielRivasMD%2FChapulin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielRivasMD%2FChapulin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielRivasMD%2FChapulin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielRivasMD%2FChapulin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanielRivasMD","download_url":"https://codeload.github.com/DanielRivasMD/Chapulin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243640817,"owners_count":20323725,"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":["genomics","population-genetics","research-tool","rust","structural-variation"],"created_at":"2024-11-20T18:44:20.441Z","updated_at":"2025-12-29T17:41:34.892Z","avatar_url":"https://github.com/DanielRivasMD.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Title --\u003e\n\u003ch1 align=\"center\"\u003e\n  Chapulin\n\u003c/h1\u003e\n\n\u003c!-- description --\u003e\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eNext-generation genomic mobile element and structural variant identification tool.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003c!-- Information badges --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.repostatus.org/#active\"\u003e\n    \u003cimg alt=\"Repo status\" src=\"https://www.repostatus.org/badges/latest/active.svg?style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"http://www.gnu.org/licenses/gpl-3.0\"\u003e\n    \u003cimg alt=\"GPL v3\" src=\"https://img.shields.io/badge/License-GPL%20v3-blue.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003c!-- Community --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/DanielRivasMD/Chapulin/discussions\"\u003e\n    \u003cimg alt=\"Ask us anything\" src=\"https://img.shields.io/badge/Ask%20us-anything-1abc9c.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/SciML/ColPrac\"\u003e\n    \u003cimg alt=\"ColPrac: Contributor's Guide on Collaborative Practices for Community Packages\" src=\"https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet?style=flat-square\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003c!-- Version and documentation badges --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/DanielRivasMD/Chapulin/releases\"\u003e\n    \u003cimg alt=\"GitHub tag\" src=\"https://img.shields.io/github/v/tag/DanielRivasMD/Chapulin?label=latest%20version\u0026logo=github\u0026sort=semver\u0026style=flat-square\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n![The Man in the Chapulin Hill](assets/ChapulinLogo.png)\n\n## Table of contents\n\n- [Description](#description)\n- [Installation](#installation)\n  - [Homebrew](#via-homebrew-for-macos)\n  - [APT](#via-apt-for-debian-based-linux-distros)\n  - [Cargo](#via-cargo-for-linux-windows-or-macos)\n  - [GitHub](#from-github-release)\n  - [Source](#building-from-source)\n- [Testing](#testing)\n  - [Running tests](#run-tests)\n- [Documentation](#documentation)\n  - [Usage](#usage)\n  - [ME subcommand](#me-subcommand)\n  - [SV subcommand](#sv-subcommand)\n  - [CR subcommand](#cr-subcommand)\n  - [GC subcommand](#gc-subcommand)\n  - [AC subcommand](#ac-subcommand)\n- [Examples](#examples)\n  - [Config](#example-chapulin-config)\n  - [ME subcommand](#example-chapulin-me-subcommand)\n  - [SV subcommand](#example-chapulin-sv-subcommand)\n  - [CR subcommand](#example-chapulin-cr-subcommand)\n  - [GC subcommand](#example-chapulin-gc-subcommand)\n  - [AC subcommand](#example-chapulin-ac-subcommand)\n- [For the curious](#chapulin-for-the-curious)\n  - [Etimology](#etimology)\n  - [Cultural reference](#cultural-reference)\n- [Acknowledgements](#acknowledgements)\n- [License](#license)\n\n\n## Description\n\n**Chapulin** is a robust, portable and blazing fast tool to identify mobile element insertions as well as structural variants in resequenced population data with a reference assembly.\n**Chapulin** uses alignment files (SAM) to scan putative mobile element / structural variant associated reads and then perform calls based on a select arbitrary threshold or a calculate probability threshold.\n**Chapulin** 's input and output formats are fully compatible with commonly used software, e.g. RepeatModeler.\n\n\n**Chapulin** offers two different scanning modes:\n\n  - [Mobile Element identification (ME)](#me-subcommand).\n\n  - [Structural Variant identification (SV)](#sv-subcommand).\n\nAdditionally, to improve user experience, **Chapulin** offers [Cache Registering (CR)](#cr-subcommand), [Generate Configuration (GC)](#gc-subcommand) and [AutoCompletion (AC)](#ac-subcommand).\n\n\n## Installation\n\n\n\u003c!-- DOC: --\u003e\n**Soon to come**\n\n### Via Homebrew (for macOS)\n\nPrerequisites:\n\n- [Homebrew](https://brew.sh/)\n\n```\nbrew install danielrivasmd/chapulin\n```\n\n\n\n\u003c!-- DOC: --\u003e\n**Soon to come**\n\n### Via APT (for Debian-based Linux distros)\n\n```\ncurl -SsL https://fbecart.github.io/ppa/debian/KEY.gpg | sudo apt-key add -\nsudo curl -SsL -o /etc/apt/sources.list.d/fbecart.list https://fbecart.github.io/ppa/debian/fbecart.list\nsudo apt update\nsudo apt install chapulin\n```\n\n\n\n\u003c!-- DOC: --\u003e\n**Soon to come**\n\n### Via Cargo (for Linux, Windows or macOS)\n\nPrerequisites:\n\n- [Rust toolchain](https://rustup.rs/)\n\n```\ncargo install chapulin\n```\n\n\n\n\u003c!-- DOC: --\u003e\n**Soon to come**\n\n### From Github release\n\nSimply download the release binary for your operating system. **Chapulin** is self-contained so it does not need dependencies.\n\n\n\n### Building from source\n\n**Chapulin** is written in Rust, so you'll need to grab a [Rust installation](https://rustup.rs/) in order to compile it.\n\nTo build **Chapulin** :\n\n```\ngit clone https://github.com/DanielRivasMD/Chapulin\ncd Chapulin\ncargo build --release\n./target/release/chapulin --version\nChapulin 0.1.0\n```\n\n\n## Testing\n\n### Run tests\n\nTo run the test suite, use:\n\n```\ncargo test\n```\n\n\n## Documentation\n\nTo view the documentation, run:\n\n```\ncargo doc\n```\n\nTo open the documentation in your browser, run:\n\n```\ncargo doc --open\n```\n\n\n### Usage\n\nUse `chapulin help` or `chapulin -h` or `chapulin --help` to display help on commandline. Running `chapulin` with no arguments nor flags also triggers help.\n\n```\nchapulin 0.1.0\nDaniel Rivas \u003cdanielrivasmd@gmail.com\u003e\n\n\nChapulin: Mobile Element Identification\n\nSoftware for mobile element identification in resequenced short-read data with a reference genome.\n\n\n        Available subcommands are:\n\nMobile Element (ME): performs sequence similarity search to a customized mobile element library and\ninsertion calls by probability or a set threshold. Aliases: 'me', 'MobileElement'.\n\nStructural Variant (SV): performs read selection based on alignment data and variant calls by\nprobability or a set threshold. Aliases: 'sv', 'StructuralVariant'.\n\nCache Registering (CR): checks for reference genome and mobile element library cache in\nconfiguration directory. In case caches are not found, reads files and writes cache. Aliases: 'cr',\n'CacheRegistering'.\n\nGenerate Configuration (GC): generates a configuration template. Observe that not all values from\nconfig file are used at all times. Aliases: 'gc', 'GenerateConfiguration'.\n\nAutoCompletion (AC): generates autocompletions to stdout for your shell. Pipe into a file and\ninstall to get help when using Chapulin. See `chapulin AC --manual` for details. Aliases: 'ac',\nAutoCompletion'.\n\n\nUSAGE:\n    chapulin [SUBCOMMAND]\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nSUBCOMMANDS:\n    AC      AutoCompletion [aliases: ac, AutoCompletion]\n    CR      Cache Registering [aliases: cr, CacheRegistering]\n    GC      Generate Configuration [aliases: gc, GenerateConfiguration]\n    ME      Mobile Element Identification [aliases: me, MobileElement]\n    SV      Structural Variant Identification [aliases: sv, StructuralVariant]\n    T       Testing\n    help    Prints this message or the help of the given subcommand(s)\n```\n\n\n### ME subcommand\n\nMobile Element mode is meant for scanning mobile elements in a host genome, such as LTR-elements. This mode depends on an alignment file to the desire reference, for the purpose of locating putative insertions on chromosomal coordinates, and a mobile element library, which can be produced by using RepeatModeler on a reference genome. Alternatively, a customized library can be used, which makes it ideal to adapt **Chapulin** 's search algorithm for other purposes, such as orphan gene discovery. [Example Mobile Element subcommand](#example-chapulin-me-subcommand).\n\n\n\n### SV subcommand\n\nStructural Variant mode will scanned for structural variants in a host genome, for instance insertions, duplications, inversions. The algorithm relies on read length, read depth and read orientation provided by the raw reads and the alignment file. Additionally, a list of known structural variant coordinates can be input to enhance the possibility of identification. [Example Structural Variant subcommand](#example-chapulin-sv-subcommand).\n\n\n\n### CR subcommand\n\nCache Registering mode can write cache files to read from, which will improve running time. This is useful in case you might want to analyze several individuals using a single mobile element library or a single reference genome. [Example Cache Registering subcommand](#example-chapulin-cr-subcommand).\n\n\n\n### GC subcommand\n\n**Chapulin** does not come with a configuration file by default. However by using Generate Configuration (GC) you can generate a editable `toml` file with preloaded defaults. In case you make a mistake editing the configuration, **Chapulin** 's error handling will let you know exactly what failed and display examples to help you fix it. [Example Generate Configuration subcommand](#example-chapulin-gc-subcommand).\n\n\n\n### AC subcommand\n\nIn case you want to explore **Chapulin** interactively, you might want to install autocompletion for your shell by running AutoCompletion (AC). Specific instructions on how to install these autocompletions for your shell can be found with the flag `--manual`. You can also preview your run by running any command with the flag `--dry-run`. [Example AutoCompletion subcommand](#example-chapulin-ac-subcommand).\n\n\n## Examples\n\n\u003c!-- DOC --\u003e\n**Soon to come**\n\n### Example `chapulin` config\n\nBelow you can find a config example. Please observe that you can also obtain a config template by using `Generate Configuration` or `GC` command from **Chapulin**.\n\n```toml\n```\n\n\n\u003c!-- DOC:\nfinish examples\n--\u003e\n\n### Example `chapulin ME` subcommand\n\n```\nchapulin ME -c \u003cCONFIG\u003e\n```\n\n\n\n### Example `chapulin SV` subcommand\n\n```\nchapulin SV -c \u003cCONFIG\u003e\n```\n\n\n\n### Example `chapulin CR` subcommand\n\n```\nchapulin CR\n```\n\n\n\n### Example `chapulin GC` subcommand\n\n```\nchapulin GC\n```\n\n\n\n### Example `chapulin AC` subcommand\n\n```\nchapulin AC\n```\n\n\n## _Chapulín_ for the curious\n\n### Etimology\n\nThe word _chapulín_ derives from Náhuatl _chapōlin_, where the compounds _chapā[nia]_ and _ōlli_ mean \"to bounce\" and \"rubber\", respectively. Thus meaning \"insect that bounces like rubber\".\n\n\n\n### Cultural reference\n\nInhabitants and visitors of Mexico City will be familiar to the 'Chapulín' image for its reference to the beautiful \"Chapultepec\" or \"Chapulín's hill\" forest, castle and metro station. It also alludes to the delicious \"chapulín's tacos\" eaten in Central and South Mexico.\n\n\n## Acknowledgements\n\n\n\n## License\n\n**Chapulin** is distributed under the terms of the GNU GENERAL PUBLIC LICENSE.\n\nSee [LICENSE](LICENSE) for details.\n\n---\n\n**Author's Note**: This package is still under active development and is subject to change.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielrivasmd%2Fchapulin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielrivasmd%2Fchapulin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielrivasmd%2Fchapulin/lists"}