Sign inSign up

ygidtu/trackplot

By ygidtu

•Updated 16 days ago

trackplot is a tool for visualizing various next-generation sequencing (NGS) data.

Image
0

1.6K

ygidtu/trackplot repository overview

⁠trackplot

PyPI version PyPI download install with bioconda Documentation Status License: BSD 3-Clause DOI


Tutorials⁠

⁠what is trackplot

trackplot is a tool for visualizing various next-generation sequencing (NGS) data, including DNA-seq, RNA-seq, single-cell RNA-seq and full-length sequencing datasets.

⁠Features of trackplot
  1. Support various file formats as input
  2. Support strand-aware coverage plot
  3. Visualize coverage by heatmap, including HiC diagram
  4. Visualize protein domain based the given gene id
  5. Demultiplex the single-cell RNA/ATAC-seq which used cell barcode into cell population
  6. Support visualizing individual full-length reads in read-by-read style
  7. Support visualize circRNA sequencing data

⁠Input

trackplot supports almost NGS data format, including

⁠Output

The output will be a pdf and other image file formats which satisfy the requirement of the major journals, and each track on output corresponds these datasets from config file.

⁠Usage

The trackplot is written in Python, and user could install it in a variety of ways as follows

⁠Notes
  1. if segment fault with multiple processing, please try to use docker image, or just run with -p 1.
  2. if Please install pyBigWig and hicmatrix occurs, please check the official document of pyBigWig⁠ and hicmatrix⁠ to solve their requirements.
  1. install from PyPi

    # optional, enable bigWig, bigBed and hicMatrix support
    pip install pybigwig hicmatrix
    
    pip install trackplot
    # __Note:__ We noticed some pypi mirrors are not syncing some packages we depend on,
    # therefore please try another pypi mirror once you encounter
    # `No local packages or working download links found for xxx`
    
  2. using docker image

    docker pull ygidtu/trackplot
    docker run --rm ygidtu/trackplot --help
    
    # or build docker image from source
    git clone https://github.com/ygidtu/trackplot trackplot
    cd trackplot
    docker build -t ygidtu/docker .
    docker run --rm ygidtu/trackplot --help
    
  3. install from source code

    git clone https://github.com/ygidtu/trackplot trackplot
    cd trackplot
    pip install -r requirements.txt
    python setup.py install
    
    # optional, enable bigWig, bigBed and hicMatrix support
    pip install pybigwig hicmatrix
    
    trackplot --help
    # or
    python main.py --help
    
  4. install from bioconda

    conda install -c bioconda -c conda-forge trackplot
    
    # or install trackplot into an isolated environments
    conda create -n trackplot -c bioconda -c conda-forge trackplot
    
    # or install latest trackplot
    git clone https://github.com/ygidtu/trackplot.git trackplot
    cd trackplot
    conda create -n trackplot -f environment.yaml
    
  5. for pipenv or poetry users

    git clone https://github.com/ygidtu/trackplot
    cd trackplot
    
    # pipenv
    # create virtualenv and install required packages
    pipenv install
    # optional, with `--pypi-mirror https://pypi.tuna.tsinghua.edu.cn/simple` to specify your faverate PyPi mirror
    # optional, with `--skip-lock` once encounter locking issues
    
    # switch to virtualenv
    pipenv shell && python main.py --help
    
    # or just run with pipenv
    pipenv run python main.py --help
    
    
    # poetry
    # once facing installation issues, please try to change PyPi mirror in tool.poetry.source section of pyproject.toml
    # create virtualenv and install required packages
    poetry install
    
    # switch to virtualenv
    poetry shell  && python main.py --help
    
    # or just run with poetry
    poetry run python main.py --help
    
  6. running from a local webserver

    Install trackplot before set up the web server

    git clone https://github.com/ygidtu/trackplot trackplot
    cd trackplot/web
    
    # build the frontend static files
    npm install -g vue-cli vite && npm install
    vite build
    
    # prepare the backend server
    pip install fastapi pydantic jinja2 uvicorn
    
    python server.py --help
    

⁠Example

The example folder is downloaded from here.⁠ And a more detailed tutorial could be found at here.⁠


python main.py \
  -e chr1:1270656-1284730:+ \
  -r example/example.sorted.gtf.gz \
  --interval example/interval_list.tsv \
  --density example/density_list.tsv \
  --show-site \
  --show-junction-num \
  --igv example/igv.tsv \
  --heatmap example/heatmap_list.tsv \
  --focus 1272656-1272656:1275656-1277656 \
  --stroke 1275656-1277656:1277856-1278656@blue \
  --sites 1271656,1271656,1272656 \
  --line example/line_list.tsv \
  -o example.png \
  --dpi 300 \
  --width 10 \
  --height 1 \
  --barcode example/barcode_list.tsv \
  --domain --remove-duplicate-umi \
  --normalize-format cpm \
  -p 4

here is the output file⁠.

⁠Questions

Visit issues⁠ or contact Yiming Zhang⁠ and Ran Zhou⁠

⁠Citation

If you use Sashimi.py in your publication, please cite Sashimi.py by

Zhang et al. bioRxiv, 2022.11.02.514803.⁠

Tag summary

Content type

Image

Digest

sha256:60d5bfe4e…

Size

214.8 MB

Last updated

16 days ago

docker pull ygidtu/trackplot