Skip to content

Installation

nchernia edited this page Mar 22, 2017 · 23 revisions

Dependencies

  • The latest version of GNU CoreUtils
  • The latest version of the Burrows-Wheeler Aligner (BWA)
  • You must install CUDA for HiCCUPS peak calling, and use an NVIDIA GPU.
  • The native libraries included with Juicer are compiled for CUDA 7. Other versions of CUDA can be used, but you will need to download the respective native libraries from JCuda.
  • For best performance, use a dedicated GPU. You may also be able to obtain access to GPU clusters through Amazon Web Services or a local research institution.
  • You must install the Java 1.7 or 1.8 JDK. (Alternative link for Ubuntu/LinuxMint). Minimum system requirements for running Java can be found at http://java.com/en/download/help/sysreq.xml

Cluster Specification

Juicer requires the use of a cluster, with ideally >= 4 cores (min 1 core) and >= 64 GB RAM (min 16 GB RAM). Juicer currently works with the following resource management software:

Make sure to copy the appropriate scripts from the github repo to your cluster as well as the fastq reads and appropriate reference files.

Directory Structure

See the Box mirror for an easy-to-navigate view of the directory structure.

The following also shows a sample configuration of the all the files and directories on the cluster once Juicer is fully set up. It assumes that all files needed by Juicer are created under /opt/juicer.

You can also access another public mirror of these files by going to https://s3.amazonaws.com/juicerawsmirror/opt/juicer/[paths_below], for example: https://s3.amazonaws.com/juicerawsmirror/opt/juicer/work/HIC003/fastq/HIC003_S2_L001_R1_001.fastq.gz.

# tmp directory
/opt/juicer/tmp

# sample work directory is /opt/juicer/work/HIC003
/opt/juicer/work/HIC003/fastq
/opt/juicer/work/HIC003/fastq/HIC003_S2_L001_R1_001.fastq.gz
/opt/juicer/work/HIC003/fastq/HIC003_S2_L001_R2_001.fastq.gz

# another sample work directory is /opt/juicer/work/MBR19
/opt/juicer/work/MBR19/fastq
/opt/juicer/work/MBR19/fastq/chr19_R1.fastq.gz
/opt/juicer/work/MBR19/fastq/chr19_R2.fastq.gz

# Core Juicer scripts from github in /opt/juicer/scripts
/opt/juicer/scripts/chimeric_blacklist.awk
/opt/juicer/scripts/statistics.pl
/opt/juicer/scripts/stats_sub.awk
/opt/juicer/scripts/split_rmdups.awk
/opt/juicer/scripts/countligations.sh
/opt/juicer/scripts/juicebox
/opt/juicer/scripts/juicebox_tools.jar
/opt/juicer/scripts/juicer_postprocessing.sh
/opt/juicer/scripts/dups.awk
/opt/juicer/scripts/juicer.sh
/opt/juicer/scripts/LibraryComplexity.class
/opt/juicer/scripts/hicInternalMenu.properties
/opt/juicer/scripts/abnormal.awk
/opt/juicer/scripts/check.sh
/opt/juicer/scripts/fragment.pl
/opt/juicer/scripts/makemega_addstats.awk
/opt/juicer/scripts/mega.sh
/opt/juicer/scripts/relaunch_prep.sh
/opt/juicer/scripts/cleanup.sh

# Sequence reference files in /opt/juicer/references
# hg19 and mm9 reference files in mirror
/opt/juicer/references/Homo_sapiens_assembly19.fasta
/opt/juicer/references/Mus_musculus_assembly9_norandom.fasta

Make sure to copy the appropriate scripts from the github repo to your cluster as well as the fastq reads and appropriate reference files.

After running BWA indexing (might take a couple hours) bwa index <fasta file>:

# after running BWA indexing
/opt/juicer/references/Homo_sapiens_assembly19.fasta.sa
/opt/juicer/references/Homo_sapiens_assembly19.fasta.ann
/opt/juicer/references/Homo_sapiens_assembly19.fasta.amb
/opt/juicer/references/Homo_sapiens_assembly19.fasta.pac
/opt/juicer/references/Homo_sapiens_assembly19.fasta.bwt
/opt/juicer/references/Mus_musculus_assembly9_norandom.fasta.bwt
/opt/juicer/references/Mus_musculus_assembly9_norandom.fasta.amb
/opt/juicer/references/Mus_musculus_assembly9_norandom.fasta.pac
/opt/juicer/references/Mus_musculus_assembly9_norandom.fasta.ann
/opt/juicer/references/Mus_musculus_assembly9_norandom.fasta.sa

After building the restriction sites files python generate_site_positions.py <enzyme> <genome ID> <fasta> https://github.com/theaidenlab/juicer/blob/master/misc/generate_site_positions.py

# restriction sites files in /opt/juicer/restriction_sites
/opt/juicer/restriction_sites/mm9_HindIII.txt
/opt/juicer/restriction_sites/mm10_MboI.txt
/opt/juicer/restriction_sites/mm10_DpnII.txt
/opt/juicer/restriction_sites/hg19_MboI.txt
/opt/juicer/restriction_sites/hg38_MboI.txt
/opt/juicer/restriction_sites/hg38_DpnII.txt
/opt/juicer/restriction_sites/hg19_DpnII.txt
/opt/juicer/restriction_sites/hg19_HindIII_new.txt
/opt/juicer/restriction_sites/mm9_DpnII.txt