Giter Club home page Giter Club logo

nanocompore_pipeline's Introduction

Nanocompore pipeline

This repo contains the code for running the Nanocompore analysis workflow using Nextflow.

Pipeline steps

The pipeline runs the following steps:

  • Basecalls the raw fast5 files using Albacore
  • Run pycoQC on Albacore's output
  • Prepare a fasta file for the reference transcriptome
  • Map the basecalled data to the reference using minimap2
  • Realign the raw signal-level data to the kmers of the reference with Nanopolish
  • Collapse Nanopolish output by kmer using NanopolishComp
  • Run Nanocompore (to be implemented)

All steps are executed in a Conda environment that includes all dependencies.

How to run

Sample annotation

Prepare a tab-separated file that describes the samples:

SampleName  Condition DataPath
Ctrl1       Ctrl      /path/to/fast5dir
Ctrl2       Ctrl      /path/to/fast5dir
Treated1    Trt       /path/to/fast5dir
Treated2    Trt       /path/to/fast5dir

Configure the pipeline

Configure the pipeline by editing the nextflow.config file.

All parameters are described in the comments and should be self explanatory.

The only two options that deserve an explanation are target_trancripts and input_is_basecalled. The former allows you to provide the path to a text file that lists Ensembl transcript IDs of interest. Any transcript not present in this list will be discarded from the reference. input_is_basecalled allows you to start the pipeline after the Albacore step. In order for this to work, the paths in the sample annotation file must point to basecalled fast5 files.

Run the pipeline

To run the pipeline just execute: nextflow run pipeline.nf

Profiles

The pipeline is shipped with 2 profiles: local (default) and yoda, which respectively run the processing on the local machine or on the Yoda HPC cluster at the EBI-EMBL. The local profile limits the number of cuncurrent tasks to 10, which is reduced to 2 and 3 for Albacore and Nanopolish respectively. The Yoda profile if configured to use the LSF executor with dynamic memory management.

nanocompore_pipeline's People

Contributors

tleonardi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.