Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
include gmsl

ILLUMINA_URL := http://www.niehs.nih.gov/research/resources/assets/docs/artbinchocolatecherrycake031915linux64tgz.tgz
PBSIM_URL := https://pbsim.googlecode.com/files/pbsim-1.0.3-Linux-amd64.tar.gz
DIR_FROM_URL := $(basename $(call last, $(call split, "/", $(1))))
#ILLUMINA_DIR := $(call DIR_FROM_URL, ILLUMINA_URL)
#PBSIM_DIR := $(call DIR_FROM_URL, PBSIM_URL)

pbsim-1.0.3-Linux-amd64.tar.gz:
wget $(PBSIM_URL)

pbsim-1.0.3-Linux-amd64: pbsim-1.0.3-Linux-amd64.tar.gz
tar -xf $<
artbinchocolatecherrycake031915linux64tgz.tgz:
wget $(ILLUMINA_URL)


artbinchocolatecherrycake031915linux64tgz:
define wget_and_untar

$(basename $(call last, $(call split,/, $(1)))): $(call last, $(call split,/, $(1)))
tar -xf $(call last, $(call split,/, $(1)))

$(call last, $(call split,/, $(1))):
wget $(1)
tar -xf $(call last, $(call split,/, $(1)))
endef
s := /
#define wget_and_untar
#$(basename 2):
# wget $(1)$(2)
# tar xf $(2)
#endef

bin/art_illumina:
echo $(call wget_and_untar, $(ILLUMINA_URL))

#bin/pbsim:
# $(call wget_and_untar, PBSIM_URL)

43 changes: 43 additions & 0 deletions Shakefile.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import System.Directory(getCurrentDirectory)
import Control.Monad.IO.Class(liftIO)
import Development.Shake.Command(cmd)
import Development.Shake
import Development.Shake.FilePath

bin = "bin"
illuminaUrl = Url "http://www.niehs.nih.gov/research/resources/assets/docs/artbinchocolatecherrycake031915linux64tgz.tgz"
pbsimUrl = Url "https://pbsim.googlecode.com/files/pbsim-1.0.3-Linux-amd64.tar.gz"

illuminaTestOut = ["paired_end_com1.aln" , "paired_end_com1.fq" , "paired_end_com2.aln" , "paired_end_com2.fq" , "paired_end_com.sam"]

newtype Url = Url String

wgetAndUnTar :: Url -> Action ()
wgetAndUnTar (Url url) = do
() <- cmd "wget" url
let tar = reverse $ takeWhile (/= '/') $ reverse url
cmd "tar" "-xf" tar

downloadAndLink :: Url -> FilePath -> FilePath -> Action ()
downloadAndLink url binPath linkPath = do
_ <- wgetAndUnTar url
pwd <- liftIO getCurrentDirectory
cmd "ln" "-s" (pwd </> binPath) linkPath

main :: IO ()
main = shakeArgs shakeOptions{shakeFiles="_build"} $ do
want illuminaTestOut
bin </> "art_illumina" %> \out -> do
downloadAndLink illuminaUrl "art_bin_ChocolateCherryCake/art_illumina" out

bin </> "pbsim" %> \out -> do
downloadAndLink pbsimUrl "pbsim-1.0.3-Linux-amd64/Linux-amd64/bin/pbsim" out

illuminaTestOut &%> \_ -> do
need [bin </> "art_illumina"]
cmd (bin </> "art_illumina") ["-i", "art_bin_ChocolateCherryCake/examples/testSeq.fa", "-o", "./paired_end_com", "-ss", "HS25", "-l", "150", "-f", "10", "-p", "-m", "500", "-s", "10", "-sam"]

["sd_0001.fastq", "sd_0001.maf", "sd_0001.ref"] &%> \_ -> do

need [bin </> "pbsim"]
cmd "pbsim" ["--data-type", "CLR", "--depth", "20", "--model_qc", "data/model_qc_clr", "sample/sample.fasta"]
Loading