Skip to content
This repository was archived by the owner on Aug 29, 2023. It is now read-only.

Commit

Permalink
pulled from chip pipeline code from ihec-assay-standards/commit/40aa3…
Browse files Browse the repository at this point in the history
…1f8b715d5215d162770863a3260706bdb0c
  • Loading branch information
sitag committed Apr 1, 2019
1 parent ac161ea commit f10e902
Show file tree
Hide file tree
Showing 24 changed files with 1,233 additions and 2 deletions.
Binary file added ChIP-Seq_pipeline_proposal.pdf
Binary file not shown.
2 changes: 0 additions & 2 deletions README.md

This file was deleted.

250 changes: 250 additions & 0 deletions encode-wrapper/backend.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
include required(classpath("application"))

backend {
default = "Local"
providers {

slurm_singularity {
actor-factory = "cromwell.backend.impl.sfs.config.ConfigBackendLifecycleActorFactory"
config {
script-epilogue = "sleep 30"
concurrent-job-limit = 50
runtime-attributes = """
Int cpu = 1
Int? gpu
Int? time
Int? memory_mb
String? slurm_partition
String? slurm_account
String? slurm_extra_param
String singularity_container
String? singularity_bindpath
"""
submit = """
ls ${singularity_container} $(echo ${singularity_bindpath} | tr , ' ') 1>/dev/null && (sbatch \
--export=ALL \
-J ${job_name} \
-D ${cwd} \
-o ${out} \
-e ${err} \
${"-t " + time*60} \
-n 1 \
--ntasks-per-node=1 \
${"--cpus-per-task=" + cpu} \
${"--mem=" + memory_mb} \
${"-p " + slurm_partition} \
${"--account " + slurm_account} \
${"--gres gpu:" + gpu} \
${slurm_extra_param} \
--wrap "chmod u+x ${script} && SINGULARITY_BINDPATH=$(echo ${cwd} | sed 's/cromwell-executions/\n/g' | head -n1),${singularity_bindpath} singularity exec --home ${cwd} ${if defined(gpu) then '--nv' else ''} ${singularity_container} ${script}")
"""
kill = "scancel ${job_id}"
check-alive = "squeue -j ${job_id}"
job-id-regex = "Submitted batch job (\\d+).*"
}
}

sge_singularity {
actor-factory = "cromwell.backend.impl.sfs.config.ConfigBackendLifecycleActorFactory"
config {
script-epilogue = "sleep 30 && sync"
concurrent-job-limit = 50
runtime-attributes = """
String sge_pe = "shm"
Int cpu = 1
Int? gpu
Int? time
Int? memory_mb
String? sge_queue
String? sge_extra_param
String singularity_container
String? singularity_bindpath
"""
submit = """
ls ${singularity_container} $(echo ${singularity_bindpath} | tr , ' ') 1>/dev/null && (echo "chmod u+x ${script} && SINGULARITY_BINDPATH=$(echo ${cwd} | sed 's/cromwell-executions/\n/g' | head -n1),${singularity_bindpath} singularity exec --home ${cwd} ${if defined(gpu) then '--nv' else ''} ${singularity_container} ${script}" | qsub \
-S /bin/sh \
-terse \
-b n \
-N ${job_name} \
-wd ${cwd} \
-o ${out} \
-e ${err} \
${if cpu>1 then "-pe " + sge_pe + " " + cpu else " "} \
${"-l h_vmem=" + memory_mb/cpu + "m"} \
${"-l s_vmem=" + memory_mb/cpu + "m"} \
${"-l h_rt=" + time*3600} \
${"-l s_rt=" + time*3600} \
${"-q " + sge_queue} \
${"-l gpu=" + gpu} \
${sge_extra_param} \
-V)
"""
kill = "qdel ${job_id}"
check-alive = "qstat -j ${job_id}"
job-id-regex = "(\\d+)"
}
}

singularity {
actor-factory = "cromwell.backend.impl.sfs.config.ConfigBackendLifecycleActorFactory"
config {
script-epilogue = "sleep 5 && sync"
concurrent-job-limit = 10
runtime-attributes = """
Int? gpu
String singularity_container
String? singularity_bindpath
"""
submit = """
ls ${singularity_container} $(echo ${singularity_bindpath} | tr , ' ') 1>/dev/null && (chmod u+x ${script} && SINGULARITY_BINDPATH=$(echo ${cwd} | sed 's/cromwell-executions/\n/g' | head -n1),${singularity_bindpath} singularity exec --home ${cwd} ${if defined(gpu) then '--nv' else ''} ${singularity_container} ${script} & echo $! && disown)
"""
job-id-regex = "(\\d+)"
check-alive = "ps -ef | grep -v grep | grep ${job_id}"
kill = "kill -9 ${job_id}"
}
}

Local {
actor-factory = "cromwell.backend.impl.sfs.config.ConfigBackendLifecycleActorFactory"
config {
concurrent-job-limit = 10
}
}

sge {
actor-factory = "cromwell.backend.impl.sfs.config.ConfigBackendLifecycleActorFactory"
config {
script-epilogue = "sleep 30 && sync"
concurrent-job-limit = 50
runtime-attributes = """
String sge_pe = "shm"
Int cpu = 1
Int? gpu
Int? time
Int? memory_mb
String? sge_queue
String? sge_extra_param
"""
submit = """
qsub \
-S /bin/sh \
-terse \
-b n \
-N ${job_name} \
-wd ${cwd} \
-o ${out} \
-e ${err} \
${if cpu>1 then "-pe " + sge_pe + " " + cpu else " "} \
${"-l h_vmem=" + memory_mb/cpu + "m"} \
${"-l s_vmem=" + memory_mb/cpu + "m"} \
${"-l h_rt=" + time*3600} \
${"-l s_rt=" + time*3600} \
${"-q " + sge_queue} \
${"-l gpu=" + gpu} \
${sge_extra_param} \
-V \
${script}
"""
kill = "qdel ${job_id}"
check-alive = "qstat -j ${job_id}"
job-id-regex = "(\\d+)"
}
}

slurm {
actor-factory = "cromwell.backend.impl.sfs.config.ConfigBackendLifecycleActorFactory"
config {
script-epilogue = "sleep 30"
concurrent-job-limit = 50
runtime-attributes = """
Int cpu = 1
Int? gpu
Int? time
Int? memory_mb
String? slurm_partition
String? slurm_account
String? slurm_extra_param
"""
submit = """
sbatch \
--export=ALL \
-J ${job_name} \
-D ${cwd} \
-o ${out} \
-e ${err} \
${"-t " + time*60} \
-n 1 \
--ntasks-per-node=1 \
${"--cpus-per-task=" + cpu} \
${"--mem=" + memory_mb} \
${"-p " + slurm_partition} \
${"--account " + slurm_account} \
${"--gres gpu:" + gpu} \
${slurm_extra_param} \
--wrap "/bin/bash ${script}"
"""
kill = "scancel ${job_id}"
check-alive = "squeue -j ${job_id}"
job-id-regex = "Submitted batch job (\\d+).*"
}
}

google {
actor-factory = "cromwell.backend.impl.jes.JesBackendLifecycleActorFactory"
config {
# Google project
project = "your-project-name"

# Base bucket for workflow executions
root = "gs://your-bucket-name"

concurrent-job-limit = 1000
genomics-api-queries-per-100-seconds = 1000
maximum-polling-interval = 600

genomics {
auth = "application-default"
compute-service-account = "default"
endpoint-url = "https://genomics.googleapis.com/"
restrict-metadata-access = false
}

filesystems {
gcs {
auth = "application-default"
}
}
}
}
}
}

services {
LoadController {
class = "cromwell.services.loadcontroller.impl.LoadControllerServiceActor"
config {
# disable it (for login nodes on Stanford SCG, Sherlock)
control-frequency = 21474834 seconds
}
}
}

system {
abort-jobs-on-terminate = true
graceful-server-shutdown = true
}

call-caching {
enabled = false
invalidate-bad-cache-results = true
}

google {
application-name = "cromwell"
auths = [
{
name = "application-default"
scheme = "application_default"
}
]
}
24 changes: 24 additions & 0 deletions encode-wrapper/cemt0007_h3k27me3_mnt_ext_0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"chip.choose_ctl.always_use_pooled_ctl": true,
"chip.ctl_fastqs": [
[
[
"/mnt/ext_1/test_data/ChIP-Seq.IX1239-A26691-TCATTC.134224.D2B0LACXX.2.1.fastq.gz",
"/mnt/ext_1/test_data/ChIP-Seq.IX1239-A26691-TCATTC.134224.D2B0LACXX.2.2.fastq.gz"
]
]
],
"chip.fastqs": [
[
[
"/mnt/ext_1/test_data/ChIP-Seq.IX1239-A26688-GGCTAC.134224.D2B0LACXX.2.1.fastq.gz",
"/mnt/ext_1/test_data/ChIP-Seq.IX1239-A26688-GGCTAC.134224.D2B0LACXX.2.2.fastq.gz"
]
]
],
"chip.genome_tsv": "/mnt/ext_0/test_genome_database/hg38_local.tsv",
"chip.paired_end": true,
"chip.pipeline_type": "histone",
"chip.qc_report.desc": "CEMT0007_MCF10A H3K27me3",
"chip.qc_report.name": "CEMT0007_MCF10A-H3K27me3"
}
16 changes: 16 additions & 0 deletions encode-wrapper/cemt0007_h3k27me3_template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"chip.pipeline_type" : "histone",
"chip.genome_tsv" : "{0}/test_genome_database/hg38_local.tsv",
"chip.fastqs" : [
[["{0}/v2/ihec/test_data/ChIP-Seq.IX1239-A26688-GGCTAC.134224.D2B0LACXX.2.1.fastq.gz",
"{0}/v2/ihec/test_data/ChIP-Seq.IX1239-A26688-GGCTAC.134224.D2B0LACXX.2.2.fastq.gz"]]
],
"chip.ctl_fastqs" : [
[["{0}/v2/ihec/test_data/ChIP-Seq.IX1239-A26691-TCATTC.134224.D2B0LACXX.2.1.fastq.gz",
"{0}/v2/ihec/test_data/ChIP-Seq.IX1239-A26691-TCATTC.134224.D2B0LACXX.2.2.fastq.gz"]]
],
"chip.paired_end" : true,
"chip.choose_ctl.always_use_pooled_ctl" : true,
"chip.qc_report.name" : "CEMT0007_MCF10A-H3K27me3",
"chip.qc_report.desc" : "CEMT0007_MCF10A H3K27me3"
}
24 changes: 24 additions & 0 deletions encode-wrapper/cemt0007_h3k4me3_mnt_ext_0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"chip.choose_ctl.always_use_pooled_ctl": true,
"chip.ctl_fastqs": [
[
[
"/mnt/ext_1/test_data/ChIP-Seq.IX1239-A26691-TCATTC.134224.D2B0LACXX.2.1.fastq.gz",
"/mnt/ext_1/test_data/ChIP-Seq.IX1239-A26691-TCATTC.134224.D2B0LACXX.2.2.fastq.gz"
]
]
],
"chip.fastqs": [
[
[
"/mnt/ext_1/test_data/ChIP-Seq.IX1239-A28471-ATCACG.134224.D2B0LACXX.2.1.fastq.gz",
"/mnt/ext_1/test_data/ChIP-Seq.IX1239-A28471-ATCACG.134224.D2B0LACXX.2.2.fastq.gz"
]
]
],
"chip.genome_tsv": "/mnt/ext_0/test_genome_database/hg38_local.tsv",
"chip.paired_end": true,
"chip.pipeline_type": "histone",
"chip.qc_report.desc": "CEMT0007_MCF10A H3K4me3",
"chip.qc_report.name": "CEMT0007_MCF10A-H3K4me3"
}
16 changes: 16 additions & 0 deletions encode-wrapper/cemt0007_h3k4me3_template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"chip.pipeline_type" : "histone",
"chip.genome_tsv" : "{0}/test_genome_database/hg38_local.tsv",
"chip.fastqs" : [
[["{0}/v2/ihec/test_data/ChIP-Seq.IX1239-A28471-ATCACG.134224.D2B0LACXX.2.1.fastq.gz",
"{0}/v2/ihec/test_data/ChIP-Seq.IX1239-A28471-ATCACG.134224.D2B0LACXX.2.2.fastq.gz"]]
],
"chip.ctl_fastqs" : [
[["{0}/v2/ihec/test_data/ChIP-Seq.IX1239-A26691-TCATTC.134224.D2B0LACXX.2.1.fastq.gz",
"{0}/v2/ihec/test_data/ChIP-Seq.IX1239-A26691-TCATTC.134224.D2B0LACXX.2.2.fastq.gz"]]
],
"chip.paired_end" : true,
"chip.choose_ctl.always_use_pooled_ctl" : true,
"chip.qc_report.name" : "CEMT0007_MCF10A-H3K4me3",
"chip.qc_report.desc" : "CEMT0007_MCF10A H3K4me3"
}
Loading

0 comments on commit f10e902

Please sign in to comment.