Code Monkey home page Code Monkey logo

duplex-sequencing's Introduction

Duplex Sequencing

Duplex Sequencing software Version 3.0 July 11, 2016 Programs by Scott Kennedy(1) (1) Department of Pathology, University of Washington School of Medicine, Seattle, WA 98195

####It is strongly recommended to use UnifiedConsensusMaker.py, as it is faster and easier to use. ####The version outlined in Kennedy et al 2014 can be found in the Nat_Protocols_Version directory

Glossary

Single Stranded Consensus Sequence (SSCS)

A construct created by comparing multiple reads and deciding ambiguities by simple majority.

Duplex Consensus Sequence (DCS)

A construct created by comparing two SSCSs.

Family

A group of reads that shares the same tag sequence.

Summary of process

UnifiedConsensusMaker is meant to result in the transformation of an unaligned *.bam file derived from data obtained on an Illumina sequencing run into two final *.fastq files that have been collapsed into their final Duplex Consensus Sequences (DCS). This workflow will also generate a file containing a list of every tag that is present and how many times it occurred, as well as a file containing SSCSs that didn't have a mate and were unable to make a DCS (extraConsensus.bam).

Dependencies

The following programs and packages must be installed on your computer.

Package Written with version
Samtools >=1.3.1
Python 2.7.X
Pysam >=0.9.0
MatPlotLib >=1.5.1 (optional)

Input

UnifiedConsensusMaker.py takes an unaligned bam file generated by Picard FastqToSam. Picard version >2.2.X is known to work, but earlier versions are likely to work, as well.

Usage

python UnifiedConsensusMaker.py --input unaligned_bam_file.bam --prefix name

Default values are in brackets

Arguments: -h, --help show this help message and exit

--input IN_BAM Path to unaligned, paired-end, bam file.

--taglen TAG_LEN Length in bases of the duplex tag sequence.[12]

--spacerlen SPCR_LEN Length in bases of the spacer sequence between duplex tag and the start of target DNA. [5]

--tagstats output tagstats file

--minmem MINMEM Minimum number of reads allowed to comprise a consensus. [3]

--maxmem MAXMEM Maximum number of reads allowed to comprise a consensus. [200]

--cutoff CUTOFF Percentage of nucleotides at a given position in a read that must be identical in order for a consensus to be called at that position. [0.7]

--Ncutoff NCUTOFF With --filt 'n', maximum fraction of Ns allowed in a consensus [1.0]

--write-sscs Print the SSCS reads to file in FASTQ format [False]

--without-dcs Don't print final DCS reads [False]

--rep_filt REP_FILT Remove tags with homomeric runs of nucleotides of length x. [9]

--prefix PREFIX Sample name to uniquely identify samples that will be appended as a prefix to the output files [None]

Required arguments are --input and --prefix.

Data Outputs

Default output are two fastq files consisting of the final DCS with the reads in the read 1 and read 2 fastq files being in register for proper paired-end analysis. The header line of each entry consists of the tag in alpha/beta or beta/alpha format (see Schmitt et al 2012 and Kennedy et al 2014 for details) such that the first half of the tag is always alphanumerically "less than" the second half. The third line indicates the number of reads that make up the SSCS that go on to form the final DCS. UnifiedConsensusMaker.py also calculates the final quality score for each position based on the quality scores of the underlying raw reads. If a quality score is found to be >Q40 (almost all are), the quality score is capped at 'J', which is the highest quality score currently supported by Illumina.

If --write-sscs is invoked, two fastq files are produced, one for each read. These reads are in register for paired-end sequencing and can be directly aligned using the aligner of your choice. Similarly to the DCS, the quality score is calculated from the raw reads and capped at a maximum value of Q40.

If --tagstats is invoked, a plots of the family size and the correlation between the family sizes that make up a DCS are generated. This option requires that MatPlotLib be installed.

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.