---
# Configuration file specifying system details for running an analysis pipeline
# These pipeline apply generally across multiple projects. Adjust them in sample
# specific configuration files when needed.

# -- Base setup

# General attributes that apply across multiple pipelines.
algorithm:
  aligner: bowtie
  max_errors: 2
  platform: illumina
  recalibrate: false
  snpcall: false
  bc_mismatch: 2
  bc_allow_indels: true
  bc_illumina_no_trailing: true
  bc_read: 1
  bc_position: 3
  java_memory: 6g
  upload_fastq: false
  save_diskspace: true

# Configuration algorithm changes for specific pipelines.
custom_algorithms:
  variant:
    aligner: bwa
    recalibrate: true
    snpcall: true
    coverage_depth: "high" # other options: low
    coverage_interval: "exome" # other options: genome, regional
    dbsnp: variation/dbsnp_137.vcf
    train_hapmap: variation/hapmap_3.3.vcf
    train_1000g_omni: variation/1000G_omni2.5.vcf
    train_indels: variation/Mills_and_1000G_gold_standard.indels.vcf
    call_background: variation/background-diversity-1000g.vcf.gz
  'RNA-seq':
    aligner: tophat
    transcript_assemble: true
    transcripts: rnaseq/ref-transcripts.gtf
    transcripts_mask: rnaseq/ref-transcripts-mask.gtf
  'Minimal':
    aligner: ""
    
# Define resources to be used for individual programs on multicore machines.
# These can be defined specifically for memory and processor availability.
# - memory: Specify usage for memory intensive programs
# - cores: Define cores that can be used for multicore programs.
# - jvm_opts: specify details
# - cmd: Command to launch the program, if not located on PATH.
# - dir: Directory containing program associated data. Especially useful for
#        java jars
resources:
  log:
    dir: log
  ucsc_bigwig:
    memory: 36g
  bwa:
    cores:
    cmd: bwa
  novoalign:
    cores: 16
    memory: 4G
  gatk:
    jvm_opts: ["-Xms2g", "-Xmx4g"]
    dir: /usr/share/java/gatk
    cores: 12
  picard:
    jvm_opts: ["-Xms2g", "-Xmx4g"]
    dir: /usr/share/java/picard
  snpEff:
    jvm_opts: ["-Xms2g", "-Xmx6g"]
    dir: /usr/share/java/snpeff
  bcbio_variation:
    dir: /usr/share/java/bcbio_variation

# -- Additional options for specific integration, not required for standalone usage.

# Galaxy integration. Required for upload/download from a Galaxy instance.
galaxy_url: http://your/galaxy/url
galaxy_api_key: your_galaxy_api_key
galaxy_config: universe_wsgi.ini

# Distribution details for RabbitMQ/celery distribution on a cluster.
# Only required if using this method, which is deprecated in favor of IPython clusters.
distributed:
  cluster_platform: lsf
  platform_args: '-q your_queue_name'
  cores_per_host: 1 # 0 uses all cores, otherwise can configure for architecture
  # num_workers: 2 # only required if cores_per_host is 0, otherwise use all needed
  rabbitmq_vhost: bionextgen

# Details for hooking automated processing to a sequencer machine.
# Not required if running standalone pipelines.
analysis:
  # Can specify a different remote host to initiate
  # the copy from. This is useful for NFS shared filesystems
  # where you want to manage the copy from the base machine.
  copy_user:
  copy_host:
  store_dir: /store4/solexadata
  base_dir: /array0/projects/Sequencing
  upload_program: upload_to_galaxy.py
  worker_program: nextgen_analysis_server.py
