demo.mp4
TGV is at a very early stage so expect bugs. Please don't rely on it for your papers (yet) :)
Contribution and bug reports are welcome! Join our Discord to discuss ideas.
- cargo (recommended):
cargo install tgv
- 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_
: Go to gene: (e.g.:TP53
):_chr_:_position_
: Go to a chromosome position (e.g.:1:2345
)_number_
+_movement_
: Repeat movements (e.g.20B
: left by 20 genes):ls
: Switch chromosomes.
Optional: If you use a reference genome frequently, creating a local cache is highly recommended. This makes TGV much faster and reduces UCSC server load.
# Cache are in ~/.tgv by default.
tgv download hg38
Browse alignments:
# View BAM file aligned to the hg38 human reference genome
tgv sorted.bam
# 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-reference
-
Why?
Browsing alignment files to compare sequences is essential for genomics research. Omics 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 super vibrant (3, 4) and Ratatui makes powerful terminal UIs. So TGV is born!
-
How to quit TGV?
Just like vim :) PressEsc
to ensure you're in normal mode, then type:q
and press Enter.