IsoCon is distributed as a python package supported on Linux / OSX with python v2.7, and versions 3.6-3.8
IsoCon is a tool for reconstructing highly similar sequences present in a dataset of from long noisy reads. Its original use case was transcripts from highly similar gene copies (paper here), however the methodology extends to any dataset where sequences spans the region(s) of interest end-to-end. IsoCon use examples:
Simplest usage is an input file of fastq or fasta containing reads. IsoCon can be run as follows
IsoCon pipeline -fl_reads <reads.fastq> -outfolder </path/to/output>
or
IsoCon pipeline -fl_reads <reads.fasta> -outfolder </path/to/output> --ccs </path/to/filename.ccs.bam>
predicted transcripts are found in file /path/to/output/final_candidates.fa. Reads that could not be corrected or clustered are found in /path/to/output/not_converged.fa.
For more instructions see below.
Conda is the preferred way to install IsoCon.
conda create -n IsoCon python=3.8 pip
conda activate IsoCon
pip install IsoCon
IsoCon --help
Upon start/login to your server/computer you need to activate the conda environment "IsoCon" to run IsoCon as:
conda activate IsoCon
pip
is pythons official package installer. This section assumes you have python
(v2.7 or >=3.6) and a recent version of pip
installed which should be included in most python versions. If you do not have pip
, it can be easily installed from here and upgraded with pip install --upgrade pip
.
With python
and pip
available, create a file requirements.txt
with contents copied from this file. Then, type in terminal
pip install --requirement requirements.txt IsoCon
This should install IsoCon. With proper installation of IsoCon, you should be able to issue the command IsoCon pipeline
to view user instructions. You should also be able to run IsoCon on this small dataset. Simply download the test dataset and run:
IsoCon pipeline -fl_reads [path/simulated_pacbio_reads.fa] -outfolder [output path]
pip
will install the dependencies automatically for you. IsoCon has been built with python 2.7, 3.4-3.6 on Linux systems using Travis. For customized installation of latest master branch, see below.
Make sure the below listed dependencies are installed (installation links below). Versions in parenthesis are suggested as IsoCon has not been tested with earlier versions of these libraries. However, IsoCon may also work with earliear versions of these libaries.
With these dependencies installed. Run
git clone https://github.com/ksahlin/IsoCon.git
cd IsoCon
./IsoCon
IsoCon's algorithm consists of two main phases; the error correction step and the statistical testing step. IsoCon can run these two steps in one go using IsoCon pipeline
, or it can run only the correction or statistical test steps using IsoCon get_candidates
and IsoCon stat_filter
respectively. The preffered and most tested way is to use the entire pipeline IsoCon pipeline
, but the other two settings can come in handy for specific cases. For example, running only IsoCon get_candidates
will give more sequences if one is not concerned about precision and will also be faster, while one might use only IsoCon stat_filter
using different parameters for a set of already constructed candidates in order to prevent rerunning the error correction step.
Using quality values (fastq) is preferred over fasta as IsoCon uses the quality values for statistical analysis.
IsoCon pipeline -fl_reads <reads.fast[a/q]> -outfolder </path/to/output>
The final high quality transcripts are written to the file final_candidates.fa
in the output folder. If there was only one or two reads coming from a transcript, which is sufficiently different from other reads (exon difference), it will be output in the file not_converged.fa
. This file may contain other erroneous reads such as chimeras. The output also contains a file cluster_info.tsv
that shows for each read which candidate it was assigned to in final_candidates.fa
.
Runs only the error correction step. The output is the converged candidates in a fasta file.
IsoCon get_candidates -fl_reads <flnc.fast[a/q]> -outfolder </path/to/output>
Runs only the statistical filtering of candidates.
IsoCon pipeline -fl_reads <flnc.fast[a/q]> -outfolder </path/to/output> -candidates <candidate_transcripts.fa>
Observe that candidate_transcripts.fa
does not have to come from IsoCon's error correction algorithm. For example, this could either be a set of already validated transcripts to which one would like to see if they occur in the reads, or they could be Illumina (or in other ways) corrected CCS reads.
Please cite [1] when using IsoCon.
GPL v3.0, see LICENSE.txt.