POLAR-seq is a fast and cost-effective method for assessing genome-integrated combinatorial designs through sequencing of pools of long amplicons.
This repository contains the data anlysis pipeline to demultiplex, annotate and visualise the obtained Oxford Nanopore reads.
There are three scripts to run in this order:
- Demultiplexing
- Lifting (=annotating)
- Visualising results
The explanations below will help users with ample to little coding proficiency to analyse their data.
- git clone --recurse-submodules https://github.com/Tom-Ellis-Lab/POLAR-seq.git
We use conda as the package manager and environment management system.
-
Install conda: https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html#managing-python --> we use Miniforge: https://conda-forge.org/download/
-
Create a new environment using environment_polarseq.yml:
conda env create --file environment_polarseq3.yml
The first line of the yml file sets the new environment's name (hence if you want a different name you need to manually change it before you create the environment).
conda activate <your_env_name>
-
Install pip within your environment
conda install pip
-
Clone the Porechop repository (NB: you need to do this because some files inside Porechop require manual modifications for the demultiplexing step)
git clone https://github.com/rrwick/Porechop.git
cd Porechoppython3 setup.py install
-
To check you have the correct environment:
conda env list
Two reference files are needed for Liftoff to annotate sequences to specification:
- A fasta file which contains all the names and respective sequences of the parts (e.g. ref_VIO.fa)
- A gff file (tab separated text file saved with a .gff extension) which contains the following columns (e.g. ref_VIO.gff):
- column 1: seqid (= name)
- column 2: source (= name)
- column 3: type (= gene)
- column 4: start (= 1)
- column 5: end (= sequence length)
- column 6: score (= .)
- column 7: strand (= + or -)
- column 8: phase (= .)
- column 9: attribute (= Name=name)
- Open Porechop>porechop>adapters.py
- Modify the following lines to contain your forward primer (and its reverse complement below)
ADAPTERS = [Adapter('Barcode 053 (forward)', start_sequence=('BC053', 'ACATAAATGCAACATAGGCAGCATGG'), end_sequence=('BC053_rev', 'CCATGCTGCCTATGTTGCATTTATGT'))]
- Save and repeat the first 2 steps in Porechop2>porechop>adapters.py with your reverse primer