Skip to main content

No project description provided

Project description

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

  • BAM
  • Bed
  • Depth file generated by samtools depth
  • bigBed [pyBigWig required]
  • bigWig [pyBigWig required]
  • naive Hi-C format [hicmatrix required]

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

Note: if segment fault with multiple processing, please try to use docker image, or just run with -p 1.

  1. install from bioconda

    conda install -c bioconda -c conda-forge trackplot
    
    # or install trackplot into an isolated environments
    conda create -n sashimi -c bioconda -c conda-forge trackplot
    
    # or install latest trackplot  
    git clone https://github.com/ygidtu/trackplot.git sashimi
    cd sashimi
    conda create -n sashimi -f environment.yaml
    
  2. install from PyPi

    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`
    
    # optional, enable bigWig, bigBed and hicMatrix support
    pip install pybigwig hicmatrix
    
  3. using docker image

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

    git clone https://github.com/ygidtu/trackplot sashimi
    cd sashimi
    pip install -r requirements.txt
    python setup.py install
    
    # optional, enable bigWig, bigBed and hicMatrix support
    pip install pybigwig hicmatrix
    
    sashimipy --help
    # or
    python main.py --help
    
  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 sashimi
    cd sashimi/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. Sashimi.py: a flexible toolkit for combinatorial analysis of genomic data. bioRxiv 2022.11.02.514803.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trackplot-0.1.6.tar.gz (112.6 kB view details)

Uploaded Source

File details

Details for the file trackplot-0.1.6.tar.gz.

File metadata

  • Download URL: trackplot-0.1.6.tar.gz
  • Upload date:
  • Size: 112.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for trackplot-0.1.6.tar.gz
Algorithm Hash digest
SHA256 22907b557c5daa379dfd4d6444e068c69a2a30b856ae802c823504ae2d7eedfa
MD5 b40585ae9080075cbfc0cfbc5a7aa02f
BLAKE2b-256 01594d17c400864a5660c8ee7552a20d99ccb6e46c38ceed4e65ed062a1213b6

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page