https://github.com/cc2qe/speedseq
Tip revision: 4e60002cb7d6af3afd9fa3236ddfef8a897f29fe authored by Allison Penner Regier on 08 February 2018, 19:09:37 UTC
Merge pull request #125 from hall-lab/new_exclude
Merge pull request #125 from hall-lab/new_exclude
Tip revision: 4e60002
Makefile
export MKFILE_DIR = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
TARGET_BIN=bin
ANNOTATIONS_DIR=annotations
SRC=src
SPEEDSEQ_DIR=$(shell pwd)
BWA_DIR=$(SRC)/bwa
SAMBLASTER_DIR=$(SRC)/samblaster
FREEBAYES_DIR=$(SRC)/freebayes
LUMPY_DIR=$(SRC)/lumpy-sv
SVTYPER_DIR=$(SRC)/svtyper
CNVNATOR_DIR=$(SRC)/CNVnator
SAMTOOLS_VERSION=samtools-1.3.1
SAMTOOLS_DIR=$(SRC)/$(SAMTOOLS_VERSION)
TABIX_DIR=$(SRC)/tabix
VAWK_DIR=$(SRC)/vawk
MBUFFER_DIR=$(SRC)/mbuffer
PARALLEL_DIR=$(SRC)/parallel
BAMKIT_DIR=$(SRC)/bamkit
# all
all:
@echo "" > $(MKFILE_DIR)/install.log
@echo "Installing align module..." >> $(MKFILE_DIR)/install.log
$(MAKE) align
@echo "Done." >> $(MKFILE_DIR)/install.log
@echo "Installing var and somatic modules..." >> $(MKFILE_DIR)/install.log
$(MAKE) var
@echo "Done." >> $(MKFILE_DIR)/install.log
@echo "Installing sv module..." >> $(MKFILE_DIR)/install.log
$(MAKE) sv
@echo "Done." >> $(MKFILE_DIR)/install.log
@echo "Installing realign module..." >> $(MKFILE_DIR)/install.log
$(MAKE) realign
@echo "Done." >> $(MKFILE_DIR)/install.log
@echo "Installation successful" >> $(MKFILE_DIR)/install.log
# modules
align: bwa sambamba samblaster parallel config
var: freebayes tabix vawk parallel config
somatic: var
sv: lumpy sambamba samblaster vawk bamkit tabix svtyper cnvnator config
realign: bwa sambamba samblaster parallel mbuffer bamkit config
# autogenerate speedseq.config
config:
@echo "" > $(TARGET_BIN)/speedseq.config
@echo "SPEEDSEQ_HOME=$(MKFILE_DIR)" >> $(TARGET_BIN)/speedseq.config
@echo "" >> $(TARGET_BIN)/speedseq.config
@echo "# general" >> $(TARGET_BIN)/speedseq.config
@echo "SAMTOOLS=`which samtools`" >> $(TARGET_BIN)/speedseq.config
@echo "SAMBAMBA=$(MKFILE_DIR)/$(TARGET_BIN)/sambamba" >> $(TARGET_BIN)/speedseq.config
@echo "BGZIP=$(MKFILE_DIR)/$(TARGET_BIN)/bgzip" >> $(TARGET_BIN)/speedseq.config
@echo "TABIX=$(MKFILE_DIR)/$(TARGET_BIN)/tabix" >> $(TARGET_BIN)/speedseq.config
@echo "VAWK=$(MKFILE_DIR)/$(TARGET_BIN)/vawk" >> $(TARGET_BIN)/speedseq.config
@echo "PARALLEL=$(MKFILE_DIR)/$(TARGET_BIN)/parallel" >> $(TARGET_BIN)/speedseq.config
@echo "PYTHON=`which python2.7`" >> $(TARGET_BIN)/speedseq.config
@echo "HEXDUMP=`which hexdump`" >> $(TARGET_BIN)/speedseq.config
@echo "" >> $(TARGET_BIN)/speedseq.config
@echo "# align" >> $(TARGET_BIN)/speedseq.config
@echo "BWA=$(MKFILE_DIR)/$(TARGET_BIN)/bwa" >> $(TARGET_BIN)/speedseq.config
@echo "SAMBLASTER=$(MKFILE_DIR)/$(TARGET_BIN)/samblaster" >> $(TARGET_BIN)/speedseq.config
@echo "" >> $(TARGET_BIN)/speedseq.config
@echo "# var/somatic" >> $(TARGET_BIN)/speedseq.config
@echo "FREEBAYES=$(MKFILE_DIR)/$(TARGET_BIN)/freebayes" >> $(TARGET_BIN)/speedseq.config
@echo "VEP=$(MKFILE_DIR)/$(TARGET_BIN)/variant_effect_predictor.pl" >> $(TARGET_BIN)/speedseq.config
@echo "VEP_CACHE_DIR=$(MKFILE_DIR)/$(ANNOTATIONS_DIR)/vep_cache" >> $(TARGET_BIN)/speedseq.config
@echo "" >> $(TARGET_BIN)/speedseq.config
@echo "# sv" >> $(TARGET_BIN)/speedseq.config
@echo "LUMPY=$(MKFILE_DIR)/$(TARGET_BIN)/lumpy" >> $(TARGET_BIN)/speedseq.config
@echo "LUMPYEXPRESS=$(MKFILE_DIR)/$(TARGET_BIN)/lumpyexpress" >> $(TARGET_BIN)/speedseq.config
@echo "PAIREND_DISTRO=$(MKFILE_DIR)/$(TARGET_BIN)/pairend_distro.py" >> $(TARGET_BIN)/speedseq.config
@echo "SVTYPER=$(MKFILE_DIR)/$(TARGET_BIN)/svtyper" >> $(TARGET_BIN)/speedseq.config
@echo "BAMGROUPREADS=$(MKFILE_DIR)/$(TARGET_BIN)/bamgroupreads.py" >> $(TARGET_BIN)/speedseq.config
@echo "BAMFILTERRG=$(MKFILE_DIR)/$(TARGET_BIN)/bamfilterrg.py" >> $(TARGET_BIN)/speedseq.config
@echo "BAMLIBS=$(MKFILE_DIR)/$(TARGET_BIN)/bamlibs.py" >> $(TARGET_BIN)/speedseq.config
@echo "" >> $(TARGET_BIN)/speedseq.config
@echo "# CNVnator" >> $(TARGET_BIN)/speedseq.config
@echo "CNVNATOR_WRAPPER=$(MKFILE_DIR)/$(TARGET_BIN)/cnvnator_wrapper.py" >> $(TARGET_BIN)/speedseq.config
@echo "CNVNATOR=$(MKFILE_DIR)/$(TARGET_BIN)/cnvnator" >> $(TARGET_BIN)/speedseq.config
@echo "ANNOTATE_RD=$(MKFILE_DIR)/$(TARGET_BIN)/annotate_rd.py" >> $(TARGET_BIN)/speedseq.config
@echo "CNVNATOR_CHROMS_DIR=$(MKFILE_DIR)/$(ANNOTATIONS_DIR)/cnvnator_chroms" >> $(TARGET_BIN)/speedseq.config
@echo "" >> $(TARGET_BIN)/speedseq.config
@echo "# realign" >> $(TARGET_BIN)/speedseq.config
@echo "BAMTOFASTQ=$(MKFILE_DIR)/$(TARGET_BIN)/bamtofastq.py" >> $(TARGET_BIN)/speedseq.config
@echo "MBUFFER=$(MKFILE_DIR)/$(TARGET_BIN)/mbuffer" >> $(TARGET_BIN)/speedseq.config
@echo "BAMHEADRG=$(MKFILE_DIR)/$(TARGET_BIN)/bamheadrg.py" >> $(TARGET_BIN)/speedseq.config
@echo "BAMCLEANHEADER=$(MKFILE_DIR)/$(TARGET_BIN)/bamcleanheader.py" >> $(TARGET_BIN)/speedseq.config
# applications
bwa:
$(MAKE) -C $(BWA_DIR)
cp $(BWA_DIR)/bwa $(TARGET_BIN)
sambamba:
cp $(SRC)/sambamba $(TARGET_BIN)
samblaster:
$(MAKE) -C $(SAMBLASTER_DIR)
cp $(SAMBLASTER_DIR)/samblaster $(TARGET_BIN)
freebayes:
$(MAKE) -C $(FREEBAYES_DIR)
cp $(FREEBAYES_DIR)/bin/freebayes $(TARGET_BIN)
lumpy:
$(MAKE) -C $(LUMPY_DIR)
cp $(LUMPY_DIR)/scripts/pairend_distro.py $(TARGET_BIN)
cp $(LUMPY_DIR)/bin/lumpy $(TARGET_BIN)
cp $(LUMPY_DIR)/bin/lumpyexpress $(TARGET_BIN)
cp $(LUMPY_DIR)/scripts/vcfToBedpe $(TARGET_BIN)
svtyper:
cp $(SVTYPER_DIR)/svtyper $(TARGET_BIN)
samtools:
cd $(SAMTOOLS_DIR) && ./configure
$(MAKE) -C $(SAMTOOLS_DIR)
cnvnator: samtools
ifeq ($(ROOTSYS),)
@echo -e "\nWARNING: CNVnator not compiled because the ROOT package is not installed."
@echo "Please see the README for instructions on manually installing ROOT."
else
ln -f -s ../$(SAMTOOLS_VERSION) -T $(CNVNATOR_DIR)/samtools
$(MAKE) -C $(CNVNATOR_DIR)
cp $(CNVNATOR_DIR)/cnvnator $(TARGET_BIN)
endif
tabix:
$(MAKE) -C $(TABIX_DIR)
cp $(TABIX_DIR)/tabix $(TARGET_BIN)
cp $(TABIX_DIR)/bgzip $(TARGET_BIN)
vawk:
cp $(VAWK_DIR)/vawk $(TARGET_BIN)
mbuffer:
cd $(MBUFFER_DIR); ./configure --prefix=$(shell pwd)
$(MAKE) -C $(MBUFFER_DIR)
cp $(MBUFFER_DIR)/mbuffer $(TARGET_BIN)
parallel:
cd $(PARALLEL_DIR); ./configure --prefix=$(shell pwd)
$(MAKE) -C $(PARALLEL_DIR)
cp $(PARALLEL_DIR)/src/parallel $(TARGET_BIN)
bamkit:
cp $(BAMKIT_DIR)/bamtofastq.py $(TARGET_BIN)
cp $(BAMKIT_DIR)/bamheadrg.py $(TARGET_BIN)
cp $(BAMKIT_DIR)/bamgroupreads.py $(TARGET_BIN)
cp $(BAMKIT_DIR)/bamfilterrg.py $(TARGET_BIN)
cp $(BAMKIT_DIR)/bamcleanheader.py $(TARGET_BIN)
cp $(BAMKIT_DIR)/bamlibs.py $(TARGET_BIN)
clean:
rm -f \
bin/bgzip \
bin/sambamba \
bin/cnvnator \
bin/cnvnator2VCF.pl \
bin/cnvnator_wrapper.py \
bin/annotate_rd.py \
bin/freebayes \
bin/lumpy \
bin/lumpyexpress \
bin/pairend_distro.py \
bin/samblaster \
bin/svtyper \
bin/tabix \
bin/vawk \
bin/vcfToBedpe \
bin/bwa \
bin/mbuffer \
bin/parallel \
bin/bamtofastq.py \
bin/bamheadrg.py \
bin/bamgroupreads.py \
bin/bamfilterrg.py \
bin/bamcleanheader.py \
bin/bamlibs.py
$(MAKE) -C $(BWA_DIR) clean
$(MAKE) -C $(SAMBLASTER_DIR) clean
$(MAKE) -C $(FREEBAYES_DIR) clean
$(MAKE) -C $(LUMPY_DIR) clean
$(MAKE) -C $(CNVNATOR_DIR) clean
$(MAKE) -C $(TABIX_DIR) clean
$(MAKE) -C $(MBUFFER_DIR) clean
$(MAKE) -C $(PARALLEL_DIR) clean