0.1.0.mp4
- cargo:
cargo install tgv --locked - brew:
brew install zeqianli/tgv/tgv - bioconda:
conda install bioconda::tgv - Pre-built binaries: Github releases
# Browse the hg38 human genome (internet needed)
tgv
# Or your favorite genome (see `tgv list` or `tgv list --more`)
tgv -g cat :q: Quith/j/k/l/y/p: Left / down / up / right / faster left / faster rightW/B/w/b: Next gene / previous gene / next exon / previous exonz/o: Zoom in / out:_gene_/:_chr_:_position_: Go to gene: (e.g.:TP53) / chromosome position (e.g.:1:2345)_number_+_movement_: Repeat movements (e.g.20B: left by 20 genes):ls: Switch chromosomes.- Mouse is supported
If you use a reference genome frequently, downloading a local cache is highly recommended. This makes TGV much faster.
# Cache are in ~/.tgv by default.
tgv download hg38Browse alignments:
# View BAM file aligned to the hg38 human reference genome
tgv sorted.bam
# VCF and BED support
tgv sorted.bam -v variants.vcf -b intervals.bed
# View a indexed remote BAM, starting at TP53, using the hg19 reference genome
tgv s3://my-bucket/sorted.bam -r TP53 -g hg19
# BAM file with no reference genome
tgv non_human.bam -r 1:123 --no-referenceWhy?
Browsing alignment files is essential for genomics. Genomics research is often in the terminal (SSH session to HPCs or the cloud). IGV is popular but cumbersome for remote sessions. Terminal-based applications (1, 2) are not as feature-rich. Rust bioinformatics community is vibrant (3 4) and Ratatui makes powerful terminal UIs. So TGV is born!
How to quit TGV?
Just like vim :) Press Esc to ensure you're in normal mode, then type :q and press Enter.
I'm new to Rust and I want a learning project
Contributing to tgv is a great way to learn Rust. There are many small, isolated components that need improvement, some requiring <10 lines of code change. You can find them by searching for FIXME comments. You can also find issues that are extra friendly to new contributors tagged with "contributor friendly".
I have a bug / Something isn't working
Search the issue tracker and discussions for similar issues.If your issue hasn't been reported already, open an issue and make sure to fill in the template completely.
I have an idea for a feature / I've implemented a feature
Thank you. Because TGV is still at an early stage, API changes frequently, so please coordinate with me in the discord / github discussion before starting to avoid large diffs.