Using Flexbar program to remove adapter sequences from NGS reads

Installing the Flexbar Executable on Mac

  1. Go to Flexbar home page select the newest version (2.5 as of 8-12-14).
  2. Download _macosx.tgz file.
  3. Move downloaded file to more permanent location (ie source)
  4. Extract downloaded file.
  5. Extracted folder should contain 3 things:
    1. README.txt
    2. flexbar
    3. libtbb.dylib
  6. copy flexbar to your path, or add extracted folder to path.
    • suggest copying to $HOME/local/bin
  7. modify your .profile ($HOME/.profile) to include the following if not included already
    1. export PATH=$HOME/local/bin:$PATH
    2. export DYLD_LIBRARY_PATH="PATH-TO-YOUR-EXTRACTED-FOLDER":$DYLD_LIBRARY_PATH
      • replace everything including the quotation marks with the actual location of your extracted folder.
  8. open new terminal and flexbar should be working

Installing Flexbar from the Source Code on Mac

Last tested on 31 Aug 2014.

  1. Use MacPorts to install any programs you need.
    port install cmake
    port install tbb
  2. Download the source code.
    svn export https://svn.code.sf.net/p/flexbar/code/trunk Flexbar
    cd Flexbar
    svn export -r 14262 https://github.com/seqan/seqan/trunk/core/include
  3. Add certain headers to your path
    source /opt/local/bin/tbbvars.sh
  4. Compile:
    cmake .
    make
  5. Copy the flexbar executable to your $PATH. There is no need to worry about the libtbb.dylib location when flexbar is installed this way.

Installing Flexbar on TACC

  • Currently Flexbar is installed on TACC under the BioITeam, but is only accessable as a job (que or idev) on lonestar. Stampede requires running on head node (bad idea) or copying it to a local directory in your path. Below are instructions for installing it yourself instead.
  1. Go to Flexbar home page select the newest version (2.5 as of 8-12-14).
  2. Right click *_linux64.tgz and select 'copy link location'.
  3. Log onto TACC
  4. cd $WORK/src
  5. wget "paste link location"
  6. tar xvzf flexbar*.tgz
  7. cd "new folder"
    • cd flexbar_v2.31_linux64
  8. cp flexbar $HOME/local/bin
  9. vi $HOME/.profile_user
    • Add the following if not already present:
      1. export PATH=$HOME/local/bin:$PATH
      2. export LD_LIBRARY_PATH=$WORK/src/flexbar_v2.31_linux64:$LD_LIBRARY_PATH
        • optionally, can move flexbar to any location in your path, and can move libtbb.so.2 to any location in LD_LIBRARY_PATH
  10. logout
  11. Log back onto TACC
  12. flexbar -h
  13. If the help manual appears flexbar should be ready to use. If you get an error message see below, and check that $PATH and $LD_LIBRARY_PATH include the locations of the relevant files.

If you try installing from source, you may need to switch to the gcc compiler (module swap intel gcc)

Command line usage for removal of adapter sequences

The following does not apply to standard illumina sequencing libraries including MiSeq runs. DNAzyme project (this involved constant non-informative regions flanking each side of a library) revealed unexpected flexbar behavior. Specifically both the left and right ends of a single sequence can not be modified in a single pass. All "adapter" sequences are aligned to each read at once, and the sequence with the best alignment is acted on. This means that in a single pass only the left or right adapter can be trimmed. To avoid this recommend that 2 passes are performed: left, then right. Generic command for performing maximal (aggressive) trimming. Replace everything between "" with appropriate names, and delete the "" marks:

flexbar -t "New_file_name" -r "read_1_file_name" -p "read_2_file_name" -f fastq -a "fasta_file_of_adapter_sequences" -ao 1

Example command:

flexbar -t DED81 -r 02_Downloads/Sample_DED81_L004_R1.cat.fastq -p 02_Downloads/Sample_DED81_L004_R2.cat.fastq -f fastq -a 02_trimmed_Downloads/adapter_seq.fasta -u 101 -ao 1

For a less aggressive command, remove -ao 1.

Choice of adaptor sequence file

For most data sets analyzed in the lab, the Illumina Truseq adaptors file is the correct one to use (attached file: illumina_truseq.fasta).

Flag explanations

Flag Text to follow What flag means Reason
-t New_file_name Name of output file. Dictate what your output file is to be named. Suggest something different than input to avoid overwriting untrimmed.
-r R1_source_file_name Name of Read1 sequencing file. File to remove adapters from.
-p R2_source_file_name Name of Read2 sequencing file.(Optional: can do each file separately). File to remove adapters from.
-f Format Format of reads. Most commonly will be fasta or fastq.
-a Adapter_sequence_file.fasta Fasta file with full adapter sequences, degenerate bases allowed. What sequence is to be removed.
-ao Number Number of bases of overlap between read and adapter This number equals the minimum number of bp to be removed.
-u Number Number of N's allowed in final sequence. By default 0 Ns allowed. Breseq handles Ns therefore reads should/can be retained.
-at Number Number of mismatches and indels per 10bp of adapter sequence allowed This accounts for sequencing/PCR errors changing adapter sequence. Default = 3, increasing this number increases false positive rate, and decreases false negative rate.

Additional Information

For additional help and options, type flexbar -h

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatfasta gsaf_illumina_adapters.fasta r2 r1 manage 0.4 K 2013-03-11 - 17:29 JeffreyBarrick  
Unknown file formatfasta illumina_nextera.fasta r1 manage 0.2 K 2014-04-25 - 03:45 JeffreyBarrick  
Unknown file formatfasta illumina_truseq.fasta r1 manage 0.1 K 2014-04-18 - 17:22 JeffreyBarrick  
Unknown file formatfasta new_adaptors.fasta r1 manage 0.3 K 2013-05-21 - 16:47 DanielDeatherage fasta_file_of_adapter_sequences 8bp barcode sequences

This topic: Lab > WebHome > ProtocolList > ProtocolsFlexbarCommands
Topic revision: r13 - 2014-08-31 - JeffreyBarrick