# Swan

![](https://3656348900-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M9KUTUjCQUdc3gJSNHJ%2Fsync%2F3c837e7f7df037343ed62f2c169413a55c128082.png?generation=1591662624481030\&alt=media)

Swan is a Python library designed for the analysis and visualization of transcriptomes, especially with long-read transcriptomes in mind. Users can add transcriptomes from different datasets and explore distinct splicing and expression patterns across datasets.

Please visit the [Swan repository](https://github.com/mortazavilab/swan_vis) to download and view the source code

Also see the [Swan manuscript repository](https://github.com/fairliereese/swan_paper) for the exact commands used to do the analysis in our [publication](https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btaa836/5912931).

Also see our [website](https://freese.gitbook.io/swan/) for in-depth tutorials and documentation

## What can Swan do?

Swan can make informative plots, find differentially expressed genes and transcripts, find isoform-switching genes, and discover novel exon skipping and intron retention events.

## Installation

Swan can be installed directly from PyPi. To install Swan's most recent release, run

`pip install swan_vis`

Alternatively, the most recent commits can be installed by git cloning [the Swan repository](https://github.com/fairliereese/swan_vis), moving to the swan\_vis directory, and running

`pip install .`

## Tutorials

* [Data preprocessing with TALON](https://freese.gitbook.io/swan/tutorials/data_processing)
* [Getting started](https://freese.gitbook.io/swan/tutorials/getting_started): how to load data into Swan
* [Visualization tools](https://freese.gitbook.io/swan/tutorials/visualization): make gene and transcript-level plots to visualize the complexity of alternative splicing
* [Analysis tools](https://freese.gitbook.io/swan/tutorials/analysis_tools): find differentially expressed genes and transcripts; find isoform-switching genes, discover novel intron retention and exon skipping events
* [Scanpy compatibility](https://freese.gitbook.io/swan/tutorials/scanpy_compatibility): Some brief examples of how to use external Scanpy plotting functions on Swan objects

## FAQs

* [Understanding Swan visualizations](https://freese.gitbook.io/swan/faqs/understanding_swan_vis)
* [Additional utilities](https://freese.gitbook.io/swan/faqs/utilities)
* [SwanGraph data structure](https://freese.gitbook.io/swan/faqs/data_structure)
* [Input file format specifications](https://freese.gitbook.io/swan/faqs/file_formats)

## Comprehensive Documentation

For full documentaion, please visit [our website](https://freese.gitbook.io/swan/)

Logo by the wonderful [Eamonn Casey](https://www.instagram.com/designsbyeamonn/)
