{"repo":"shenwei356/seqkit","free":true,"listed":false,"github":"https://github.com/shenwei356/seqkit","clone":"git clone https://github.com/shenwei356/seqkit.git","description":"A cross-platform and ultrafast toolkit for FASTA/Q file manipulation","language":"Go","stars":1589,"topics":["bioinformatics","cross-platform","fasta","fastq","golang","manipulation","sequence","tool","toolkit"],"license":"MIT","category":"dev_tool","readme_excerpt":"# SeqKit - a cross-platform and ultrafast toolkit for FASTA/Q file manipulation\n\n- [**Try SeqKit in your browser**](https://sandbox.bio/tutorials/seqkit-intro) (Tutorials and Exercises provided by [sandbox.bio](https://sandbox.bio/tutorials/seqkit-intro))\n- **Documents:** [http://bioinf.shenwei.me/seqkit](http://bioinf.shenwei.me/seqkit)\n([**Usage**](http://bioinf.shenwei.me/seqkit/usage/),\n[**FAQs**](http://bioinf.shenwei.me/seqkit/faq/),\n[**Tutorial**](http://bioinf.shenwei.me/seqkit/tutorial/),\nand \n[**Benchmark**](http://bioinf.shenwei.me/seqkit/benchmark/))\n- **Source code:** [https://github.com/shenwei356/seqkit](https://github.com/shenwei356/seqkit)\n[![GitHub stars](https://img.shields.io/github/stars/shenwei356/seqkit.svg?style=social&label=Star&?maxAge=2592000)](https://github.com/shenwei356/seqkit)\n[![license](https://img.shields.io/github/license/shenwei356/seqkit.svg?maxAge=2592000)](https://github.com/shenwei356/seqkit/blob/master/LICENSE)\n- **Latest version:** [![Latest Version](https://img.shields.io/github/release/shenwei356/seqkit.svg?style=flat?maxAge=86400)](https://github.com/shenwei356/seqkit/releases)\n[![Github Releases](https://img.shields.io/github/downloads/shenwei356/seqkit/latest/total.svg?maxAge=3600)](http://bioinf.shenwei.me/seqkit/download/)\n[![Cross-platform](https://img.shields.io/badge/platform-any-ec2eb4.svg?style=flat)](http://bioinf.shenwei.me/seqkit/download/)\n[![Anaconda Cloud](https://anaconda.org/bioconda/seqkit/badges/version.svg)](https://anaconda.org/bioconda/seqkit)\n- **[Please cite](#citation):** [![doi](https://img.shields.io/badge/doi-10.1002%2Fimt2.191-blue.svg?style=flat)](https://doi.org/10.1002/imt2.191) [![Citation Badge](https://api.juleskreuer.eu/citation-badge.php?doi=10.1002/imt2.191)](https://doi.org/10.1002/imt2.191)\n- **Others**: [![check in Biotreasury](https://img.shields.io/badge/Biotreasury-collected-brightgreen)](https://biotreasury.rjmart.cn/#/tool?id=10081)  \n\n\n<a href=\"https://doi.org/10.1002/imt2.191\"><img src=\"seqkit2.jpg\" alt=\"Subcommands of SeqKit2\" width=\"700\"/></a>\n\n## Features\n\n- **Easy to install** ([download](http://bioinf.shenwei.me/seqkit/download/))\n    - Providing statically linked executable binaries for multiple platforms (Linux/Windows/macOS, amd64/arm64) \n    - Light weight and out-of-the-box, no dependencies, no compilation, no configuration\n    - `conda install -c bioconda seqkit`\n- **Easy to use** \n    - Ultrafast (see [technical-details](http://bioinf.shenwei.me/seqkit/usage/#technical-details-and-guides-for-use) and [benchmark](http://bioinf.shenwei.me/seqkit/benchmark))\n    - Seamlessly parsing both FASTA and FASTQ formats\n    - Supporting (`gzip`/`xz`/`zstd`/`bzip2`/`lz4` compressed) STDIN/STDOUT and input/output file, easily integrated in pipe\n    - Reproducible results (configurable rand seed in `sample` and `shuffle`)\n    - Supporting custom sequence ID via regular expression\n    - Supporting [Bash/Zsh autocompletion](http://bioinf.shenwei.me/seqkit/download/#shell-completion)\n- **Versatile commands** ([usages and examples](http://bioinf.shenwei.me/seqkit/usage/))\n    - Practical functions supported by [38 subcommands](#subcommands)\n\n\n## Installation\n\n#### Method 1: Download binaries\n\nGo to [Download Page](http://bioinf.shenwei.me/seqkit/download), where you can find download links to various platforms.\n\n#### Method 2: Install via Pixi\n\n    pixi global install -c bioconda seqkit\n\n#### Method 3: Install via conda\n\n    conda install -c bioconda seqkit\n\n#### Method 4: Install via homebrew\n\n    brew install seqkit\n\n## Subcommands\n\n|Category         |Command                                                             |Function                                                                                     |Input          |Strand-sensitivity|Multi-threads|\n|:----------------|:-------------------------------------------------------------------|:--------------------------------------------------------------------------------------------|:--------------|:-----------------|:------------|\n|Basic operation  |[seq](https://bioinf.shenwei.me/seqkit/usage/#seq)                  |Transform sequences: extract ID/seq, filter by length/quality, remove gaps…                  |FASTA/Q        |                  |             |\n|                 |[stats](https://bioinf.shenwei.me/seqkit/usage/#stats)              |Simple statistics: #seqs, min/max_len, N50, Q20%, Q30%…                                      |FASTA/Q        |                  |✓            |\n|                 |[subseq](https://bioinf.shenwei.me/seqkit/usage/#subseq)            |Get subsequences by region/gtf/bed, including flanking sequences                             |FASTA/Q        |+ or/and -        |             |\n|                 |[sliding](https://bioinf.shenwei.me/seqkit/usage/#sliding)          |Extract subsequences in sliding windows                                                      |FASTA/Q        |+ only            |             |\n|                 |[faidx](https://bioinf.shenwei.me/seqkit/usage/#faidx)              |Create the FASTA index file and extract subsequences (with more features than samtools faidx)|FASTA          |+ or/and -        |             |\n|                 |[translate](https://bioinf.shenwei.me/seqkit/usage/#translate)      |translate DNA/RNA to protein sequence                                                        |FASTA/Q        |+ or/and -        |             |\n|                 |[watch ](https://bioinf.shenwei.me/seqkit/usage/#watch )            |Monitoring and online histograms of sequence features                                        |FASTA/Q        |                  |             |\n|                 |[scat ](https://bioinf.shenwei.me/seqkit/usage/#scat )              |Real time concatenation and streaming of fastx files                                         |FASTA/Q        |                  |✓            |\n|Format conversion|[fq2fa](https://bioinf.shenwei.me/seqkit/usage/#fq2fa)              |Convert FASTQ to FASTA format                                                                |FASTQ          |                  |             |\n|                 |[fx2tab](https://bioinf.shenwei.me/seqkit/usage/#fx2tab)            |Convert FASTA/Q to tabular format                                                            |FASTA/Q        |                  |             |\n|                 |[fa2fq](https://bioinf.shenwei.me/seqkit/usage/#fa2fq)              |Retrieve corresponding FASTQ records by a FASTA file                                         |FASTA/Q        |+ only            |             |\n|                 |[tab2fx](https://bioinf.shenwei.me/seqkit/usage/#tab2fx)            |Convert tabular format to FASTA/Q format                                                     |TSV            |                  |             |\n|                 |[convert](https://bioinf.shenwei.me/seqkit/usage/#convert)          |Convert FASTQ quality encoding between Sanger, Solexa and Illumina                           |FASTA/Q        |                  |             |\n|Searching        |[grep](https://bioinf.shenwei.me/seqkit/usage/#grep)                |Search sequences by ID/name/sequence/sequence motifs, mismatch allowed                       |FASTA/Q        |+ and -           |partly, -m   |\n|                 |[locate](https://bioinf.shenwei.me/seqkit/usage/#locate)            |Locate subsequences/motifs, mismatch allowed                                                 |FASTA/Q        |+ and -           |partly, -m   |\n|                 |[amplicon](https://bioinf.shenwei.me/seqkit/usage/#amplicon)        |Extract amplicon (or specific region around it), mismatch allowed                            |FASTA/Q        |+ and -           |partly, -m   |\n|                 |[fish](https://bioinf.shenwei.me/seqkit/usage/#fish)                |Look for short sequences in larger sequences                                                 |FASTA/Q        |+ and -           |             |\n|Set operation    |[sample](https://bioinf.shenwei.me/seqkit/usage/#sample)            |Sample sequences by number or proportion                                                     |FASTA/Q        |                  |             |\n|                 |[sample2](https://bioinf.shenwei.me/seqkit/usage/#sample2)          |Sample sequences by number or proportion (version 2)                                         |FASTA/Q        |                  |             |\n|                 |[rmdup](https://bioinf.shenwei.me/seqkit/usage/#rmdup)              |Remove duplicated sequences by ID/name/sequence                                              |FASTA/Q        |+ and -           |             |\n|                 |[common](https://bioinf.shenwei.me/seqkit/usage/#common)            |Find common sequences of multiple files by id/name/sequence                                  |FASTA/Q        |+ and -           |             |\n|                 |[duplicate](https://bioinf.shenwei.me/seqkit/usage/#duplicate)      |Duplicate sequences N times                                                                  |FASTA/Q        |                  |             |\n|                 |[split](https://bioinf.shenwei.me/seqkit/usage/#split)              |Split sequences into files by id/seq region/size/parts (mainly for FASTA)                    |FASTA preffered|                  |             |\n|                 |[split2](https://bioinf.shenwei.me/seqkit/usage/#split2)            |Split sequences into files by size/parts (FASTA, PE/SE FASTQ)                                |FASTA/Q        |                  |             |\n|                 |[head](https://bioinf.shenwei.me/seqkit/usage/#head)                |print the first N FASTA/Q records, or leading records whose total length >= L                |FASTA/Q        |                  |             |\n|                 |[head-genome](https://bioinf.shenwei.me/seqkit/usage/#head-genome)  |Print sequences of the first genome with common prefixes in na","default_branch":"master","files":236,"tree":[".github/issue_template.md",".gitignore",".travis.yml","CHANGELOG.md","Dockerfile","LICENSE","README-v0.3.1.1.md","README.md","benchmark/README.md","benchmark/benchmark.5tests.tsv","benchmark/benchmark.5tests.tsv.C.png","benchmark/benchmark.5tests.tsv.png","benchmark/plot.R","benchmark/plot.sh","benchmark/revcom_biogo","benchmark/revcom_biogo.go","benchmark/run.pl","benchmark/run_benchmark_01_revcom.sh","benchmark/run_benchmark_02_exctact_by_id_list.sh","benchmark/run_benchmark_03_sampling.sh","benchmark/run_benchmark_04_remove_duplicated_seqs_by_seq.sh","benchmark/run_benchmark_05_subseq_with_bed.sh","benchmark/seqkit_file_size/benchmark.seqkit.files_size.tsv","benchmark/seqkit_file_size/benchmark.seqkit.files_size.tsv.png","benchmark/seqkit_file_size/plot.R","benchmark/seqkit_file_size/plot.sh","benchmark/seqkit_file_size/prepare.sh","benchmark/seqkit_file_size/run_benchmark_01_revcom.sh","benchmark/seqkit_file_size/run_benchmark_04_remove_duplicated_seqs_by_seq.sh","benchmark/seqkit_file_size/run_test_seqkit_01_shuffle.sh","benchmark/seqkit_file_size/run_test_seqkit_02_sort.sh","benchmark/seqkit_file_size/tmp_result/run_benchmark_01_revcom.sh.round1.out","benchmark/seqkit_file_size/tmp_result/run_benchmark_01_revcom.sh.round2.out","benchmark/seqkit_file_size/tmp_result/run_benchmark_01_revcom.sh.round3.out","benchmark/seqkit_file_size/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round1.out","benchmark/seqkit_file_size/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round2.out","benchmark/seqkit_file_size/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round3.out","benchmark/seqkit_file_size/tmp_result/run_test_seqkit_01_shuffle.sh.round1.out","benchmark/seqkit_file_size/tmp_result/run_test_seqkit_01_shuffle.sh.round2.out","benchmark/seqkit_file_size/tmp_result/run_test_seqkit_01_shuffle.sh.round3.out","benchmark/seqkit_file_size/tmp_result/run_test_seqkit_02_sort.sh.round1.out","benchmark/seqkit_file_size/tmp_result/run_test_seqkit_02_sort.sh.round2.out","benchmark/seqkit_file_size/tmp_result/run_test_seqkit_02_sort.sh.round3.out","benchmark/seqkit_multi_threads/benchmark.5tests.tsv","benchmark/seqkit_multi_threads/benchmark.5tests.tsv.png","benchmark/seqkit_multi_threads/plot.R","benchmark/seqkit_multi_threads/plot.sh","benchmark/seqkit_multi_threads/run.pl","benchmark/seqkit_multi_threads/run_benchmark_01_revcom.sh","benchmark/seqkit_multi_threads/run_benchmark_02_exctact_by_id_list.sh","benchmark/seqkit_multi_threads/run_benchmark_03_sampling.sh","benchmark/seqkit_multi_threads/run_benchmark_04_remove_duplicated_seqs_by_seq.sh","benchmark/seqkit_multi_threads/run_benchmark_05_subseq_with_bed.sh","benchmark/seqkit_multi_threads/run_test_seqkit_01_shuffle.sh","benchmark/seqkit_multi_threads/run_test_seqkit_02_sort.sh","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_01_revcom.sh.round1.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_01_revcom.sh.round2.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_01_revcom.sh.round3.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_02_exctact_by_id_list.sh.round1.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_02_exctact_by_id_list.sh.round2.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_02_exctact_by_id_list.sh.round3.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_03_sampling.sh.round1.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_03_sampling.sh.round2.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_03_sampling.sh.round3.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round1.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round2.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round3.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_05_subseq_with_bed.sh.round1.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_05_subseq_with_bed.sh.round2.out","benchmark/seqkit_multi_threads/tmp_result/run_benchmark_05_subseq_with_bed.sh.round3.out","benchmark/tmp_result/run_benchmark_01_revcom.sh.round1.out","benchmark/tmp_result/run_benchmark_01_revcom.sh.round2.out","benchmark/tmp_result/run_benchmark_01_revcom.sh.round3.out","benchmark/tmp_result/run_benchmark_02_exctact_by_id_list.sh.round1.out","benchmark/tmp_result/run_benchmark_02_exctact_by_id_list.sh.round2.out","benchmark/tmp_result/run_benchmark_02_exctact_by_id_list.sh.round3.out","benchmark/tmp_result/run_benchmark_03_sampling.sh.round1.out","benchmark/tmp_result/run_benchmark_03_sampling.sh.round2.out","benchmark/tmp_result/run_benchmark_03_sampling.sh.round3.out","benchmark/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round1.out","benchmark/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round2.out","benchmark/tmp_result/run_benchmark_04_remove_duplicated_seqs_by_seq.sh.round3.out","benchmark/tmp_result/run_benchmark_05_subseq_with_bed.sh.round1.out","benchmark/tmp_result/run_benchmark_05_subseq_with_bed.sh.round2.out","benchmark/tmp_result/run_benchmark_05_subseq_with_bed.sh.round3.out","doc/docs/benchmark.md","doc/docs/benchmark/benchmark.5tests.tsv.C.png","doc/docs/benchmark/benchmark.5tests.tsv.png","doc/docs/benchmark/seqkit_file_size/benchmark.seqkit.files_size.tsv.png","doc/docs/benchmark/seqkit_multi_threads/benchmark.5tests.tsv.png","doc/docs/bioinf.md","doc/docs/citations.csv","doc/docs/commands.csv","doc/docs/download.md","doc/docs/downloads.tsv","doc/docs/faq.md","doc/docs/features_overview.tsv","doc/docs/files/PAO1/PAO1.fasta","doc/docs/files/PAO1/PAO1.gb","doc/docs/files/PAO1/PAO1.gtf","doc/docs/files/PAO1/motif_distribution.png","doc/docs/files/PAO1/motifs.fa","doc/docs/files/PAO1/plot_motif_distribution.R","doc/docs/files/favicon.ico","doc/docs/files/hairpin/hairpin.fa.gz","doc/docs/files/hairpin/hairpin.id_hsa.fa.gz.lenbox.png","doc/docs/files/hairpin/hairpin.id_hsa.fa.gz.lendist.png","doc/docs/files/ns.png","doc/docs/files/pos.png","doc/docs/files/sequence-parsing-strategies.png","doc/docs/files/usage/watch.p0.png","doc/docs/files/usage/watch.p1.png","doc/docs/index.md","doc/docs/note.md","doc/docs/seqkit2.jpg","doc/docs/tutorial.md","doc/docs/usage.md","doc/docs/yanlilab.md","doc/mkdocs.yml","go.mod","go.sum","seqkit/cmd/amplicon.go","seqkit/cmd/bam.go","seqkit/cmd/bam_toolbox.go","seqkit/cmd/bed.go","seqkit/cmd/common.go","seqkit/cmd/concat.go","seqkit/cmd/convert.go","seqkit/cmd/dup.go","seqkit/cmd/fa2fq.go","seqkit/cmd/faidx.go","seqkit/cmd/fish.go","seqkit/cmd/fq2fa.go","seqkit/cmd/fx2tab.go","seqkit/cmd/genautocomplete.go","seqkit/cmd/grep.go","seqkit/cmd/head-genome.go","seqkit/cmd/head.go","seqkit/cmd/helper.go","seqkit/cmd/locate.go","seqkit/cmd/logging.go","seqkit/cmd/merge-slides.go","seqkit/cmd/mutate.go","seqkit/cmd/pair.go","seqkit/cmd/pid_alive_unix.go","seqkit/cmd/pid_alive_windows.go","seqkit/cmd/range.go","seqkit/cmd/rename.go","seqkit/cmd/replace.go","seqkit/cmd/restart.go","seqkit/cmd/rmdup.go","seqkit/cmd/root.go","seqkit/cmd/sample.go","seqkit/cmd/sample2.go","seqkit/cmd/sana.go","seqkit/cmd/scat.go","seqkit/cmd/seq.go","seqkit/cmd/seq_detect.go","seqkit/cmd/shuffle.go","seqkit/cmd/sliding.go","seqkit/cmd/sort.go","seqkit/cmd/split.go","seqkit/cmd/split2.go","seqkit/cmd/stat.go","seqkit/cmd/subseq.go","seqkit/cmd/sum.go","seqkit/cmd/tab2fx.go","seqkit/cmd/translate.go","seqkit/cmd/util.go","seqkit/cmd/version.go","seqkit/cmd/watch.go","seqkit/main.go","seqkit/packaging.sh","seqkit2.jpg","tests/Illimina1.5.fq","tests/Illimina1.8.fq.gz","tests/Lactococcus-lactis-phage-BK5-T-ORF25.fasta","tests/SIRV_150601a.fasta","tests/a.fa","tests/b.fa","tests/blank.fx","tests/blank1.fx","tests/c.fa","tests/common_a.fasta","tests/common_b.fasta","tests/common_c.fasta","tests/contigs.fa","tests/d.fq","tests/empty.fx","tests/empty_id_and_seq.fa","tests/empty_id_and_seq2.fa","tests/examples/bam_tool_acc_stats.yml","tests/examples/bam_tool_aln_context.yml","tests/examples/bam_tool_dump.yml","tests/examples/bam_tool_pipeline.yml","tests/hairpin.fa","tests/hairpin.fa.fai","tests/hairpin.fa.gz","tests/hairpin.fa.seqkit.fai","tests/hairpin.fa.xz","tests/hairpin.fa.zst","tests/hsa.fa","tests/mature.fa.gz","tests/miRNA.diff.gz","tests/mouse-p53-cds.fna","tests/nanopore.fq.gz","tests/pcs109_5k.bam","tests/pcs109_5k.bam.bai","tests/pcs109_5k.fq","tests/pcs109_5k_bam_NanoPlot.tsv","tests/pcs109_5k_bam_alignment_length.tsv","tests/pcs109_5k_bam_soft_clips_tab.tsv","tests/pcs109_5k_fish_regression.tsv","tests/pcs109_5k_fq_NanoPlot.tsv","tests/pcs109_5k_prim.bam","tests/pcs109_5k_prim.bam.bai","tests/pcs109_5k_prim_bam_NanoPplot.tsv","tests/pcs109_5k_spliced.bam","tests/pcs109_5k_spliced.bam.bai","tests/primers.tsv","tests/reads_1.fq.gz","tests/reads_2.fq.gz","tests/sana_ground.fas","tests/sana_ground.fq","tests/sana_sep_id.fq","tests/scat_test.tsv","tests/seqs4amplicon.fa","tests/sliding_windows.tsv","tests/test.sh","tests/titin.fas","tests/virus-A.fasta","tests/virus-B.fasta","tests/virus-C.fasta","tests/virus-D.fasta","tests/viruses.fasta","tests/viruses.shuffled.fasta"],"storefront":"/r/shenwei356","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shenwei356/seqkit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}