{"id":13599260,"url":"https://github.com/ChangqingW/SeqSizzle","last_synced_at":"2025-04-10T12:32:00.417Z","repository":{"id":208182996,"uuid":"715453106","full_name":"ChangqingW/SeqSizzle","owner":"ChangqingW","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-17T06:06:20.000Z","size":5469,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-17T06:28:37.772Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChangqingW.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-11-07T07:09:19.000Z","updated_at":"2024-12-17T06:05:29.000Z","dependencies_parsed_at":"2023-11-28T05:23:54.545Z","dependency_job_id":"45852321-b949-49de-8aa0-c710a1578585","html_url":"https://github.com/ChangqingW/SeqSizzle","commit_stats":null,"previous_names":["changqingw/seqsizzle"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChangqingW%2FSeqSizzle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChangqingW%2FSeqSizzle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChangqingW%2FSeqSizzle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChangqingW%2FSeqSizzle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChangqingW","download_url":"https://codeload.github.com/ChangqingW/SeqSizzle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248217131,"owners_count":21066633,"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":"2024-08-01T17:01:01.481Z","updated_at":"2025-04-10T12:31:59.382Z","avatar_url":"https://github.com/ChangqingW.png","language":"Rust","funding_links":[],"categories":["💻 Apps","based"],"sub_categories":["🌌 Other"],"readme":"SeqSizzle is a pager for viewing FASTQ files with fuzzy matching, allowing different adaptors to be colored differently.  \n\n# Installation\n\n### Pre-built binary\n\n[![Release](https://github.com/ChangqingW/SeqSizzle/workflows/Release/badge.svg)](https://github.com/ChangqingW/SeqSizzle/actions/workflows/rust.yml)  \nYou can simply download and run the binary from [Github Actions](https://github.com/ChangqingW/SeqSizzle/releases/latest).\n\n### Conda\n\nSeqSizzle is also available on [bioconda](https://bioconda.github.io/recipes/seqsizzle/README.html):\n```\nconda install -c bioconda -c conda-forge seqsizzle\n```\n\n### Cargo (crates.io)\n\n[![Crates.io Version](https://img.shields.io/crates/v/seqsizzle?link=https%3A%2F%2Fcrates.io%2Fcrates%2Fseqsizzle)](https://crates.io/crates/seqsizzle)\n[![Crates.io Total Downloads](https://img.shields.io/crates/d/seqsizzle?link=https%3A%2F%2Fcrates.io%2Fcrates%2Fseqsizzle)](https://crates.io/crates/seqsizzle)  \nIf you already have [a Rust environment set up](https://rustup.rs), you can use the `cargo install` command:\n```\ncargo install seqsizzle\n```\nCargo will build the `seqsizzle` binary and place it in `$HOME/.local/share/cargo/bin/seqsizzle`.\n\n### Cargo (git)\n\nIf you already have a Rust environment set up, you can use the `cargo install` command in your local clone of the repo:\n```\ngit clone https://github.com/ChangqingW/SeqSizzle\ncd SeqSizzle\ncargo install --path .\n```\nCargo will build the `seqsizzle` binary and place it in `$HOME/.cargo`.\n\n# Usage\n`./seqsizzle -h`:\n```\nUsage: seqsizzle [OPTIONS] \u003cFILE\u003e [COMMAND]\n\nCommands:\n  summarize  Summarize the reads with patterns specified by the --patterns argument or the adapter flags. Make sure you supply the flags BEFORE the subcommand, e.g. `./SeqSizzle my.fastq -p my_patterns.csv --adapter-3p summarize`. '..' indicats unmatched regions of positive length, '-' indicates the patterns are overlapped, print the number of reads that match each pattern combination in TSV format. To be moved to the UI in the future\n  help       Print this message or the help of the given subcommand(s)\n\nArguments:\n  \u003cFILE\u003e  The FASTQ file to view\n\nOptions:\n      --adapter-3p\n          Start with 10x 3' kit adaptors:\n           - Patrial Read1: CTACACGACGCTCTTCCGATCT (and reverse complement)\n           - Partial TSO: AGATCGGAAGAGCGTCGTGTAG (and reverse complement)\n           - Poly(\u003e10)A/T\n      --adapter-5p\n          Start with 10x 5' kit adaptors\n           - Patrial Read1: CTACACGACGCTCTTCCGATCT (and reverse complement)\n           - TSO: TTTCTTATATGGG (and reverse complement)\n           - Patrial Read2: AGATCGGAAGAGCACACGTCTGAA (and reverse complement)\n           - Poly(\u003e10)A/T\n  -p, --patterns \u003cPATTERNS_PATH\u003e\n          Start with patterns from a CSV file\n          Must have the following header:\n          pattern,color,editdistance,comment\n  -s, --save-patterns \u003cSAVE_PATTERNS_PATH\u003e\n          Save the search panel to a CSV file before quitting. To be removed in the future since you can now hit Ctrl-S in the search panel to save the patterns\n  -h, --help\n          Print help\n  -V, --version\n          Print version\n```\n## Navigation\n### Viewer mode\n![Viewer mode](./img/viewer_mode.png)\nUp / down arrow (or `j` / `k`) to scroll by one line, `Ctrl+U` / `Ctrl+D` to scoll half a screen.  \n`/` (or `Ctrl+F`) to toggle search panel, `q` to quit\n\n### search panel mode\n![Search panel mode](./img/search_panel.png)\nLeft / right arrow (or Tab / Shift-Tab) to cycle through different input fields and the patterns list.  \nWhen on the patterns list field, up / down arrows cycle through patterns, `Backspace` (or `Delete`, `d`) to delete the selected pattern and `Return` to pop the pattern into the input fields for editing.  \n`Return` to add current inputs into the search pattern list (when focusing on any of the input boxes, rather than the patterns list).  \nUse **Shift +** arrow keys to move cursor within an input field (as arrow keys alone are bind to cycling input fields).  \n`/` or `Esc` to close the search panel.\n\n# Roadmap\n## functionality \n * Gzip (`fastq.gz`) support  \n * Filter reads by match  \n * Counting reads with match  \n## UI\n * Make elements in the search panel clickable, try implementations discussed in [ratatui repo](https://github.com/ratatui-org/ratatui/discussions/552)  \n## Misc\n * Unit tests  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChangqingW%2FSeqSizzle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FChangqingW%2FSeqSizzle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChangqingW%2FSeqSizzle/lists"}