diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 2aa41d9..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c62cd28 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea +.DS_Store +ansible/rke/outputs/ diff --git a/ansible/cert-manager.yml b/ansible/cert-manager.yml new file mode 100644 index 0000000..05cf34a --- /dev/null +++ b/ansible/cert-manager.yml @@ -0,0 +1,62 @@ +--- +- hosts: controllers[0] + collections: + - kubernetes.core + tasks: + - name: Create cert-manager namespace + k8s: + kind: Namespace + name: cert-manager + state: present +# command: > +# /usr/local/bin/kubectl create namespace cert-manager +# ignore_errors: true + + - name: Create cert manager CRDs + include_tasks: tasks/k8s-apply.yml + vars: + url: https://raw.githubusercontent.com/jetstack/cert-manager/release-0.11/deploy/manifests/00-crds.yaml +# shell: /usr/local/bin/kubectl apply --validate=false -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.11/deploy/manifests/00-crds.yaml + + - name: Add cert manager helm repo + helm_repository: + name: jetstack + url: https://charts.jetstack.io +# shell: /usr/local/bin/helm repo add jetstack https://charts.jetstack.io +# ignore_errors: true + +# - name: Update Helm repos +# shell: /usr/local/bin/helm repo update + + - name: Render cluster issuer template + k8s: + template: templates/clusterissuer.yaml.j2 + state: present + +# template: +# src: clusterissuer.yaml.j2 +# dest: /tmp/clusterissuer.yaml +# +# - name: Create cert manager cluster issuer +# shell: /usr/local/bin/kubectl apply -f /tmp/clusterissuer.yaml + + - name: Helm install cert-manager + helm: + name: cert-manager + namespace: cert-manager + chart_ref: jetstack/cert-manager + chart_version: "0.11.0" + values: + ingressShim: + defaultIssuerName: letsencrypt-prod + defaultIssuerKind: ClusterIssuer + webhook: + enabled: false +# command: > +# /usr/local/bin/helm upgrade --install cert-manager jetstack/cert-manager +# --namespace "cert-manager" +# --version "0.11.0" +# --set ingressShim.defaultIssuerName="letsencrypt-prod" +# --set ingressShim.defaultIssuerKind="ClusterIssuer" +# --set webhook.enabled=false +# ignore_errors: true diff --git a/ansible/rke/defaults/main.yml b/ansible/rke/defaults/main.yml new file mode 100644 index 0000000..275b516 --- /dev/null +++ b/ansible/rke/defaults/main.yml @@ -0,0 +1,5 @@ +#rke_version: "v1.20.4+rke2r1" +rke_version: "v1.19.9+rke2r1" +rke_container_image: "rancher/rke2-runtime:v1.20.4-rke2r1" +token: /var/lib/rancher/rke2/server/node-token +kubeconfig: /etc/rancher/rke2/rke2.yaml \ No newline at end of file diff --git a/ansible/rke/main.yml b/ansible/rke/main.yml new file mode 100644 index 0000000..cc1eb20 --- /dev/null +++ b/ansible/rke/main.yml @@ -0,0 +1,48 @@ +--- +- name: Configure a Kubernetes cluster using RKE2 + hosts: controllers[0] + become: yes + tags: leader + vars_files: + - defaults/main.yml + tasks: + - name: Setup the leader + include_tasks: tasks/leader.yml + - name: Fetch the kubeconfig file. + fetch: + src: "{{ kubeconfig }}" + dest: outputs/{{ ansible_hostname }}.kube.config + flat: yes + +- name: Load the join token needed by the controllers and agents + hosts: controllers[0] + become: yes + tags: always + vars_files: + - defaults/main.yml + tasks: + - name: Copy the token nodes will need to join the cluster. + slurp: + src: "{{ token }}" + register: join_token + - name: Display the join token + debug: + msg: "Token {{ join_token.content | b64decode}}" + +- name: Configure the rest of the controllers + hosts: controllers[1:] + become: yes + tags: controllers + vars_files: + - defaults/main.yml + tasks: + - include_tasks: tasks/controllers.yml + +- name: Configure the agent nodes + hosts: agents + become: yes + tags: agents + vars: + rke_version: "v1.20.4+rke2r1" + tasks: + - include_tasks: tasks/agents.yml \ No newline at end of file diff --git a/ansible/rke/tasks/agents.yml b/ansible/rke/tasks/agents.yml new file mode 100644 index 0000000..10c114a --- /dev/null +++ b/ansible/rke/tasks/agents.yml @@ -0,0 +1,16 @@ +--- +- name: Ensure the RKE2 config directory exists + file: + path: /etc/rancher/rke2 + state: directory +- name: Generate the config + vars: + node_token: "{{ hostvars[groups['controllers'][0]].join_token.content | b64decode }}" + server: "{{ hostvars[groups['controllers'][0]]['ansible_ssh_host'] }}" + template: + src: templates/rke2_agent.yml.j2 + dest: /etc/rancher/rke2/config.yaml +- name: Install the RKE2 binary + include_tasks: tasks/install-rke2.yml + vars: + type: agent diff --git a/ansible/rke/tasks/controllers.yml b/ansible/rke/tasks/controllers.yml new file mode 100644 index 0000000..560e3ce --- /dev/null +++ b/ansible/rke/tasks/controllers.yml @@ -0,0 +1,19 @@ +--- +- name: Ensure the RKE2 config directory exists + file: + path: /etc/rancher/rke2 + state: directory +- name: Generate the config + vars: + node_token: "{{ hostvars[groups['controllers'][0]].join_token.content | b64decode }}" + server: "{{ hostvars[groups['controllers'][0]]['ansible_ssh_host'] }}" + leader: false + template: + src: templates/rke2_server.yml.j2 + dest: /etc/rancher/rke2/config.yaml + mode: 0600 +- name: Install the RKE2 binary + include_tasks: tasks/install-rke2.yml + vars: + type: server + diff --git a/ansible/rke/tasks/install-rke2.yml b/ansible/rke/tasks/install-rke2.yml new file mode 100644 index 0000000..372bcc9 --- /dev/null +++ b/ansible/rke/tasks/install-rke2.yml @@ -0,0 +1,9 @@ +- name: Install the rke2 binary + shell: + cmd: curl -sfL https://get.rke2.io | INSTALL_RKE2_VERSION="{{ rke_version }}" INSTALL_RKE2_TYPE="{{ type }}" sh - + creates: /usr/local/bin/rke2 +- name: Enable and start the rke2-{{ type }}.service + systemd: + name: rke2-{{ type }}.service + enabled: true + state: started diff --git a/ansible/rke/tasks/leader.yml b/ansible/rke/tasks/leader.yml new file mode 100644 index 0000000..cf9bd20 --- /dev/null +++ b/ansible/rke/tasks/leader.yml @@ -0,0 +1,76 @@ +--- +- name: Ensure the /etc/rancher/rke2 director exists. + become: yes + file: + path: /etc/rancher/rke2 + state: directory + recurse: yes +- name: Generate the config + vars: + node_token: unused + server: unused + leader: true + template: + src: templates/rke2_server.yml.j2 + dest: /etc/rancher/rke2/config.yaml + mode: 0600 +- name: Install the rke2 binary + include_tasks: install-rke2.yml + vars: + type: server +- name: Wait for the token to be created + wait_for: + path: /var/lib/rancher/rke2/server/node-token + state: present + +- name: Check if kubectl exists in /usr/local/bin + stat: + path: /usr/local/bin/kubectl + register: kubectl_test + +- name: Link kubectl into /usr/local/bin + become: yes + file: + src: /var/lib/rancher/rke2/bin/kubectl + path: /usr/local/bin/kubectl + state: link + when: not kubectl_test.stat.exists + +- name: Create the .kube directory for root and ubuntu users + become: yes + file: + path: "{{ item.path }}" + owner: "{{ item.owner }}" + state: directory + loop: + - path: /root/.kube + owner: root + - path: /home/ubuntu/.kube + owner: ubuntu + +- name: Copy kubeconfig files for root and ubuntu users + become: yes + copy: + src: "{{ kubeconfig }}" + dest: "{{ item.path }}/config" + owner: "{{ item.owner }}" + mode: 0600 + remote_src: yes + loop: + - path: /root/.kube + owner: root + - path: /home/ubuntu/.kube + owner: ubuntu + +- name: Patch the server address in the original kubeconfig + become: yes + lineinfile: + path: "{{ kubeconfig }}" + regexp: 'server: https://127\.0\.0\.1:6443' + line: " server: https://{{ ansible_ssh_host }}:6443" + +- name: Download the kubeconfig + fetch: + src: "{{ kubeconfig }}" + dest: outputs/{{ ansible_hostname }}.kube.config + flat: yes \ No newline at end of file diff --git a/ansible/rke/templates/rke2_agent.yml.j2 b/ansible/rke/templates/rke2_agent.yml.j2 new file mode 100644 index 0000000..99fc626 --- /dev/null +++ b/ansible/rke/templates/rke2_agent.yml.j2 @@ -0,0 +1,4 @@ +node-name: {{ ansible_fqdn }} +token: {{ node_token }} +server: https://{{ server }}:9345 + diff --git a/ansible/rke/templates/rke2_server.yml.j2 b/ansible/rke/templates/rke2_server.yml.j2 new file mode 100644 index 0000000..8b2c676 --- /dev/null +++ b/ansible/rke/templates/rke2_server.yml.j2 @@ -0,0 +1,12 @@ +node-name: {{ ansible_fqdn }} +{% if not leader %} +token: {{ node_token }} +server: https://{{ server }}:9345 +{% endif %} + +write-kubeconfig-mode: "0600" +disable: rke2-ingress-nginx +tls-san: + - {{ ansible_fqdn }} + - {{ ansible_hostname }} + - {{ ansible_ssh_host }} diff --git a/ansible/rke/uninstall.yml b/ansible/rke/uninstall.yml new file mode 100644 index 0000000..d52debc --- /dev/null +++ b/ansible/rke/uninstall.yml @@ -0,0 +1,12 @@ +--- +- hosts: nodes + become: yes + tasks: + - name: kill all + shell: /usr/local/bin/rke2-killall.sh + - name: uninstall + shell: /usr/local/bin/rke2-uninstall.sh + - name: Reboot + reboot: + - name: Reboot + reboot: diff --git a/ansible/setup.yml b/ansible/setup.yml new file mode 100644 index 0000000..02b7b6c --- /dev/null +++ b/ansible/setup.yml @@ -0,0 +1,137 @@ +--- +# This playbook is a combination of the helm.yml, ingress.yml, and storage.yml +# playbooks and is used to configure a cluster for Galaxy in place of the +# cloudman-boot playbook +- name: Common tasks for all nodes in the cluster. + hosts: nodes + tasks: + - name: Install nfs-common (needed for csi mount) + apt: pkg=nfs-common state=latest + become: yes + + +- hosts: controllers[0] + collections: + - kubernetes.core + vars: + helm_version: 3.5.2 + nfs_storage_class: ebs + nginx_version: 3.34.0 + tasks: + # From storage.yml, but needs to come first + - name: Install Python3 and pip + apt: + name: "{{ item }}" + state: present + become: true + loop: + - python3 + - python3-pip + + - name: Install openshift + pip: + name: openshift + state: present + + # helm.yml + - name: Install Helm version {{ helm_version }} + shell: + cmd: "curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash -s" + creates: /usr/local/bin/helm + become: yes + + - name: Remove existing stable Helm repo + helm_repository: + name: stable + state: absent + + - name: Add stable Helm repo + helm_repository: + name: stable + repo_url: https://charts.helm.sh/stable + state: present + + - name: Add the cloudve Helm repository + helm_repository: + name: cloudve + repo_url: https://raw.githubusercontent.com/CloudVE/helm-charts/master/ + + # ingress.yml + - name: Create namespace for nginx ingress + k8s: + kind: Namespace + name: ingress-nginx + state: present + #tags: [ never, nginx ] + + - name: Add helm repo for nginx ingress + helm_repository: + name: ingress-nginx + state: present + repo_url: https://kubernetes.github.io/ingress-nginx + + - name: Helm install nginx ingress controller + helm: + name: ingress-nginx + namespace: ingress-nginx + chart_ref: ingress-nginx/ingress-nginx + chart_version: "{{ nginx_version }}" + values: + controller: + kind: DaemonSet + hostNetwork: true + daemonset: + useHostPort: true + + - name: Fix for issue https://github.com/kubernetes/ingress-nginx/issues/5401 + k8s: + name: ingress-nginx-admission +# namespace: ingress-nginx + kind: ValidatingWebhookConfiguration + state: absent + + # storage.yml + - name: Render the hostpath storage class template + k8s: + template: + path: templates/hostpath_storage_class.yaml.j2 + state: present + + - name: Render the ebs storage class + k8s: + template: + path: ebs_storage_class.yml.j2 + state: present + + - name: Create CSI driver namespace + k8s: + kind: Namespace + name: csi-drivers + state: present + + - name: Helm install nfs-provisioner + helm: + name: nfs-provisioner + namespace: csi-drivers + chart_ref: stable/nfs-server-provisioner + values: + persistence: + enabled: true + storageClass: "{{ nfs_storage_class }}" + size: 100Gi + storageClass: + create: true + reclaimPolicy: Delete + allowVolumeExpansion: true + + - name: + helm_repository: + url: https://raw.githubusercontent.com/CloudVE/helm-charts/master/ + name: galaxy + state: present + +# - name: Helm install galaxy-cvmfs-csi +# helm: +# name: gxy-cvmfs +# namespace: csi-drivers +# chart_ref: galaxy/galaxy-cvmfs-csi diff --git a/ansible/tasks/k8s-apply.yml b/ansible/tasks/k8s-apply.yml new file mode 100644 index 0000000..5ecbdec --- /dev/null +++ b/ansible/tasks/k8s-apply.yml @@ -0,0 +1,23 @@ +- debug: + msg: Downloading and applying {{ url }} +- name: Create a temporary file + tempfile: + state: file + suffix: yml + register: temp_file + +- name: Download the URL + get_url: + url: "{{ url }}" + dest: "{{ temp_file.path }}" + +- name: kubectl apply it + k8s: + src: "{{ temp_file.path }}" + state: present + +- name: Clean up the temp file + file: + path: "{{ temp_file.path }}" + state: absent + diff --git a/ansible/templates/clusterissuer.yaml.j2 b/ansible/templates/clusterissuer.yaml.j2 new file mode 100644 index 0000000..f3e7632 --- /dev/null +++ b/ansible/templates/clusterissuer.yaml.j2 @@ -0,0 +1,26 @@ +apiVersion: cert-manager.io/v1alpha2 +kind: ClusterIssuer +metadata: + name: letsencrypt-prod + labels: + app: cert-manager + chart: cert-manager + release: cert-manager + heritage: cert-manager +spec: + acme: + # You must replace this email address with your own. + # Let's Encrypt will use this to contact you about expiring + # certificates, and issues related to your account. + email: "suderman@jhu.edu" + http01: {} + server: https://acme-v02.api.letsencrypt.org/directory + privateKeySecretRef: + # Secret resource used to store the account's private key. + name: letsencrypt-prod-account-key + # Add a single challenge solver, HTTP01 using nginx + solvers: + - http01: + ingress: + class: nginx + selector: {} diff --git a/ansible/templates/ebs_storage_class.yml.j2 b/ansible/templates/ebs_storage_class.yml.j2 new file mode 100644 index 0000000..d7fca1b --- /dev/null +++ b/ansible/templates/ebs_storage_class.yml.j2 @@ -0,0 +1,8 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: ebs +provisioner: rancher.io/local-path +reclaimPolicy: Delete +allowVolumeExpansion: true +volumeBindingMode: WaitForFirstConsumer diff --git a/ansible/templates/hostpath_storage_class.yaml.j2 b/ansible/templates/hostpath_storage_class.yaml.j2 new file mode 100644 index 0000000..2122470 --- /dev/null +++ b/ansible/templates/hostpath_storage_class.yaml.j2 @@ -0,0 +1,150 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: local-path-storage +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: local-path-provisioner-service-account + namespace: local-path-storage +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: local-path-provisioner-role +rules: +- apiGroups: [""] + resources: ["nodes", "persistentvolumeclaims", "configmaps"] + verbs: ["get", "list", "watch"] +- apiGroups: [""] + resources: ["endpoints", "persistentvolumes", "pods"] + verbs: ["*"] +- apiGroups: [""] + resources: ["events"] + verbs: ["create", "patch"] +- apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: local-path-provisioner-bind +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: local-path-provisioner-role +subjects: +- kind: ServiceAccount + name: local-path-provisioner-service-account + namespace: local-path-storage +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: local-path-provisioner + namespace: local-path-storage +spec: + replicas: 1 + selector: + matchLabels: + app: local-path-provisioner + template: + metadata: + labels: + app: local-path-provisioner + spec: + serviceAccountName: local-path-provisioner-service-account + containers: + - name: local-path-provisioner + image: rancher/local-path-provisioner:v0.0.19 + imagePullPolicy: IfNotPresent + command: + - local-path-provisioner + - --debug + - start + - --config + - /etc/config/config.json + volumeMounts: + - name: config-volume + mountPath: /etc/config/ + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + volumes: + - name: config-volume + configMap: + name: local-path-config +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: local-path +provisioner: rancher.io/local-path +volumeBindingMode: WaitForFirstConsumer +reclaimPolicy: Delete +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: local-path-config + namespace: local-path-storage +data: + config.json: |- + { + "nodePathMap":[ + { + "node":"DEFAULT_PATH_FOR_NON_LISTED_NODES", + "paths":["/opt/local-path-provisioner"] + } + ] + } + setup: |- + #!/bin/sh + while getopts "m:s:p:" opt + do + case $opt in + p) + absolutePath=$OPTARG + ;; + s) + sizeInBytes=$OPTARG + ;; + m) + volMode=$OPTARG + ;; + esac + done + + mkdir -m 0777 -p ${absolutePath} + teardown: |- + #!/bin/sh + while getopts "m:s:p:" opt + do + case $opt in + p) + absolutePath=$OPTARG + ;; + s) + sizeInBytes=$OPTARG + ;; + m) + volMode=$OPTARG + ;; + esac + done + + rm -rf ${absolutePath} + helperPod.yaml: |- + apiVersion: v1 + kind: Pod + metadata: + name: helper-pod + spec: + containers: + - name: helper-pod + image: busybox + diff --git a/ansible/templates/iu1.yml b/ansible/templates/iu1.yml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/templates/nginx.conf.j2 b/ansible/templates/nginx.conf.j2 new file mode 100644 index 0000000..7259b3f --- /dev/null +++ b/ansible/templates/nginx.conf.j2 @@ -0,0 +1,32 @@ +load_module /usr/lib/nginx/modules/ngx_stream_module.so; +worker_processes 4; +worker_rlimit_nofile 40000; + +events { + worker_connections 8192; +} + +stream { + upstream rancher_servers_http { + least_conn; +{% for ip in addr %} + server {{ ip }}:80 max_fails=3 fail_timeout=5s; +{% endfor %} + } + server { + listen 80; + proxy_pass rancher_servers_http; + } + + upstream rancher_servers_https { + least_conn; +{% for ip in addr %} + server {{ ip }}:443 max_fails=3 fail_timeout=5s; +{% endfor %} + } + server { + listen 443; + proxy_pass rancher_servers_https; + } + +} \ No newline at end of file diff --git a/ansible/templates/rke2.ini.j2 b/ansible/templates/rke2.ini.j2 new file mode 100644 index 0000000..5713d25 --- /dev/null +++ b/ansible/templates/rke2.ini.j2 @@ -0,0 +1,30 @@ +# The file is automatically generated by Ansible by running the +# cluster.yml playbook. +[localhost] +127.0.0.1 ansible_connection=local ansible_python_interpreter="/usr/bin/python" + +[controllers] +{% for item in os_controllers.results %} +{{ item.server.name }} ansible_ssh_host={{ item.server.interface_ip }} +{% endfor %} + +[agents] +{% for item in os_agents.results %} +{{ item.server.name }} ansible_ssh_host={{ item.server.interface_ip }} +{% endfor %} + +[nodes:children] +controllers +agents + +[rke_cluster:children] +controllers +agents + +[all:vars] +ansible_ssh_port=22 +ansible_user='ubuntu' +ansible_ssh_extra_args='-o StrictHostKeyChecking=no' +ansible_ssh_private_key_file=~/.ssh/{{ keypair }}.pem +ansible_python_interpreter="/usr/bin/python3" + diff --git a/ansible/update.yml b/ansible/update.yml new file mode 100644 index 0000000..3be2740 --- /dev/null +++ b/ansible/update.yml @@ -0,0 +1,41 @@ +--- +- hosts: nodes + become: yes + tasks: + - name: Wait for the auto-update Ubuntu does on first boot. + shell: while sudo fuser /var/lib/dpkg/{{ item }} >/dev/null 2>&1 ; do sleep 1 ; done + loop: + - lock + - lock-frontend + - name: Wait for the auto-update Ubuntu does on first boot. + shell: while sudo fuser /var/lib/apt/lists/{{ item }} >/dev/null 2>&1 ; do sleep 1 ; done + loop: + - lock + - lock-frontend + - name: apt-get update + apt: + update_cache: yes + force_apt_get: yes + cache_valid_time: 3600 + - name: apt-get upgrade + apt: + upgrade: dist + force_apt_get: yes + - name: install nfs-common (needed for csi mount) + apt: pkg=nfs-common state=latest + - name: Install Python3 + apt: + name: "{{ item }}" + state: present + loop: + - python3 + - python3-pip + - name: Check if the instance needs a reboot. + stat: + path: /var/run/reboot-required + register: f + - name: Reboot if needed + reboot: + when: f.stat.exists + + \ No newline at end of file diff --git a/aws.sh b/aws.sh new file mode 100644 index 0000000..ca20901 --- /dev/null +++ b/aws.sh @@ -0,0 +1,3 @@ +export NAMESPACE=galaxy +export POD=galaxy-galaxy-galaxy-postgres-0 +export KUBECONFIG=~/.kube/configs/aws diff --git a/experiments/google/benchmarks/dna-test-run.yml b/experiments/google/benchmarks/dna-test-run.yml new file mode 100644 index 0000000..9f91b38 --- /dev/null +++ b/experiments/google/benchmarks/dna-test-run.yml @@ -0,0 +1,8 @@ +- output_history_base_name: DNA Test Run + runs: + - history_name: HG00599 + inputs: + - dataset_id: SRR592109_2.fastq.gz + name: FASTQ Dataset + workflow_id: Benchmarking DNA Cloud Costs + diff --git a/experiments/google/cleanup.sh b/experiments/google/cleanup.sh new file mode 100755 index 0000000..e45062a --- /dev/null +++ b/experiments/google/cleanup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +INSTANCES="n1 n2 c2 e2" + +for i in $INSTANCES ; do + echo "Cleaning up $i" + (source settings/$i && ./provision.sh cleanup) +done +echo "Done" \ No newline at end of file diff --git a/experiments/google/experiment.yml b/experiments/google/experiment.yml new file mode 100644 index 0000000..a073efe --- /dev/null +++ b/experiments/google/experiment.yml @@ -0,0 +1,26 @@ +# Run the simple experiment on four GCP instances with all the job conf files. +name: Google Benchmarking DNA +# The number of times each benchmark will be executed. +runs: 2 +# The benchmarks that will be run as part of the experiment. Each benchmark +# configuration defines the Galaxy workflow and input datasets to be used. +benchmark_confs: + - benchmarks/dna-test-run.yml +# The cloud instances, as defined in the $HOME/.abm/profile.yml file. +cloud: + - n1 + - n2 + - c2 + - e2 +# The Galaxy container_mapper_rules.yml files that defined the CPU and memory +# resources allocated to tools. List the file names without the .yml extension. +# These files are expected to be found in the rules directory. +job_configs: + - default + - 4x8 + - 8x16 + - 16x32 +# TODO Discuss if this belongs here... +galaxy: + namespace: galaxy + chart: anvil/galaxykubeman diff --git a/experiments/google/job_metrics_conf.yml b/experiments/google/job_metrics_conf.yml new file mode 100644 index 0000000..5c2efd5 --- /dev/null +++ b/experiments/google/job_metrics_conf.yml @@ -0,0 +1,5 @@ +- type: core +- type: cgroup +- type: cpuinfo +- type: meminfo +- type: uname diff --git a/experiments/google/jobconf.sh b/experiments/google/jobconf.sh new file mode 100755 index 0000000..5776fdd --- /dev/null +++ b/experiments/google/jobconf.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +for i in n1 n2 c2 e2 ; do + echo "Updating $i" + KUBECONFIG=~/.kube/configs/$i helm upgrade -n galaxy galaxy anvil/galaxykubeman --reuse-values -f values.yml +done +echo "Done" \ No newline at end of file diff --git a/experiments/google/provision.sh b/experiments/google/provision.sh new file mode 100755 index 0000000..f45f212 --- /dev/null +++ b/experiments/google/provision.sh @@ -0,0 +1,210 @@ +#!/usr/bin/env bash + +set -eu + +YEAR=$(($(date +%Y)-2000)) + +export IMAGE=${IMAGE:-galaxy/galaxy-min} +export TAG=${TAG:-21.05} +export GKE_VERSION=${GKE_VERSION:-1.19} +export ZONE=${ZONE:-us-east1-b} +export CHART=${CHART:-anvil/galaxykubeman} +export GKM_VERSION=${GKM_VERSION:-1.1.0} +export PASSWORD=${PASSWORD:-galaxypassword} +export EMAIL=${EMAIL:-alex@fake.org} +export DISK=${DISK:-250} +export MACHINE_FAMILY=${MACHINE_FAMILY:-n2} +export MACHINE_TYPE=${MACHINE_TYPE:-standard} +export MACHINE_CPU=${MACHINE_CPU:-32} +export MACHINE_DEFINITION=$MACHINE_FAMILY-$MACHINE_TYPE-$MACHINE_CPU +export NAMESPACE=${NAMESPACE:-galaxy} +export NAME=${NAME:-galaxy} +export CLUSTER_NAME=${CLUSTER_NAME:-ks-$MACHINE_DEFINITION-$(date +%d%m)$YEAR} +export KUBE=${KUBE:-$MACHINE_FAMILY} + +GXY_TMP=/tmp/anvil-output.txt +VALUES=/tmp/anvil-values.yml + +# ANSI color codes for the console. +reset="\033[0m" +bold="\033[1m" +ital="\033[3m" # does not work on OS X + +# Function used to highlight text. +function hi() { + echo -e "$bold$@$reset" +} + +function help() { + cat | less -R << EOF + +$(hi USAGE) + $0 [cluster|disks|galaxy|cleanup] + +$(hi SYNOPSIS) + Provisions an Galaxy clusters on GCP using the Galaxy Kubeman Helm chart. + +$(hi COMMANDS) + $(hi cluster) + provision a GKE cluster on GCP + $(hi disk)|$(hi disks) + provision two peristent disks for Postgres and NFS + $(hi galaxy) + deploy Galaxy to the cluster using the Kubeman helm chart + $(hi cleanup) + destroy the cluster and disks + $(hi -h)|$(hi --help)|$(hi help) + print this help message and exit + +Press $(hi Q) (twice) to exit help. +EOF +} + +if [[ $# = 0 ]] ; then + help + exit +fi + +function cleanup() { + echo "Cleaning up" + gcloud container clusters delete -q $CLUSTER_NAME --zone $ZONE; + gcloud compute disks delete -q "$CLUSTER_NAME-postgres-pd" --zone $ZONE; + gcloud compute disks delete -q "$CLUSTER_NAME-nfs-pd" --zone $ZONE; +} + +function cluster() { + echo "Creating the cluster" + gcloud container clusters create "$CLUSTER_NAME" --cluster-version="$GKE_VERSION" --disk-size=100 --num-nodes=1 --machine-type=$MACHINE_DEFINITION --zone "$ZONE" + cp ~/.kube/config ~/.kube/configs/$KUBE +} + +function disks() { + echo "Provisioning persistent storage" + gcloud compute disks create "$CLUSTER_NAME-postgres-pd" --size 10Gi --zone "$ZONE" + gcloud compute disks create "$CLUSTER_NAME-nfs-pd" --size "$DISK""Gi" --zone "$ZONE" +} + +function galaxy() { + echo "Deploying Galaxy with the Galaxy Kubeman helm chart" +helm install $NAME -n $NAMESPACE $CHART\ + --create-namespace\ + --wait\ + --timeout 2800s\ + --version $GKM_VERSION\ + --set galaxy.image.repository="$IMAGE"\ + --set galaxy.image.tag="$TAG"\ + --set nfs.storageClass.name="nfs-$CLUSTER_NAME"\ + --set cvmfs.repositories.cvmfs-gxy-data-$CLUSTER_NAME="data.galaxyproject.org"\ + --set cvmfs.cache.alienCache.storageClass="nfs-$CLUSTER_NAME"\ + --set galaxy.persistence.storageClass="nfs-$CLUSTER_NAME"\ + --set galaxy.cvmfs.galaxyPersistentVolumeClaims.data.storageClassName=cvmfs-gxy-data-$CLUSTER_NAME\ + --set galaxy.service.type=LoadBalancer\ + --set galaxy.service.port=8000\ + --set rbac.enabled=false\ + --set galaxy.configs."file_sources_conf\.yml"=""\ + --set galaxy.terra.launch.workspace="De novo transcriptome reconstruction with RNA-Seq"\ + --set galaxy.terra.launch.namespace="galaxy-anvil-edge"\ + --set cvmfs.cache.preload.enabled=false\ + --set galaxy.configs."galaxy\.yml".galaxy.master_api_key=$PASSWORD\ + --set galaxy.configs."galaxy\.yml".galaxy.single_user="$EMAIL"\ + --set galaxy.configs."galaxy\.yml".galaxy.admin_users="$EMAIL"\ + --set galaxy.configs."galaxy\.yml".galaxy.job_metrics_config_file=job_metrics_conf.yml\ + --set-file galaxy.configs."job_metrics_conf\.yml"=job_metrics_conf.yml \ + --set persistence.nfs.name="$CLUSTER_NAME-nfs-disk"\ + --set persistence.nfs.persistentVolume.extraSpec.gcePersistentDisk.pdName="$CLUSTER_NAME-nfs-pd"\ + --set persistence.nfs.size="$DISK""Gi"\ + --set persistence.postgres.name="$CLUSTER_NAME-postgres-disk"\ + --set persistence.postgres.persistentVolume.extraSpec.gcePersistentDisk.pdName="$CLUSTER_NAME-postgres-pd"\ + --set persistence.postgres.size="10Gi"\ + --set nfs.persistence.existingClaim="$CLUSTER_NAME-nfs-disk-pvc"\ + --set nfs.persistence.size="$DISK""Gi"\ + --set galaxy.postgresql.persistence.existingClaim="$CLUSTER_NAME-postgres-disk-pvc"\ + --set galaxy.persistence.size="200Gi"\ + --set galaxy.postgresql.galaxyDatabasePassword=$PASSWORD\ + --set galaxy.postgresql.master.nodeSelector."cloud\.google\.com\/gke-nodepool"="default-pool"\ + --set galaxy.nodeSelector."cloud\.google\.com\/gke-nodepool"="default-pool"\ + --set cvmfs.nodeSelector."cloud\.google\.com\/gke-nodepool"="default-pool"\ + --set nfs.nodeSelector."cloud\.google\.com\/gke-nodepool"="default-pool"\ + --set galaxy.postgresql.master.nodeSelector."cloud\.google\.com\/gke-nodepool"="default-pool"\ + --set galaxy.configs."job_conf\.yml".runners.k8s.k8s_node_selector="cloud.google.com/gke-nodepool: default-pool"\ + --set galaxy.webHandlers.startupDelay=10\ + --set galaxy.jobHandlers.startupDelay=5\ + --set galaxy.workflowHandlers.startupDelay=0\ + --set nfs.nodeSelector."cloud\.google\.com\/gke-nodepool"="default-pool" + + echo "http://$(kubectl get svc -n $NAMESPACE $NAME-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | sed -e 's/"//g'):$(kubectl get svc -n $NAMESPACE $NAME-nginx -o jsonpath='{.spec.ports[0].port}')$(kubectl get ingress -n $NAMESPACE $NAME -o jsonpath='{.spec.rules[0].http.paths[0].path}')/" +} + +function url() { + echo "http://$(kubectl get svc -n $NAMESPACE $NAME-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | sed -e 's/"//g'):$(kubectl get svc -n $NAMESPACE $NAME-nginx -o jsonpath='{.spec.ports[0].port}')$(kubectl get ingress -n $NAMESPACE $NAME -o jsonpath='{.spec.rules[0].http.paths[0].path}')/" +} + +function show() { + cat << __EOF__ +export NAMESPACE=$NAMESPACE +export NAME=$NAME +export GKE_VERSION=$GKE_VERSION +export ZONE=$ZONE +export CHART=$CHART +export GKM_VERSION=$GKM_VERSION +export CLUSTER_NAME=$CLUSTER_NAME +export IMAGE=$IMAGE +export TAG=$TAG +export PASSWORD=$PASSWORD +export EMAIL=$EMAIL +export DISK=$DISK +export MACHINE_FAMILY=$MACHINE_FAMILY +export MACHINE_TYPE=$MACHINE_TYPE +export MACHINE_CPU=$MACHINE_CPU +export KUBE=$KUBE +__EOF__ +} + +function clear() { + cat << __EOF__ +unset NAMESPACE +unset NAME +unset CLUSTER_NAME +unset IMAGE +unset TAG +unset PASSWORD +unset EMAIL +unset DISK +unset ZONE +unset GKM_VERSION +unset CHART +unset GKE_VERSION +unset MACHINE_FAMILY +unset MACHINE_TYPE +unset MACHINE_CPU +unset KUBE +__EOF__ +} + + +# Save command line arguments so we can shift through them twice; once to check +# that all commands are valid, and a second time to run the commands. +saved=$@ + +while [[ $# > 0 ]] ; do + case $1 in + cluster|disks|galaxy|cleanup|show|clear) + $1 + ;; + -h|--help|help) + help + exit + ;; + disk) + disks + ;; + *) + echo "$(hi ERROR): Invalid option $1" + echo + echo "Run $(hi $0 help) for usage instructions." + exit + ;; + esac + shift +done + diff --git a/experiments/google/results/google.csv b/experiments/google/results/google.csv new file mode 100644 index 0000000..aa22e98 --- /dev/null +++ b/experiments/google/results/google.csv @@ -0,0 +1,161 @@ +Run,Cloud,Job Conf,Workflow,History,Server,Tool,Tool Version,State,Slots,Memory,Runtime (Sec),CPU,Memory Limit (Bytes),Memory Max usage (Bytes),Memory Soft Limit +0,n2,default,79e052a475e6668b,8ab117b2e503c4d5,http://34.75.249.162:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,460.0000000,142222611611.0000000,9999998976.0000000,7176110080.0000000,9223372036854771712.0000000 +1,n2,4x8,8cd9256b535acf7f,4a1ebc34e1cd6d4c,http://34.75.249.162:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,199.0000000,781632096675.0000000,16000000000.0000000,12614754304.0000000,9223372036854771712.0000000 +1,n1,16x32,9a97e21eece60c70,af8549dd761318d1,http://35.231.186.105:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,253.0000000,994158669715.0000000,16000000000.0000000,11202265088.0000000,9223372036854771712.0000000 +0,n2,16x32,00cc7bba7f14f031,ce1c45353da0d182,http://34.75.249.162:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,71.0000000,142235712208.0000000,9999998976.0000000,9334652928.0000000,9223372036854771712.0000000 +0,n2,8x16,5e16d22a8a32baa9,12c3019192244338,http://34.75.249.162:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,399.0000000,1353300453266.0000000,16000000000.0000000,11304157184.0000000,9223372036854771712.0000000 +0,c2,4x8,2b1f44c39c87bcca,f6c8332a500f294b,http://34.73.40.159:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,29.0000000,42538283986.0000000,4999999488.0000000,16490496.0000000,9223372036854771712.0000000 +0,c2,default,fd2664cbb575fdf5,9f37a3acc430f989,http://34.73.40.159:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,463.0000000,129491755931.0000000,9999998976.0000000,7416340480.0000000,9223372036854771712.0000000 +1,n1,default,95a587c8ab73103e,e8924317936df9d4,http://35.231.186.105:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,90.0000000,175792446927.0000000,9999998976.0000000,8994099200.0000000,9223372036854771712.0000000 +1,e2,8x16,6891a40878670c62,99259a3f5197e938,http://34.138.22.88:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,389.0000000,774686147061.0000000,9999998976.0000000,7379140608.0000000,9223372036854771712.0000000 +0,c2,4x8,2b1f44c39c87bcca,f6c8332a500f294b,http://34.73.40.159:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,188.0000000,739368096949.0000000,16000000000.0000000,12498710528.0000000,9223372036854771712.0000000 +1,c2,16x32,4563a60c7ce8a92f,a2ee00cea955e8b1,http://34.73.40.159:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,66.0000000,130932802941.0000000,9999998976.0000000,8993792000.0000000,9223372036854771712.0000000 +1,c2,16x32,4563a60c7ce8a92f,a2ee00cea955e8b1,http://34.73.40.159:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,29.0000000,42745402145.0000000,4999999488.0000000,16191488.0000000,9223372036854771712.0000000 +0,e2,default,f3571de78c266585,859ae213ae73bac7,http://34.138.22.88:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,472.0000000,184317393594.0000000,9999998976.0000000,7153799168.0000000,9223372036854771712.0000000 +0,n1,16x32,9a97e21eece60c70,1ddf2c69353cf6a4,http://35.231.186.105:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,263.0000000,1036160969637.0000000,16000000000.0000000,11036213248.0000000,9223372036854771712.0000000 +1,n2,default,79e052a475e6668b,79e2b3bcad4c7e04,http://34.75.249.162:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,402.0000000,1361383436271.0000000,16000000000.0000000,11304296448.0000000,9223372036854771712.0000000 +0,e2,8x16,6891a40878670c62,579102256baf50ea,http://34.138.22.88:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,625.0000000,2063883551125.0000000,16000000000.0000000,11355951104.0000000,9223372036854771712.0000000 +1,e2,default,f3571de78c266585,16298b6a83391817,http://34.138.22.88:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,34.0000000,44386024366.0000000,4999999488.0000000,16728064.0000000,9223372036854771712.0000000 +1,c2,8x16,a53cc1dd7d2490b0,7eaff4edbfdd89ac,http://34.73.40.159:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,66.0000000,131008470479.0000000,9999998976.0000000,8439164928.0000000,9223372036854771712.0000000 +1,n1,8x16,68b77645c1492f6d,3eaebb45f34866e9,http://35.231.186.105:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,257.0000000,1010183861381.0000000,16000000000.0000000,12614213632.0000000,9223372036854771712.0000000 +0,c2,default,fd2664cbb575fdf5,9f37a3acc430f989,http://34.73.40.159:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,599.0000000,629526867210.0000000,9999998976.0000000,5973454848.0000000,9223372036854771712.0000000 +0,n2,16x32,00cc7bba7f14f031,ce1c45353da0d182,http://34.75.249.162:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,345.0000000,690935243543.0000000,9999998976.0000000,7293698048.0000000,9223372036854771712.0000000 +1,c2,default,fd2664cbb575fdf5,7e899c7ccc67d55c,http://34.73.40.159:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,66.0000000,128259089415.0000000,9999998976.0000000,8992608256.0000000,9223372036854771712.0000000 +1,e2,16x32,2138d9e23370493f,2eca279e52bdb3d0,http://34.138.22.88:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,416.0000000,809490290879.0000000,9999998976.0000000,7521275904.0000000,9223372036854771712.0000000 +0,c2,16x32,4563a60c7ce8a92f,62eef8c4fba7155d,http://34.73.40.159:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,66.0000000,130662671737.0000000,9999998976.0000000,8734031872.0000000,9223372036854771712.0000000 +0,n1,4x8,91d4a3e115d9cda2,7da77d15fc0191ed,http://35.231.186.105:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,87.0000000,174854023624.0000000,9999998976.0000000,9313976320.0000000,9223372036854771712.0000000 +1,n2,16x32,00cc7bba7f14f031,67a214296e5e36b3,http://34.75.249.162:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,346.0000000,692433263543.0000000,9999998976.0000000,7489150976.0000000,9223372036854771712.0000000 +0,n1,4x8,91d4a3e115d9cda2,7da77d15fc0191ed,http://35.231.186.105:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,249.0000000,983408109618.0000000,16000000000.0000000,11735281664.0000000,9223372036854771712.0000000 +0,e2,16x32,2138d9e23370493f,9426eadb72701541,http://34.138.22.88:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,678.0000000,2163962779896.0000000,16000000000.0000000,11211231232.0000000,9223372036854771712.0000000 +1,n2,16x32,00cc7bba7f14f031,67a214296e5e36b3,http://34.75.249.162:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,198.0000000,778941967258.0000000,16000000000.0000000,12615184384.0000000,9223372036854771712.0000000 +1,n2,8x16,5e16d22a8a32baa9,6282b6c085419a78,http://34.75.249.162:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,346.0000000,692408846156.0000000,9999998976.0000000,7203491840.0000000,9223372036854771712.0000000 +1,n1,16x32,9a97e21eece60c70,af8549dd761318d1,http://35.231.186.105:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,439.0000000,879326512725.0000000,9999998976.0000000,7352397824.0000000,9223372036854771712.0000000 +1,c2,4x8,2b1f44c39c87bcca,e31277ecf4199b58,http://34.73.40.159:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,188.0000000,738816418751.0000000,16000000000.0000000,12697653248.0000000,9223372036854771712.0000000 +1,c2,8x16,a53cc1dd7d2490b0,7eaff4edbfdd89ac,http://34.73.40.159:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,381.0000000,1304668118839.0000000,16000000000.0000000,11303206912.0000000,9223372036854771712.0000000 +1,e2,default,f3571de78c266585,16298b6a83391817,http://34.138.22.88:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,300.0000000,1177221629599.0000000,16000000000.0000000,9539383296.0000000,9223372036854771712.0000000 +1,n2,default,79e052a475e6668b,79e2b3bcad4c7e04,http://34.75.249.162:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,352.0000000,698708131279.0000000,9999998976.0000000,7690661888.0000000,9223372036854771712.0000000 +0,n2,4x8,8cd9256b535acf7f,0f352045104c4f15,http://34.75.249.162:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,346.0000000,692429770749.0000000,9999998976.0000000,7311724544.0000000,9223372036854771712.0000000 +1,n1,default,95a587c8ab73103e,e8924317936df9d4,http://35.231.186.105:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,45.0000000,69280501037.0000000,4999999488.0000000,16822272.0000000,9223372036854771712.0000000 +0,c2,8x16,a53cc1dd7d2490b0,2dbff808d1d76c54,http://34.73.40.159:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,318.0000000,636126977318.0000000,9999998976.0000000,7573139456.0000000,9223372036854771712.0000000 +0,n1,16x32,9a97e21eece60c70,1ddf2c69353cf6a4,http://35.231.186.105:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,96.0000000,192423873203.0000000,9999998976.0000000,9339736064.0000000,9223372036854771712.0000000 +0,e2,4x8,06ce99249061d778,53721d68a5ff923d,http://34.138.22.88:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,33.0000000,46845905997.0000000,4999999488.0000000,16670720.0000000,9223372036854771712.0000000 +1,n2,8x16,5e16d22a8a32baa9,6282b6c085419a78,http://34.75.249.162:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,31.0000000,40149038279.0000000,4999999488.0000000,16060416.0000000,9223372036854771712.0000000 +0,n1,8x16,68b77645c1492f6d,89152235b2dab7ba,http://35.231.186.105:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,529.0000000,1777312577801.0000000,16000000000.0000000,11285700608.0000000,9223372036854771712.0000000 +1,c2,8x16,a53cc1dd7d2490b0,7eaff4edbfdd89ac,http://34.73.40.159:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,28.0000000,42741652484.0000000,4999999488.0000000,16814080.0000000,9223372036854771712.0000000 +1,n1,4x8,91d4a3e115d9cda2,672690a385b83e39,http://35.231.186.105:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,86.0000000,172959035686.0000000,9999998976.0000000,8993193984.0000000,9223372036854771712.0000000 +0,n1,8x16,68b77645c1492f6d,89152235b2dab7ba,http://35.231.186.105:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,442.0000000,887269991623.0000000,9999998976.0000000,7466274816.0000000,9223372036854771712.0000000 +0,n1,4x8,91d4a3e115d9cda2,7da77d15fc0191ed,http://35.231.186.105:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,493.0000000,1656112176414.0000000,16000000000.0000000,11303022592.0000000,9223372036854771712.0000000 +0,n2,8x16,5e16d22a8a32baa9,12c3019192244338,http://34.75.249.162:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,71.0000000,142466084271.0000000,9999998976.0000000,9320853504.0000000,9223372036854771712.0000000 +1,e2,16x32,2138d9e23370493f,2eca279e52bdb3d0,http://34.138.22.88:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,306.0000000,1129819026042.0000000,16000000000.0000000,11760562176.0000000,9223372036854771712.0000000 +1,e2,4x8,06ce99249061d778,c92d77eb191e3a48,http://34.138.22.88:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,34.0000000,44547249898.0000000,4999999488.0000000,16977920.0000000,9223372036854771712.0000000 +1,n2,16x32,00cc7bba7f14f031,67a214296e5e36b3,http://34.75.249.162:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,70.0000000,138378429142.0000000,9999998976.0000000,8993071104.0000000,9223372036854771712.0000000 +1,n2,default,79e052a475e6668b,79e2b3bcad4c7e04,http://34.75.249.162:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,200.0000000,780767148602.0000000,16000000000.0000000,13485592576.0000000,9223372036854771712.0000000 +1,c2,4x8,2b1f44c39c87bcca,e31277ecf4199b58,http://34.73.40.159:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,66.0000000,131249206705.0000000,9999998976.0000000,8993296384.0000000,9223372036854771712.0000000 +0,c2,default,fd2664cbb575fdf5,9f37a3acc430f989,http://34.73.40.159:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,616.0000000,733621955088.0000000,16000000000.0000000,8340377600.0000000,9223372036854771712.0000000 +0,c2,16x32,4563a60c7ce8a92f,62eef8c4fba7155d,http://34.73.40.159:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,29.0000000,42678586824.0000000,4999999488.0000000,16101376.0000000,9223372036854771712.0000000 +1,n1,16x32,9a97e21eece60c70,af8549dd761318d1,http://35.231.186.105:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,92.0000000,184193889492.0000000,9999998976.0000000,8993574912.0000000,9223372036854771712.0000000 +1,n1,8x16,68b77645c1492f6d,3eaebb45f34866e9,http://35.231.186.105:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,540.0000000,1808331924295.0000000,16000000000.0000000,11304841216.0000000,9223372036854771712.0000000 +0,n1,16x32,9a97e21eece60c70,1ddf2c69353cf6a4,http://35.231.186.105:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,57.0000000,88011267949.0000000,4999999488.0000000,16789504.0000000,9223372036854771712.0000000 +1,c2,16x32,4563a60c7ce8a92f,a2ee00cea955e8b1,http://34.73.40.159:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,377.0000000,1287635096544.0000000,16000000000.0000000,11302965248.0000000,9223372036854771712.0000000 +0,e2,default,f3571de78c266585,859ae213ae73bac7,http://34.138.22.88:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,755.0000000,1782149734351.0000000,16000000000.0000000,11591184384.0000000,9223372036854771712.0000000 +1,n2,8x16,5e16d22a8a32baa9,6282b6c085419a78,http://34.75.249.162:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,199.0000000,782051905687.0000000,16000000000.0000000,11558637568.0000000,9223372036854771712.0000000 +0,c2,8x16,a53cc1dd7d2490b0,2dbff808d1d76c54,http://34.73.40.159:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,188.0000000,740872092413.0000000,16000000000.0000000,13027102720.0000000,9223372036854771712.0000000 +1,n1,4x8,91d4a3e115d9cda2,672690a385b83e39,http://35.231.186.105:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,246.0000000,971296328363.0000000,16000000000.0000000,13484072960.0000000,9223372036854771712.0000000 +0,n1,8x16,68b77645c1492f6d,89152235b2dab7ba,http://35.231.186.105:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,93.0000000,185859158007.0000000,9999998976.0000000,9339953152.0000000,9223372036854771712.0000000 +0,n2,default,79e052a475e6668b,8ab117b2e503c4d5,http://34.75.249.162:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,629.0000000,1383092796170.0000000,16000000000.0000000,11733798912.0000000,9223372036854771712.0000000 +0,e2,8x16,6891a40878670c62,579102256baf50ea,http://34.138.22.88:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,35.0000000,48099909138.0000000,4999999488.0000000,16932864.0000000,9223372036854771712.0000000 +0,n2,16x32,00cc7bba7f14f031,ce1c45353da0d182,http://34.75.249.162:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,32.0000000,43337605721.0000000,4999999488.0000000,15937536.0000000,9223372036854771712.0000000 +0,n1,default,95a587c8ab73103e,011989b9446cfc56,http://35.231.186.105:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,697.0000000,859698768144.0000000,9999998976.0000000,6293086208.0000000,9223372036854771712.0000000 +1,e2,8x16,6891a40878670c62,99259a3f5197e938,http://34.138.22.88:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,665.0000000,2123755134342.0000000,16000000000.0000000,11280842752.0000000,9223372036854771712.0000000 +1,n1,default,95a587c8ab73103e,e8924317936df9d4,http://35.231.186.105:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,498.0000000,1686484312722.0000000,16000000000.0000000,11303354368.0000000,9223372036854771712.0000000 +1,n1,4x8,91d4a3e115d9cda2,672690a385b83e39,http://35.231.186.105:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,45.0000000,69166009587.0000000,4999999488.0000000,16281600.0000000,9223372036854771712.0000000 +0,n2,4x8,8cd9256b535acf7f,0f352045104c4f15,http://34.75.249.162:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,71.0000000,142309407089.0000000,9999998976.0000000,9105412096.0000000,9223372036854771712.0000000 +1,c2,4x8,2b1f44c39c87bcca,e31277ecf4199b58,http://34.73.40.159:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,29.0000000,42910290120.0000000,4999999488.0000000,16343040.0000000,9223372036854771712.0000000 +1,c2,16x32,4563a60c7ce8a92f,a2ee00cea955e8b1,http://34.73.40.159:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,186.0000000,731818543901.0000000,16000000000.0000000,12698882048.0000000,9223372036854771712.0000000 +0,n2,16x32,00cc7bba7f14f031,ce1c45353da0d182,http://34.75.249.162:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,199.0000000,785092998645.0000000,16000000000.0000000,11916611584.0000000,9223372036854771712.0000000 +0,n2,default,79e052a475e6668b,8ab117b2e503c4d5,http://34.75.249.162:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,649.0000000,709395747134.0000000,9999998976.0000000,5928681472.0000000,9223372036854771712.0000000 +1,n2,4x8,8cd9256b535acf7f,4a1ebc34e1cd6d4c,http://34.75.249.162:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,70.0000000,139448576181.0000000,9999998976.0000000,8992063488.0000000,9223372036854771712.0000000 +1,e2,8x16,6891a40878670c62,99259a3f5197e938,http://34.138.22.88:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,285.0000000,1087955584553.0000000,16000000000.0000000,11700613120.0000000,9223372036854771712.0000000 +1,e2,4x8,06ce99249061d778,c92d77eb191e3a48,http://34.138.22.88:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,97.0000000,180608920919.0000000,9999998976.0000000,8433586176.0000000,9223372036854771712.0000000 +0,e2,default,f3571de78c266585,859ae213ae73bac7,http://34.138.22.88:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,32.0000000,42036494473.0000000,4999999488.0000000,16187392.0000000,9223372036854771712.0000000 +1,n2,default,79e052a475e6668b,79e2b3bcad4c7e04,http://34.75.249.162:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,30.0000000,40244138862.0000000,4999999488.0000000,16211968.0000000,9223372036854771712.0000000 +0,c2,4x8,2b1f44c39c87bcca,f6c8332a500f294b,http://34.73.40.159:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,67.0000000,131537600961.0000000,9999998976.0000000,9331322880.0000000,9223372036854771712.0000000 +0,e2,16x32,2138d9e23370493f,9426eadb72701541,http://34.138.22.88:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,111.0000000,195945698511.0000000,9999998976.0000000,9291915264.0000000,9223372036854771712.0000000 +1,n2,4x8,8cd9256b535acf7f,4a1ebc34e1cd6d4c,http://34.75.249.162:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,399.0000000,1359814421373.0000000,16000000000.0000000,11304718336.0000000,9223372036854771712.0000000 +1,n1,8x16,68b77645c1492f6d,3eaebb45f34866e9,http://35.231.186.105:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,49.0000000,76940170147.0000000,4999999488.0000000,16232448.0000000,9223372036854771712.0000000 +0,n2,4x8,8cd9256b535acf7f,0f352045104c4f15,http://34.75.249.162:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,402.0000000,1363560071323.0000000,16000000000.0000000,11360780288.0000000,9223372036854771712.0000000 +1,c2,8x16,a53cc1dd7d2490b0,7eaff4edbfdd89ac,http://34.73.40.159:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,319.0000000,637633011398.0000000,9999998976.0000000,7239024640.0000000,9223372036854771712.0000000 +1,n1,8x16,68b77645c1492f6d,3eaebb45f34866e9,http://35.231.186.105:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,452.0000000,905603733705.0000000,9999998976.0000000,7492915200.0000000,9223372036854771712.0000000 +0,n2,4x8,8cd9256b535acf7f,0f352045104c4f15,http://34.75.249.162:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,32.0000000,45680821284.0000000,4999999488.0000000,17588224.0000000,9223372036854771712.0000000 +1,n1,16x32,9a97e21eece60c70,af8549dd761318d1,http://35.231.186.105:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,526.0000000,1763936964570.0000000,16000000000.0000000,11303567360.0000000,9223372036854771712.0000000 +0,e2,8x16,6891a40878670c62,579102256baf50ea,http://34.138.22.88:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,387.0000000,772492870348.0000000,9999998976.0000000,7567568896.0000000,9223372036854771712.0000000 +0,e2,default,f3571de78c266585,859ae213ae73bac7,http://34.138.22.88:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,654.0000000,746682426488.0000000,9999998976.0000000,6172409856.0000000,9223372036854771712.0000000 +0,n2,16x32,00cc7bba7f14f031,ce1c45353da0d182,http://34.75.249.162:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,404.0000000,1369598151965.0000000,16000000000.0000000,11353579520.0000000,9223372036854771712.0000000 +0,e2,8x16,6891a40878670c62,579102256baf50ea,http://34.138.22.88:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,105.0000000,191868110707.0000000,9999998976.0000000,9338294272.0000000,9223372036854771712.0000000 +0,n1,16x32,9a97e21eece60c70,1ddf2c69353cf6a4,http://35.231.186.105:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,450.0000000,901943313771.0000000,9999998976.0000000,7345967104.0000000,9223372036854771712.0000000 +1,c2,default,fd2664cbb575fdf5,7e899c7ccc67d55c,http://34.73.40.159:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,319.0000000,635165878115.0000000,9999998976.0000000,7751811072.0000000,9223372036854771712.0000000 +1,n1,4x8,91d4a3e115d9cda2,672690a385b83e39,http://35.231.186.105:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,425.0000000,851673571481.0000000,9999998976.0000000,7609946112.0000000,9223372036854771712.0000000 +1,e2,8x16,6891a40878670c62,99259a3f5197e938,http://34.138.22.88:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,106.0000000,197368933823.0000000,9999998976.0000000,8995917824.0000000,9223372036854771712.0000000 +0,e2,16x32,2138d9e23370493f,9426eadb72701541,http://34.138.22.88:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,412.0000000,799683547924.0000000,9999998976.0000000,7350714368.0000000,9223372036854771712.0000000 +0,n2,8x16,5e16d22a8a32baa9,12c3019192244338,http://34.75.249.162:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,31.0000000,43287535153.0000000,4999999488.0000000,16412672.0000000,9223372036854771712.0000000 +1,n2,8x16,5e16d22a8a32baa9,6282b6c085419a78,http://34.75.249.162:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,71.0000000,141237629922.0000000,9999998976.0000000,8228868096.0000000,9223372036854771712.0000000 +0,n1,default,95a587c8ab73103e,011989b9446cfc56,http://35.231.186.105:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,46.0000000,69811531092.0000000,4999999488.0000000,16941056.0000000,9223372036854771712.0000000 +0,c2,16x32,4563a60c7ce8a92f,62eef8c4fba7155d,http://34.73.40.159:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,318.0000000,635996640455.0000000,9999998976.0000000,7276445696.0000000,9223372036854771712.0000000 +0,e2,default,f3571de78c266585,859ae213ae73bac7,http://34.138.22.88:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,683.0000000,1054074163334.0000000,16000000000.0000000,7857537024.0000000,9223372036854771712.0000000 +0,e2,8x16,6891a40878670c62,579102256baf50ea,http://34.138.22.88:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,278.0000000,1062301891590.0000000,16000000000.0000000,9800323072.0000000,9223372036854771712.0000000 +1,n2,4x8,8cd9256b535acf7f,4a1ebc34e1cd6d4c,http://34.75.249.162:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,32.0000000,44796211905.0000000,4999999488.0000000,16392192.0000000,9223372036854771712.0000000 +1,c2,8x16,a53cc1dd7d2490b0,7eaff4edbfdd89ac,http://34.73.40.159:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,188.0000000,741096353385.0000000,16000000000.0000000,11436933120.0000000,9223372036854771712.0000000 +0,e2,16x32,2138d9e23370493f,9426eadb72701541,http://34.138.22.88:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,43.0000000,56399138051.0000000,4999999488.0000000,16916480.0000000,9223372036854771712.0000000 +1,e2,8x16,6891a40878670c62,99259a3f5197e938,http://34.138.22.88:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,35.0000000,46453750110.0000000,4999999488.0000000,16818176.0000000,9223372036854771712.0000000 +0,e2,4x8,06ce99249061d778,53721d68a5ff923d,http://34.138.22.88:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,600.0000000,2028893497819.0000000,16000000000.0000000,11394826240.0000000,9223372036854771712.0000000 +0,n1,8x16,68b77645c1492f6d,89152235b2dab7ba,http://35.231.186.105:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,259.0000000,1016208828873.0000000,16000000000.0000000,12740255744.0000000,9223372036854771712.0000000 +1,e2,16x32,2138d9e23370493f,2eca279e52bdb3d0,http://34.138.22.88:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,119.0000000,210498933910.0000000,9999998976.0000000,9032368128.0000000,9223372036854771712.0000000 +0,n2,default,79e052a475e6668b,8ab117b2e503c4d5,http://34.75.249.162:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,603.0000000,797605972273.0000000,16000000000.0000000,8484954112.0000000,9223372036854771712.0000000 +0,n1,4x8,91d4a3e115d9cda2,7da77d15fc0191ed,http://35.231.186.105:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,45.0000000,69183809180.0000000,4999999488.0000000,16932864.0000000,9223372036854771712.0000000 +0,c2,8x16,a53cc1dd7d2490b0,2dbff808d1d76c54,http://34.73.40.159:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,66.0000000,131617391056.0000000,9999998976.0000000,9310531584.0000000,9223372036854771712.0000000 +1,n2,16x32,00cc7bba7f14f031,67a214296e5e36b3,http://34.75.249.162:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,400.0000000,1354902193340.0000000,16000000000.0000000,11304013824.0000000,9223372036854771712.0000000 +1,n2,4x8,8cd9256b535acf7f,4a1ebc34e1cd6d4c,http://34.75.249.162:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,345.0000000,691585373685.0000000,9999998976.0000000,7494152192.0000000,9223372036854771712.0000000 +1,e2,4x8,06ce99249061d778,c92d77eb191e3a48,http://34.138.22.88:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,603.0000000,2036822507551.0000000,16000000000.0000000,11340046336.0000000,9223372036854771712.0000000 +0,c2,16x32,4563a60c7ce8a92f,62eef8c4fba7155d,http://34.73.40.159:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,379.0000000,1294693762296.0000000,16000000000.0000000,11359490048.0000000,9223372036854771712.0000000 +0,n1,default,95a587c8ab73103e,011989b9446cfc56,http://35.231.186.105:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,631.0000000,989011153214.0000000,16000000000.0000000,9305366528.0000000,9223372036854771712.0000000 +0,c2,default,fd2664cbb575fdf5,9f37a3acc430f989,http://34.73.40.159:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,29.0000000,42144880511.0000000,4999999488.0000000,16465920.0000000,9223372036854771712.0000000 +0,e2,4x8,06ce99249061d778,53721d68a5ff923d,http://34.138.22.88:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,426.0000000,834137665927.0000000,9999998976.0000000,7285858304.0000000,9223372036854771712.0000000 +1,n1,default,95a587c8ab73103e,e8924317936df9d4,http://35.231.186.105:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,429.0000000,853983510618.0000000,9999998976.0000000,7600951296.0000000,9223372036854771712.0000000 +1,e2,default,f3571de78c266585,16298b6a83391817,http://34.138.22.88:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,431.0000000,835356703060.0000000,9999998976.0000000,7395680256.0000000,9223372036854771712.0000000 +0,n1,default,95a587c8ab73103e,011989b9446cfc56,http://35.231.186.105:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,451.0000000,181904369028.0000000,9999998976.0000000,8234582016.0000000,9223372036854771712.0000000 +1,e2,4x8,06ce99249061d778,c92d77eb191e3a48,http://34.138.22.88:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,404.0000000,802962966438.0000000,9999998976.0000000,7248928768.0000000,9223372036854771712.0000000 +0,e2,4x8,06ce99249061d778,53721d68a5ff923d,http://34.138.22.88:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,105.0000000,188366673133.0000000,9999998976.0000000,8736198656.0000000,9223372036854771712.0000000 +1,c2,default,fd2664cbb575fdf5,7e899c7ccc67d55c,http://34.73.40.159:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,28.0000000,42411568330.0000000,4999999488.0000000,16257024.0000000,9223372036854771712.0000000 +0,e2,4x8,06ce99249061d778,53721d68a5ff923d,http://34.138.22.88:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,292.0000000,1132872142365.0000000,16000000000.0000000,9283891200.0000000,9223372036854771712.0000000 +1,c2,4x8,2b1f44c39c87bcca,e31277ecf4199b58,http://34.73.40.159:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,318.0000000,635212894975.0000000,9999998976.0000000,7533072384.0000000,9223372036854771712.0000000 +1,c2,16x32,4563a60c7ce8a92f,a2ee00cea955e8b1,http://34.73.40.159:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,319.0000000,637674801652.0000000,9999998976.0000000,7533023232.0000000,9223372036854771712.0000000 +1,e2,16x32,2138d9e23370493f,2eca279e52bdb3d0,http://34.138.22.88:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,35.0000000,46208808289.0000000,4999999488.0000000,17051648.0000000,9223372036854771712.0000000 +1,n1,16x32,9a97e21eece60c70,af8549dd761318d1,http://35.231.186.105:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,48.0000000,74354622485.0000000,4999999488.0000000,16138240.0000000,9223372036854771712.0000000 +1,n1,default,95a587c8ab73103e,e8924317936df9d4,http://35.231.186.105:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,246.0000000,966127480564.0000000,16000000000.0000000,13484916736.0000000,9223372036854771712.0000000 +1,e2,16x32,2138d9e23370493f,2eca279e52bdb3d0,http://34.138.22.88:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,633.0000000,2089182502334.0000000,16000000000.0000000,11303755776.0000000,9223372036854771712.0000000 +1,e2,default,f3571de78c266585,16298b6a83391817,http://34.138.22.88:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,102.0000000,179705604113.0000000,9999998976.0000000,8995266560.0000000,9223372036854771712.0000000 +0,c2,4x8,2b1f44c39c87bcca,f6c8332a500f294b,http://34.73.40.159:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,318.0000000,635611980769.0000000,9999998976.0000000,7340818432.0000000,9223372036854771712.0000000 +0,n2,4x8,8cd9256b535acf7f,0f352045104c4f15,http://34.75.249.162:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,201.0000000,791978337528.0000000,16000000000.0000000,12385443840.0000000,9223372036854771712.0000000 +1,c2,default,fd2664cbb575fdf5,7e899c7ccc67d55c,http://34.73.40.159:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,380.0000000,1296868608353.0000000,16000000000.0000000,11303251968.0000000,9223372036854771712.0000000 +0,e2,16x32,2138d9e23370493f,9426eadb72701541,http://34.138.22.88:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,296.0000000,1116291689850.0000000,16000000000.0000000,11403247616.0000000,9223372036854771712.0000000 +0,n1,default,95a587c8ab73103e,011989b9446cfc56,http://35.231.186.105:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,699.0000000,1713769765577.0000000,16000000000.0000000,11670753280.0000000,9223372036854771712.0000000 +1,e2,4x8,06ce99249061d778,c92d77eb191e3a48,http://34.138.22.88:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,272.0000000,1042182766256.0000000,16000000000.0000000,10828701696.0000000,9223372036854771712.0000000 +0,c2,default,fd2664cbb575fdf5,9f37a3acc430f989,http://34.73.40.159:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,661.0000000,1288398892642.0000000,16000000000.0000000,11635396608.0000000,9223372036854771712.0000000 +0,n1,8x16,68b77645c1492f6d,89152235b2dab7ba,http://35.231.186.105:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,49.0000000,76596624259.0000000,4999999488.0000000,16695296.0000000,9223372036854771712.0000000 +1,e2,default,f3571de78c266585,16298b6a83391817,http://34.138.22.88:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,609.0000000,2079759171842.0000000,16000000000.0000000,11324067840.0000000,9223372036854771712.0000000 +0,n1,4x8,91d4a3e115d9cda2,7da77d15fc0191ed,http://35.231.186.105:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,423.0000000,847893983431.0000000,9999998976.0000000,7479431168.0000000,9223372036854771712.0000000 +0,c2,4x8,2b1f44c39c87bcca,f6c8332a500f294b,http://34.73.40.159:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,378.0000000,1292374956574.0000000,16000000000.0000000,11362246656.0000000,9223372036854771712.0000000 +0,n2,default,79e052a475e6668b,8ab117b2e503c4d5,http://34.75.249.162:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,33.0000000,47561182952.0000000,4999999488.0000000,16207872.0000000,9223372036854771712.0000000 +0,c2,8x16,a53cc1dd7d2490b0,2dbff808d1d76c54,http://34.73.40.159:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,380.0000000,1300324926875.0000000,16000000000.0000000,11361099776.0000000,9223372036854771712.0000000 +0,n1,16x32,9a97e21eece60c70,1ddf2c69353cf6a4,http://35.231.186.105:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,546.0000000,1822562459390.0000000,16000000000.0000000,11360698368.0000000,9223372036854771712.0000000 +0,n2,8x16,5e16d22a8a32baa9,12c3019192244338,http://34.75.249.162:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,199.0000000,785114559644.0000000,16000000000.0000000,11761577984.0000000,9223372036854771712.0000000 +0,c2,16x32,4563a60c7ce8a92f,62eef8c4fba7155d,http://34.73.40.159:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,187.0000000,738290730401.0000000,16000000000.0000000,12357836800.0000000,9223372036854771712.0000000 +1,n1,8x16,68b77645c1492f6d,3eaebb45f34866e9,http://35.231.186.105:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,92.0000000,183439318991.0000000,9999998976.0000000,8993992704.0000000,9223372036854771712.0000000 +1,n2,16x32,00cc7bba7f14f031,67a214296e5e36b3,http://34.75.249.162:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,32.0000000,43122094165.0000000,4999999488.0000000,15708160.0000000,9223372036854771712.0000000 +1,c2,default,fd2664cbb575fdf5,7e899c7ccc67d55c,http://34.73.40.159:8000/galaxy/,bwa_mem,0.7.17.1,ok,4.0000000,8000.0000000,186.0000000,735311288471.0000000,16000000000.0000000,13363056640.0000000,9223372036854771712.0000000 +1,n2,8x16,5e16d22a8a32baa9,6282b6c085419a78,http://34.75.249.162:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,401.0000000,1360667432835.0000000,16000000000.0000000,11304103936.0000000,9223372036854771712.0000000 +0,c2,8x16,a53cc1dd7d2490b0,2dbff808d1d76c54,http://34.73.40.159:8000/galaxy/,stringtie,2.1.1,ok,1.0000000,2000.0000000,29.0000000,42305511974.0000000,4999999488.0000000,16912384.0000000,9223372036854771712.0000000 +1,n2,default,79e052a475e6668b,79e2b3bcad4c7e04,http://34.75.249.162:8000/galaxy/,hisat2,2.1.0+galaxy7,ok,2.0000000,4000.0000000,74.0000000,143976186321.0000000,9999998976.0000000,8993730560.0000000,9223372036854771712.0000000 +1,n1,4x8,91d4a3e115d9cda2,672690a385b83e39,http://35.231.186.105:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,507.0000000,1696933738022.0000000,16000000000.0000000,11304022016.0000000,9223372036854771712.0000000 +1,c2,4x8,2b1f44c39c87bcca,e31277ecf4199b58,http://34.73.40.159:8000/galaxy/,bwa,0.7.17.4,ok,4.0000000,8000.0000000,382.0000000,1306156010301.0000000,16000000000.0000000,11303895040.0000000,9223372036854771712.0000000 +0,n2,8x16,5e16d22a8a32baa9,12c3019192244338,http://34.75.249.162:8000/galaxy/,bowtie2,2.4.2+galaxy0,ok,2.0000000,4000.0000000,343.0000000,687770815770.0000000,9999998976.0000000,7586160640.0000000,9223372036854771712.0000000 diff --git a/experiments/google/rules/16x32.yml b/experiments/google/rules/16x32.yml new file mode 100644 index 0000000..6c1c7cb --- /dev/null +++ b/experiments/google/rules/16x32.yml @@ -0,0 +1,106 @@ +mappings: + summary_stats: + tool_ids: + - Summary_Statistics1 + docker_container_id_override: cloudve/gsummary:latest + resource_set: small + sam_fasta_dm: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/data_manager_sam_fasta_index_builder/sam_fasta_index_builder/.* + docker_container_id_override: cloudve/sam-fasta-dm:latest + resource_set: small + bwa_dm: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/data_manager_bwa_mem_index_builder/bwa_mem_index_builder_data_manager/.* + docker_container_id_override: cloudve/bwa-dm:latest + resource_set: small + prokka: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/crs4/prokka/prokka/1.14.5 + docker_container_id_override: cloudve/prokka:1.14.5 + jbrowse: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.5+galaxy6 + docker_container_id_override: cloudve/jbrowse:1.16.5 + lib_galaxy: + tool_ids: + - sort1 + - Grouping1 + docker_container_id_override: {{ .Values.image.repository }}:{{ .Values.image.tag }} + resource_set: small + set_medium: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/bwameth/bwameth/.* + - toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/.* + - toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/valet/valet/.* + - toolshed.g2.bx.psu.edu/repos/iuc/varscan_somatic/varscan_somatic/.* + - toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_bam2wig/.* + resource_set: medium + set_large: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/.* + - toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_compare/deeptools_bam_compare/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_coverage/deeptools_bam_coverage/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_pe_fragmentsize/deeptools_bam_pe_fragmentsize/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_compare/deeptools_bigwig_compare/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_compute_gc_bias/deeptools_compute_gc_bias/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_compute_matrix/deeptools_compute_matrix/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_correct_gc_bias/deeptools_correct_gc_bias/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_multi_bam_summary/deeptools_multi_bam_summary/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_multi_bigwig_summary/deeptools_multi_bigwig_summary/.* + - toolshed.g2.bx.psu.edu/repos/devteam/freebayes/freebayes/.* + - toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/.* + - toolshed.g2.bx.psu.edu/repos/iuc/rnaspades/rnaspades/.* + - toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/.* + resource_set: large + set_2xlarge: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/unicycler/unicycler/.* + - toolshed.g2.bx.psu.edu/repos/nml/spades/spades/.* + resource_set: 2xlarge + set_mlarge: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/plink/plink/.* + resource_set: mlarge +resources: + resource_sets: + small: + requests: + cpu: 16 + memory: 32G + limits: + cpu: 16 + memory: 32G + medium: + requests: + cpu: 16 + memory: 32G + limits: + cpu: 16 + memory: 32G + large: + requests: + cpu: 16 + memory: 32G + limits: + cpu: 16 + memory: 32G + 2xlarge: + requests: + cpu: 16 + memory: 32G + limits: + cpu: 16 + memory: 32G + mlarge: + requests: + cpu: 16 + memory: 32G + limits: + cpu: 16 + memory: 32G + default_resource_set: small diff --git a/experiments/google/rules/4x8.yml b/experiments/google/rules/4x8.yml new file mode 100644 index 0000000..d806f0e --- /dev/null +++ b/experiments/google/rules/4x8.yml @@ -0,0 +1,106 @@ +mappings: + summary_stats: + tool_ids: + - Summary_Statistics1 + docker_container_id_override: cloudve/gsummary:latest + resource_set: small + sam_fasta_dm: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/data_manager_sam_fasta_index_builder/sam_fasta_index_builder/.* + docker_container_id_override: cloudve/sam-fasta-dm:latest + resource_set: small + bwa_dm: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/data_manager_bwa_mem_index_builder/bwa_mem_index_builder_data_manager/.* + docker_container_id_override: cloudve/bwa-dm:latest + resource_set: small + prokka: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/crs4/prokka/prokka/1.14.5 + docker_container_id_override: cloudve/prokka:1.14.5 + jbrowse: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.5+galaxy6 + docker_container_id_override: cloudve/jbrowse:1.16.5 + lib_galaxy: + tool_ids: + - sort1 + - Grouping1 + docker_container_id_override: {{ .Values.image.repository }}:{{ .Values.image.tag }} + resource_set: small + set_medium: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/bwameth/bwameth/.* + - toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/.* + - toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/valet/valet/.* + - toolshed.g2.bx.psu.edu/repos/iuc/varscan_somatic/varscan_somatic/.* + - toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_bam2wig/.* + resource_set: medium + set_large: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/.* + - toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_compare/deeptools_bam_compare/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_coverage/deeptools_bam_coverage/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_pe_fragmentsize/deeptools_bam_pe_fragmentsize/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_compare/deeptools_bigwig_compare/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_compute_gc_bias/deeptools_compute_gc_bias/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_compute_matrix/deeptools_compute_matrix/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_correct_gc_bias/deeptools_correct_gc_bias/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_multi_bam_summary/deeptools_multi_bam_summary/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_multi_bigwig_summary/deeptools_multi_bigwig_summary/.* + - toolshed.g2.bx.psu.edu/repos/devteam/freebayes/freebayes/.* + - toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/.* + - toolshed.g2.bx.psu.edu/repos/iuc/rnaspades/rnaspades/.* + - toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/.* + resource_set: large + set_2xlarge: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/unicycler/unicycler/.* + - toolshed.g2.bx.psu.edu/repos/nml/spades/spades/.* + resource_set: 2xlarge + set_mlarge: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/plink/plink/.* + resource_set: mlarge +resources: + resource_sets: + small: + requests: + cpu: 4 + memory: 8G + limits: + cpu: 4 + memory: 8G + medium: + requests: + cpu: 4 + memory: 8G + limits: + cpu: 4 + memory: 8G + large: + requests: + cpu: 4 + memory: 8G + limits: + cpu: 4 + memory: 8G + 2xlarge: + requests: + cpu: 4 + memory: 8G + limits: + cpu: 4 + memory: 8G + mlarge: + requests: + cpu: 4 + memory: 8G + limits: + cpu: 4 + memory: 8G + default_resource_set: small diff --git a/experiments/google/rules/8x16.yml b/experiments/google/rules/8x16.yml new file mode 100644 index 0000000..88c7b50 --- /dev/null +++ b/experiments/google/rules/8x16.yml @@ -0,0 +1,106 @@ +mappings: + summary_stats: + tool_ids: + - Summary_Statistics1 + docker_container_id_override: cloudve/gsummary:latest + resource_set: small + sam_fasta_dm: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/data_manager_sam_fasta_index_builder/sam_fasta_index_builder/.* + docker_container_id_override: cloudve/sam-fasta-dm:latest + resource_set: small + bwa_dm: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/data_manager_bwa_mem_index_builder/bwa_mem_index_builder_data_manager/.* + docker_container_id_override: cloudve/bwa-dm:latest + resource_set: small + prokka: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/crs4/prokka/prokka/1.14.5 + docker_container_id_override: cloudve/prokka:1.14.5 + jbrowse: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.5+galaxy6 + docker_container_id_override: cloudve/jbrowse:1.16.5 + lib_galaxy: + tool_ids: + - sort1 + - Grouping1 + docker_container_id_override: {{ .Values.image.repository }}:{{ .Values.image.tag }} + resource_set: small + set_medium: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/bwameth/bwameth/.* + - toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/.* + - toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/valet/valet/.* + - toolshed.g2.bx.psu.edu/repos/iuc/varscan_somatic/varscan_somatic/.* + - toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_bam2wig/.* + resource_set: medium + set_large: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/.* + - toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_compare/deeptools_bam_compare/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_coverage/deeptools_bam_coverage/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_pe_fragmentsize/deeptools_bam_pe_fragmentsize/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_compare/deeptools_bigwig_compare/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_compute_gc_bias/deeptools_compute_gc_bias/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_compute_matrix/deeptools_compute_matrix/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_correct_gc_bias/deeptools_correct_gc_bias/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_multi_bam_summary/deeptools_multi_bam_summary/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_multi_bigwig_summary/deeptools_multi_bigwig_summary/.* + - toolshed.g2.bx.psu.edu/repos/devteam/freebayes/freebayes/.* + - toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/.* + - toolshed.g2.bx.psu.edu/repos/iuc/rnaspades/rnaspades/.* + - toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/.* + resource_set: large + set_2xlarge: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/unicycler/unicycler/.* + - toolshed.g2.bx.psu.edu/repos/nml/spades/spades/.* + resource_set: 2xlarge + set_mlarge: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/plink/plink/.* + resource_set: mlarge +resources: + resource_sets: + small: + requests: + cpu: 8 + memory: 16G + limits: + cpu: 8 + memory: 16G + medium: + requests: + cpu: 8 + memory: 16G + limits: + cpu: 8 + memory: 16G + large: + requests: + cpu: 8 + memory: 16G + limits: + cpu: 8 + memory: 16G + 2xlarge: + requests: + cpu: 8 + memory: 16G + limits: + cpu: 8 + memory: 16G + mlarge: + requests: + cpu: 8 + memory: 16G + limits: + cpu: 8 + memory: 16G + default_resource_set: small diff --git a/experiments/google/rules/default.yml b/experiments/google/rules/default.yml new file mode 100644 index 0000000..c12ead7 --- /dev/null +++ b/experiments/google/rules/default.yml @@ -0,0 +1,106 @@ +mappings: + summary_stats: + tool_ids: + - Summary_Statistics1 + docker_container_id_override: cloudve/gsummary:latest + resource_set: small + sam_fasta_dm: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/data_manager_sam_fasta_index_builder/sam_fasta_index_builder/.* + docker_container_id_override: cloudve/sam-fasta-dm:latest + resource_set: small + bwa_dm: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/data_manager_bwa_mem_index_builder/bwa_mem_index_builder_data_manager/.* + docker_container_id_override: cloudve/bwa-dm:latest + resource_set: small + prokka: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/crs4/prokka/prokka/1.14.5 + docker_container_id_override: cloudve/prokka:1.14.5 + jbrowse: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.5+galaxy6 + docker_container_id_override: cloudve/jbrowse:1.16.5 + lib_galaxy: + tool_ids: + - sort1 + - Grouping1 + docker_container_id_override: galaxy/galaxy-min:21.05 + resource_set: small + set_medium: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/bwameth/bwameth/.* + - toolshed.g2.bx.psu.edu/repos/iuc/featurecounts/featurecounts/.* + - toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/valet/valet/.* + - toolshed.g2.bx.psu.edu/repos/iuc/varscan_somatic/varscan_somatic/.* + - toolshed.g2.bx.psu.edu/repos/nilesh/rseqc/rseqc_bam2wig/.* + resource_set: medium + set_large: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/.* + - toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_compare/deeptools_bam_compare/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_coverage/deeptools_bam_coverage/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bam_pe_fragmentsize/deeptools_bam_pe_fragmentsize/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_bigwig_compare/deeptools_bigwig_compare/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_compute_gc_bias/deeptools_compute_gc_bias/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_compute_matrix/deeptools_compute_matrix/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_correct_gc_bias/deeptools_correct_gc_bias/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_multi_bam_summary/deeptools_multi_bam_summary/.* + - toolshed.g2.bx.psu.edu/repos/bgruening/deeptools_multi_bigwig_summary/deeptools_multi_bigwig_summary/.* + - toolshed.g2.bx.psu.edu/repos/devteam/freebayes/freebayes/.* + - toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/.* + - toolshed.g2.bx.psu.edu/repos/iuc/rnaspades/rnaspades/.* + - toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/.* + resource_set: large + set_2xlarge: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/unicycler/unicycler/.* + - toolshed.g2.bx.psu.edu/repos/nml/spades/spades/.* + resource_set: 2xlarge + set_mlarge: + tool_ids: + - toolshed.g2.bx.psu.edu/repos/iuc/minimap2/minimap2/.* + - toolshed.g2.bx.psu.edu/repos/iuc/plink/plink/.* + resource_set: mlarge +resources: + resource_sets: + small: + requests: + cpu: 1 + memory: 2G + limits: + cpu: 2 + memory: 5G + medium: + requests: + cpu: 2 + memory: 4G + limits: + cpu: 4 + memory: 10G + large: + requests: + cpu: 4 + memory: 8G + limits: + cpu: 8 + memory: 16G + 2xlarge: + requests: + cpu: 12 + memory: 20G + limits: + cpu: 12 + memory: 24G + mlarge: + requests: + cpu: 2 + memory: 16G + limits: + cpu: 4 + memory: 20G + default_resource_set: small diff --git a/experiments/google/settings/c2 b/experiments/google/settings/c2 new file mode 100644 index 0000000..4c78d2f --- /dev/null +++ b/experiments/google/settings/c2 @@ -0,0 +1,5 @@ +export MACHINE_FAMILY=c2 +export MACHINE_CPU=30 +export IMAGE=galaxyproject/galaxy-min +export TAG=dev +export CLUSTER_NAME=ks-c2-230122 \ No newline at end of file diff --git a/experiments/google/settings/e2 b/experiments/google/settings/e2 new file mode 100644 index 0000000..966e96d --- /dev/null +++ b/experiments/google/settings/e2 @@ -0,0 +1,5 @@ +export MACHINE_FAMILY=e2 +export MACHINE_CPU=32 +export IMAGE=galaxyproject/galaxy-min +export TAG=dev +export CLUSTER_NAME=ks-e2-230122 \ No newline at end of file diff --git a/experiments/google/settings/n1 b/experiments/google/settings/n1 new file mode 100644 index 0000000..dee8ec0 --- /dev/null +++ b/experiments/google/settings/n1 @@ -0,0 +1,5 @@ +export MACHINE_FAMILY=n1 +export MACHINE_CPU=32 +export IMAGE=galaxyproject/galaxy-min +export TAG=dev +export CLUSTER_NAME=ks-n1-230122 \ No newline at end of file diff --git a/experiments/google/settings/n2 b/experiments/google/settings/n2 new file mode 100644 index 0000000..38addf4 --- /dev/null +++ b/experiments/google/settings/n2 @@ -0,0 +1,5 @@ +export MACHINE_FAMILY=n2 +export MACHINE_CPU=32 +export IMAGE=galaxyproject/galaxy-min +export TAG=dev +export CLUSTER_NAME=ks-n2-230122 \ No newline at end of file diff --git a/experiments/google/settings/test b/experiments/google/settings/test new file mode 100644 index 0000000..135b3ad --- /dev/null +++ b/experiments/google/settings/test @@ -0,0 +1,5 @@ +export MACHINE_FAMILY=n1 +export MACHINE_CPU=16 +export IMAGE=galaxyproject/galaxy-min +export TAG=dev +export CLUSTER_NAME=ks-n1-250122 \ No newline at end of file diff --git a/experiments/google/setup.sh b/experiments/google/setup.sh new file mode 100755 index 0000000..97ba8db --- /dev/null +++ b/experiments/google/setup.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +set -eu + +INSTANCES=${INSTANCES:-n1 n2 c2 e2} +PROFILE=~/.abm/profile.yml + +function rewrite() { + cat $PROFILE | sed "s|$1|$2|" > /tmp/profile.yml + rm $PROFILE + mv /tmp/profile.yml $PROFILE +} + +for i in $INSTANCES ; do + echo "Provisioning $i" + (source settings/$i && ./provision.sh disk cluster galaxy) + cat >> $PROFILE << EOF +$i: + url: __URL__ + key: __KEY__ + kube: ~/.kube/configs/$i +EOF + url=$(abm $i kube url) + rewrite "__URL__" $url + curl $url + key=$(abm $i user key alex@fake.org) + rewrite "__KEY__" $key + echo "Bootstrapping $i" + abm $i workflow upload workflows/dna-cloud-costs.ga + abm $i history import dna + #abm $i history import rna +done + +#abm experiment run experiment.yml + +# TODO Cleanup instances \ No newline at end of file diff --git a/experiments/google/test-experiment.yml b/experiments/google/test-experiment.yml new file mode 100644 index 0000000..5646526 --- /dev/null +++ b/experiments/google/test-experiment.yml @@ -0,0 +1,20 @@ +# Run the simple experiment on four GCP instances with all the job conf files. +name: Google Benchmarking DNA +# The number of times each benchmark will be executed. +runs: 1 +# The benchmarks that will be run as part of the experiment. Each benchmark +# configuration defines the Galaxy workflow and input datasets to be used. +benchmark_confs: + - benchmarks/dna-test-run.yml +# The cloud instances, as defined in the $HOME/.abm/profile.yml file. +cloud: + - test +# The Galaxy container_mapper_rules.yml files that defined the CPU and memory +# resources allocated to tools. List the file names without the .yml extension. +# These files are expected to be found in the rules directory. +job_configs: + - default +# TODO Discuss if this belongs here... +galaxy: + namespace: galaxy + chart: anvil/galaxykubeman diff --git a/experiments/google/test.sh b/experiments/google/test.sh new file mode 100755 index 0000000..0fc351d --- /dev/null +++ b/experiments/google/test.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -eu + +INSTANCES="n1" +ROOT=/Users/suderman/Workspaces/JHU +ANVIL=$ROOT/anvil +PROFILE=~/.abm/profile.yml + +function rewrite() { + cat $PROFILE | sed "s|$1|$2|" > /tmp/profile.yml + rm $PROFILE + mv /tmp/profile.yml $PROFILE +} + +for i in $INSTANCES ; do + key=$(abm $i user key alex@fake.org) + rewrite "__KEY__" $key + abm $i workflow upload workflows/dna-cloud-costs.ga + abm $i history import dna + abm $i history import rna +done \ No newline at end of file diff --git a/experiments/google/tools.yml b/experiments/google/tools.yml new file mode 100644 index 0000000..ba90818 --- /dev/null +++ b/experiments/google/tools.yml @@ -0,0 +1,29 @@ +install_tool_dependencies: True +install_repository_dependencies: True +install_resolver_dependencies: True + +tools: +- name: bowtie2 + owner: devteam + revisions: + - 09b2cdb7ace5 + tool_panel_section_label: Tools from workflows + tool_shed_url: https://toolshed.g2.bx.psu.edu/ +- name: bwa + owner: devteam + revisions: + - 3fe632431b68 + tool_panel_section_label: Tools from workflows + tool_shed_url: https://toolshed.g2.bx.psu.edu/ +- name: hisat2 + owner: iuc + revisions: + - 26371a1df031 + tool_panel_section_label: Tools from workflows + tool_shed_url: https://toolshed.g2.bx.psu.edu/ +- name: stringtie + owner: iuc + revisions: + - 1ebd14235b92 + tool_panel_section_label: Tools from workflows + tool_shed_url: https://toolshed.g2.bx.psu.edu/ diff --git a/experiments/google/values.yml b/experiments/google/values.yml new file mode 100644 index 0000000..7d25756 --- /dev/null +++ b/experiments/google/values.yml @@ -0,0 +1,10 @@ +configs: + galaxy.yml: + galaxy: + job_metrics_config_file: job_metrics_conf.yml + job_metrics_conf.yml: + - type: core + - type: cgroup + - type: cpuinfo + - type: meminfo + - type: uname diff --git a/experiments/google/workflows/dna-cloud-costs.ga b/experiments/google/workflows/dna-cloud-costs.ga new file mode 100644 index 0000000..f5176f3 --- /dev/null +++ b/experiments/google/workflows/dna-cloud-costs.ga @@ -0,0 +1,293 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "Benchmarking DNA Cloud Costs", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "FASTQ Dataset" + } + ], + "label": "FASTQ Dataset", + "name": "Input dataset", + "outputs": [], + "position": { + "bottom": 291.0815869231722, + "height": 40.73332214355469, + "left": 456.7164179104477, + "right": 590.7164179104477, + "top": 250.34826477961752, + "width": 134, + "x": 456.7164179104477, + "y": 250.34826477961752 + }, + "tool_id": null, + "tool_state": "{\"optional\": false}", + "tool_version": null, + "type": "data_input", + "uuid": "f253e8a8-4744-4a1a-911e-d2637ae80e34", + "workflow_outputs": [] + }, + "1": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0", + "errors": null, + "id": 1, + "input_connections": { + "library|input_1": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Bowtie2", + "outputs": [ + { + "name": "output", + "type": "bam" + } + ], + "position": { + "bottom": 235.6096954345703, + "height": 102.55000305175781, + "left": 753.9054756733908, + "right": 887.9054756733908, + "top": 133.0596923828125, + "width": 134, + "x": 753.9054756733908, + "y": 133.0596923828125 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0", + "tool_shed_repository": { + "changeset_revision": "09b2cdb7ace5", + "name": "bowtie2", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"analysis_type\": {\"analysis_type_selector\": \"simple\", \"__current_case__\": 0, \"presets\": \"no_presets\"}, \"library\": {\"type\": \"single\", \"__current_case__\": 0, \"input_1\": {\"__class__\": \"ConnectedValue\"}, \"unaligned_file\": \"false\", \"aligned_file\": \"false\"}, \"reference_genome\": {\"source\": \"indexed\", \"__current_case__\": 0, \"index\": \"hg38\"}, \"rg\": {\"rg_selector\": \"do_not_set\", \"__current_case__\": 3}, \"sam_options\": {\"sam_options_selector\": \"no\", \"__current_case__\": 1}, \"save_mapping_stats\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.4.2+galaxy0", + "type": "tool", + "uuid": "783f490d-0258-4731-bc86-31a767497c10", + "workflow_outputs": [ + { + "label": "Bowtie2 on input dataset(s): alignments", + "output_name": "output", + "uuid": "24b7f2fb-14f4-42c5-b436-e119427457cb" + } + ] + }, + "2": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1", + "errors": null, + "id": 2, + "input_connections": { + "fastq_input|fastq_input1": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Map with BWA-MEM", + "outputs": [ + { + "name": "bam_output", + "type": "bam" + } + ], + "position": { + "bottom": 394.11716108179803, + "height": 102.54998779296875, + "left": 754.4030032940765, + "right": 888.4030032940765, + "top": 291.5671732888293, + "width": 134, + "x": 754.4030032940765, + "y": 291.5671732888293 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1", + "tool_shed_repository": { + "changeset_revision": "3fe632431b68", + "name": "bwa", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"analysis_type\": {\"analysis_type_selector\": \"illumina\", \"__current_case__\": 0}, \"fastq_input\": {\"fastq_input_selector\": \"single\", \"__current_case__\": 1, \"fastq_input1\": {\"__class__\": \"ConnectedValue\"}}, \"reference_source\": {\"reference_source_selector\": \"cached\", \"__current_case__\": 0, \"ref_file\": \"hg38\"}, \"rg\": {\"rg_selector\": \"do_not_set\", \"__current_case__\": 3}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.7.17.1", + "type": "tool", + "uuid": "f0376439-fdc2-4c24-b5ca-4586d5e3f884", + "workflow_outputs": [ + { + "label": "Map with BWA-MEM on input dataset(s) (mapped reads in BAM format)", + "output_name": "bam_output", + "uuid": "a5fbcc16-ce4c-4d98-8457-b327a3a93525" + } + ] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4", + "errors": null, + "id": 3, + "input_connections": { + "input_type|fastq_input1": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Map with BWA", + "outputs": [ + { + "name": "bam_output", + "type": "bam" + } + ], + "position": { + "bottom": 535.8982566719624, + "height": 88.88333129882812, + "left": 752.6368098472481, + "right": 886.6368098472481, + "top": 447.0149253731343, + "width": 134, + "x": 752.6368098472481, + "y": 447.0149253731343 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4", + "tool_shed_repository": { + "changeset_revision": "3fe632431b68", + "name": "bwa", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"analysis_type\": {\"analysis_type_selector\": \"illumina\", \"__current_case__\": 0}, \"input_type\": {\"input_type_selector\": \"single\", \"__current_case__\": 2, \"fastq_input1\": {\"__class__\": \"ConnectedValue\"}, \"adv_se_options\": {\"adv_se_options_selector\": \"do_not_set\", \"__current_case__\": 1}}, \"reference_source\": {\"reference_source_selector\": \"cached\", \"__current_case__\": 0, \"ref_file\": \"hg38\"}, \"rg\": {\"rg_selector\": \"do_not_set\", \"__current_case__\": 3}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.7.17.4", + "type": "tool", + "uuid": "db0f1bae-7b0f-4ff6-803c-1d68ae0b0704", + "workflow_outputs": [ + { + "label": "Map with BWA on input dataset(s) (mapped reads in BAM format)", + "output_name": "bam_output", + "uuid": "fc807a53-d803-422f-9694-174a5ca36523" + } + ] + }, + "4": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7", + "errors": null, + "id": 4, + "input_connections": { + "library|input_1": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "HISAT2", + "outputs": [ + { + "name": "output_alignments", + "type": "bam" + } + ], + "position": { + "bottom": 673.4355762538625, + "height": 88.88334655761719, + "left": 753.6318650886194, + "right": 887.6318650886194, + "top": 584.5522296962453, + "width": 134, + "x": 753.6318650886194, + "y": 584.5522296962453 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7", + "tool_shed_repository": { + "changeset_revision": "26371a1df031", + "name": "hisat2", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": {\"input_options\": {\"input_options_selector\": \"defaults\", \"__current_case__\": 0}, \"alignment_options\": {\"alignment_options_selector\": \"defaults\", \"__current_case__\": 0}, \"scoring_options\": {\"scoring_options_selector\": \"defaults\", \"__current_case__\": 0}, \"spliced_options\": {\"spliced_options_selector\": \"defaults\", \"__current_case__\": 0}, \"reporting_options\": {\"reporting_options_selector\": \"defaults\", \"__current_case__\": 0}, \"output_options\": {\"output_options_selector\": \"defaults\", \"__current_case__\": 0}, \"sam_options\": {\"sam_options_selector\": \"defaults\", \"__current_case__\": 0}, \"other_options\": {\"other_options_selector\": \"defaults\", \"__current_case__\": 0}}, \"library\": {\"type\": \"single\", \"__current_case__\": 0, \"input_1\": {\"__class__\": \"ConnectedValue\"}, \"rna_strandness\": \"\"}, \"reference_genome\": {\"source\": \"indexed\", \"__current_case__\": 0, \"index\": \"hg38\"}, \"sum\": {\"new_summary\": \"false\", \"summary_file\": \"false\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.1.0+galaxy7", + "type": "tool", + "uuid": "92fa568d-0ce5-450b-bfee-34ad271f936b", + "workflow_outputs": [ + { + "label": "HISAT2 on input dataset(s): aligned reads (BAM)", + "output_name": "output_alignments", + "uuid": "e55094e5-090b-4d58-9b98-3957d2256bad" + } + ] + }, + "5": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1", + "errors": null, + "id": 5, + "input_connections": { + "input_bam": { + "id": 4, + "output_name": "output_alignments" + } + }, + "inputs": [], + "label": null, + "name": "StringTie", + "outputs": [ + { + "name": "output_gtf", + "type": "gtf" + } + ], + "position": { + "bottom": 677.7141709968225, + "height": 88.88333129882812, + "left": 1092.363135494403, + "right": 1226.363135494403, + "top": 588.8308396979944, + "width": 134, + "x": 1092.363135494403, + "y": 588.8308396979944 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1", + "tool_shed_repository": { + "changeset_revision": "1ebd14235b92", + "name": "stringtie", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"adv\": {\"abundance_estimation\": \"false\", \"omit_sequences\": \"\", \"name_prefix\": \"\", \"fraction\": \"0.15\", \"min_tlen\": \"200\", \"min_anchor_len\": \"10\", \"min_anchor_cov\": \"1\", \"min_bundle_cov\": \"2\", \"bdist\": \"50\", \"bundle_fraction\": \"0.95\", \"disable_trimming\": \"false\", \"multi_mapping\": \"false\"}, \"guide\": {\"use_guide\": \"no\", \"__current_case__\": 0}, \"input_bam\": {\"__class__\": \"ConnectedValue\"}, \"long_reads\": \"false\", \"rna_strandness\": \"\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.1.1", + "type": "tool", + "uuid": "81d506eb-915d-4c6b-81dd-87bb1ddae188", + "workflow_outputs": [ + { + "label": null, + "output_name": "output_gtf", + "uuid": "eb25e217-a8b3-407a-a38a-6382707919fd" + } + ] + } + }, + "tags": [], + "uuid": "a3b920e7-ac96-45b1-8283-67119cd6ef1e", + "version": 9 +} \ No newline at end of file diff --git a/gcp.sh b/gcp.sh new file mode 100644 index 0000000..3d81dc2 --- /dev/null +++ b/gcp.sh @@ -0,0 +1,3 @@ +export NAMESPACE=ks-benchmark +export POD=galaxy-galaxy-galaxy-postgres-0 +export KUBECONFIG=~/.kube/configs/gcp diff --git a/helm/cloudcosts-common.yml b/helm/cloudcosts-common.yml new file mode 100644 index 0000000..c0c6edd --- /dev/null +++ b/helm/cloudcosts-common.yml @@ -0,0 +1,44 @@ +image: + repository: galaxyproject/galaxy-min + tag: dev +configs: + galaxy.yml: + galaxy: + admin_users: suderman@jhu.edu,bcarr15@jhu.edu,vwen2@jhu.edu,enis.afgan@gmail.com,admin@galaxyproject.org + job_metrics_config_file: job_metrics_conf.yml + job_metrics_conf.yml: + - type: core + - type: cgroup + - type: cpuinfo + - type: meminfo + - type: uname + job_conf.yml: + runners: + k8s: + k8s_unschedulable_walltime_limit: 604800 + k8s_walltime_limit: 604800 +cvmfs: + enabled: true + deploy: true +initJob: + downloadToolConfs: + enabled: true +persistence: + accessMode: ReadWriteMany + size: '50Gi' + storageClass: "nfs" +postgresql: + deploy: true + galaxyDatabasePassword: galaxydbpassword + persistence: + storageClass: nfs +ingress: + enabled: true + canary: + enabled: true + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/proxy-body-size: "10G" + nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + + diff --git a/helm/cloudcosts-template.yml b/helm/cloudcosts-template.yml new file mode 100644 index 0000000..7884911 --- /dev/null +++ b/helm/cloudcosts-template.yml @@ -0,0 +1,74 @@ +ingress: + enabled: true + canary: + enabled: true + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/proxy-body-size: "10G" + nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + hosts: + - host: ~ + paths: + - path: /galaxy + path: /galaxy + tls: + - secretName: {{ name }}-{{ domain }}-{{ tld }} + hosts: + - {{ name }}.{{ domain }}.{{ tld }} +extraFileMappings: + /galaxy/server/static/welcome.html: + useSecret: false + applyToWeb: true + applyToNginx: true + tpl: true + content: | + + + + + + + +
+
+

Galaxy Cloud Costs

+

{{ title }}

+

Welcome to the Galaxy Cloud Cost Benchmarking instance hosted on {{ location }}. + This is a development instance used for testing and the node configuration will likely evolve over time.

+

Please create an account using your JHU email address to be granted admin access to this server.

+

Resources

+ +
+
+
+
+

Take an interactive tour: + Galaxy UI + History + Scratchbook +

+
+
+
+

+ + Galaxy is an open platform for supporting data intensive + research. Galaxy is developed by The Galaxy Team + with the support of many contributors. +

+ +
+ + + diff --git a/js.sh b/js.sh new file mode 100644 index 0000000..52aec4a --- /dev/null +++ b/js.sh @@ -0,0 +1,3 @@ +export NAMESPACE=initial +export POD=galaxy-galaxy-1626291120-galaxy-postgres-0 +export KUBECONFIG=~/.kube/configs/js diff --git a/query-all.sh b/query-all.sh new file mode 100755 index 0000000..5633a55 --- /dev/null +++ b/query-all.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +#QUERIES="numjobs history_runtimes" +QUERIES="all_history_runtimes" + +if [[ ! -e results ]] ; then + echo "Making output directory" + mkdir results +fi + +for cloud in js aws gcp ; do + source ./$cloud.sh + for query in $@ ; do + echo "Running $query on $cloud" + kubectl exec -in $NAMESPACE $POD -- sudo -u postgres psql -d galaxy --csv < sql/$query.sql > results/$cloud-$query.csv + done +done diff --git a/results/aws-all_history_runtimes.csv b/results/aws-all_history_runtimes.csv new file mode 100644 index 0000000..e69de29 diff --git a/results/aws-history_runtimes.csv b/results/aws-history_runtimes.csv new file mode 100644 index 0000000..e394e03 --- /dev/null +++ b/results/aws-history_runtimes.csv @@ -0,0 +1,7 @@ +history_id,create_time,tool_id,job_memory_gb,cpu_count,total_runtime_sec +20,2021-08-12 22:41:40.563219,toolshed.g2.bx.psu.edu/repos/bgruening/salmon/salmon/1.5.1+galaxy0,0.00000000000000000000,1,1 +20,2021-08-12 22:41:40.423673,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,0.00000000000000000000,1,1 +20,2021-08-12 22:41:40.613855,toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1,0.00000000000000000000,1,1 +20,2021-08-12 22:41:40.492723,toolshed.g2.bx.psu.edu/repos/iuc/kallisto_quant/kallisto_quant/0.46.2+galaxy0,0.00000000000000000000,1,1 +20,2021-08-12 22:41:40.304246,toolshed.g2.bx.psu.edu/repos/devteam/fastq_paired_end_deinterlacer/fastq_paired_end_deinterlacer/1.1.5,0.00000000000000000000,1,1 +20,2021-08-12 22:41:40.366969,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,0.00000000000000000000,1,1 diff --git a/results/aws-numjobs.csv b/results/aws-numjobs.csv new file mode 100644 index 0000000..ae1ae4c --- /dev/null +++ b/results/aws-numjobs.csv @@ -0,0 +1,12 @@ +date,tool_id,num_jobs +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1,71 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,71 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,70 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,40 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/kallisto_quant/kallisto_quant/0.46.2+galaxy0,33 +2021-08,toolshed.g2.bx.psu.edu/repos/bgruening/salmon/salmon/1.5.1+galaxy0,32 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,31 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/fastq_paired_end_deinterlacer/fastq_paired_end_deinterlacer/1.1.5,24 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fastq_dump/2.11.0+galaxy0,8 +2021-08,__DATA_FETCH__,5 +2021-08,CONVERTER_gz_to_uncompressed,2 diff --git a/results/gcp-all_history_runtimes.csv b/results/gcp-all_history_runtimes.csv new file mode 100644 index 0000000..e69de29 diff --git a/results/gcp-history_runtimes.csv b/results/gcp-history_runtimes.csv new file mode 100644 index 0000000..2a35c3f --- /dev/null +++ b/results/gcp-history_runtimes.csv @@ -0,0 +1,6 @@ +history_id,create_time,tool_id,job_memory_gb,cpu_count,total_runtime_sec +20,2021-08-15 06:42:10.4714,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,50.0000000000000000,15.0000000,750.00000000000000 +20,2021-08-15 06:42:10.533504,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,50.0000000000000000,15.0000000,3270.00000000000000 +20,2021-08-15 06:42:10.634925,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,50.0000000000000000,15.0000000,765.00000000000000 +20,2021-08-15 06:42:10.583748,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,50.0000000000000000,15.0000000,870.00000000000000 +20,2021-08-15 06:42:10.683897,toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1,50.0000000000000000,15.0000000,240.00000000000000 diff --git a/results/gcp-numjobs.csv b/results/gcp-numjobs.csv new file mode 100644 index 0000000..3b763f3 --- /dev/null +++ b/results/gcp-numjobs.csv @@ -0,0 +1,12 @@ +date,tool_id,num_jobs +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,56 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1,55 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,54 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,34 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,22 +2021-08,toolshed.g2.bx.psu.edu/repos/bgruening/salmon/salmon/1.3.0+galaxy1,22 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/kallisto_quant/kallisto_quant/0.46.0.4,22 +2021-08,CONVERTER_gz_to_uncompressed,18 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/fastq_paired_end_deinterlacer/fastq_paired_end_deinterlacer/1.1.5,13 +2021-08,__DATA_FETCH__,10 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fastq_dump/2.11.0+galaxy0,9 diff --git a/results/js-all_history_runtimes.csv b/results/js-all_history_runtimes.csv new file mode 100644 index 0000000..e69de29 diff --git a/results/js-history_runtimes.csv b/results/js-history_runtimes.csv new file mode 100644 index 0000000..b423b82 --- /dev/null +++ b/results/js-history_runtimes.csv @@ -0,0 +1,24 @@ +history_id,create_time,tool_id,job_memory_gb,cpu_count,total_runtime_sec +20,2021-07-16 05:34:57.420143,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,0.00000000000000000000,1,1 +20,2021-07-16 04:28:40.465351,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,0.00000000000000000000,1,1 +20,2021-07-16 05:03:53.163886,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,0.00000000000000000000,1,1 +20,2021-07-16 07:03:02.224351,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,8.0000000000000000,4.0000000,12140.00000000000000 +20,2021-07-16 13:20:24.51696,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,0.00000000000000000000,1,1 +20,2021-07-16 13:20:24.420054,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,0.00000000000000000000,1,1 +20,2021-07-16 13:20:24.315648,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,0.00000000000000000000,1,1 +20,2021-07-16 13:20:24.197373,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,0.00000000000000000000,1,1 +20,2021-07-16 04:28:06.956484,__DATA_FETCH__,2.0000000000000000,1.0000000,191.00000000000000 +20,2021-07-16 05:03:53.255484,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,4.0000000000000000,2.0000000,1164.00000000000000 +20,2021-07-16 05:03:52.875029,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,4.0000000000000000,2.0000000,6974.00000000000000 +20,2021-07-16 04:28:40.583836,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,0.00000000000000000000,1,1 +20,2021-07-16 04:28:15.541837,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,0.00000000000000000000,1,1 +20,2021-07-16 04:28:15.728841,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,0.00000000000000000000,1,1 +20,2021-07-16 05:03:53.048919,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,8.0000000000000000,4.0000000,26620.00000000000000 +20,2021-07-16 04:28:15.821936,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,0.00000000000000000000,1,1 +20,2021-07-16 04:28:40.679963,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,0.00000000000000000000,1,1 +20,2021-07-16 04:28:15.916962,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,0.00000000000000000000,1,1 +20,2021-07-16 04:28:40.342846,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,0.00000000000000000000,1,1 +20,2021-07-20 23:52:39.851971,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,8.0000000000000000,4.0000000,4476.00000000000000 +20,2021-07-21 00:15:32.125309,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,8.0000000000000000,4.0000000,8116.00000000000000 +20,2021-07-21 13:21:01.324047,toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1,2.0000000000000000,1.0000000,151.00000000000000 +20,2021-08-03 14:12:30.46481,toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1,8.0000000000000000,4.0000000,412.00000000000000 diff --git a/results/js-numjobs.csv b/results/js-numjobs.csv new file mode 100644 index 0000000..f72e6f5 --- /dev/null +++ b/results/js-numjobs.csv @@ -0,0 +1,45 @@ +date,tool_id,num_jobs +2021-07,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,65 +2021-07,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,65 +2021-07,__DATA_FETCH__,60 +2021-07,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,52 +2021-07,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,40 +2021-07,toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1,32 +2021-07,toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fastq_dump/2.11.0+galaxy0,22 +2021-07,polyester,14 +2021-07,CONVERTER_gz_to_uncompressed,14 +2021-07,toolshed.g2.bx.psu.edu/repos/iuc/rgrnastar/rna_star/2.7.8a+galaxy0,9 +2021-07,toolshed.g2.bx.psu.edu/repos/bgruening/salmon/salmon/1.3.0+galaxy1,9 +2021-07,upload1,8 +2021-07,toolshed.g2.bx.psu.edu/repos/devteam/fastq_paired_end_deinterlacer/fastq_paired_end_deinterlacer/1.1.5,6 +2021-07,toolshed.g2.bx.psu.edu/repos/bgruening/salmon/salmon/1.5.1+galaxy0,6 +2021-07,toolshed.g2.bx.psu.edu/repos/iuc/kallisto_quant/kallisto_quant/0.46.0.4,6 +2021-07,toolshed.g2.bx.psu.edu/repos/jjohnson/rsem/rsem_calculate_expression/1.1.17,5 +2021-07,toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_head_tool/1.1.0,5 +2021-07,toolshed.g2.bx.psu.edu/repos/jjohnson/rsem/rsem_prepare_reference/1.1.17,5 +2021-07,toolshed.g2.bx.psu.edu/repos/iuc/kallisto_quant/kallisto_quant/0.46.2+galaxy0,3 +2021-07,random_lines1,3 +2021-07,CONVERTER_fasta_to_tabular,3 +2021-07,toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.72+galaxy1,3 +2021-07,toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fasterq_dump/2.11.0+galaxy0,2 +2021-07,Show beginning1,2 +2021-07,CONVERTER_bam_to_bigwig_0,1 +2021-07,Show tail1,1 +2021-07,__SET_METADATA__,1 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/stringtie/stringtie/2.1.1,47 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bowtie2/bowtie2/2.4.2+galaxy0,44 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa_mem/0.7.17.1,35 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/hisat2/hisat2/2.1.0+galaxy7,28 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/kallisto_quant/kallisto_quant/0.46.0.4,20 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/fastq_paired_end_deinterlacer/fastq_paired_end_deinterlacer/1.1.5,19 +2021-08,toolshed.g2.bx.psu.edu/repos/bgruening/salmon/salmon/1.3.0+galaxy1,19 +2021-08,__DATA_FETCH__,13 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fastq_dump/2.11.0+galaxy0,8 +2021-08,toolshed.g2.bx.psu.edu/repos/devteam/bwa/bwa/0.7.17.4,7 +2021-08,upload1,7 +2021-08,CONVERTER_gz_to_uncompressed,7 +2021-08,toolshed.g2.bx.psu.edu/repos/iuc/kallisto_quant/kallisto_quant/0.46.2+galaxy0,5 +2021-08,toolshed.g2.bx.psu.edu/repos/bgruening/salmon/salmon/1.5.1+galaxy0,4 +2021-08,polyester,1 +2021-08,CONVERTER_fasta_to_tabular,1 +2021-08,toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_tail_tool/1.1.0,1 diff --git a/sql/.gitignore b/sql/.gitignore new file mode 100644 index 0000000..e4d2245 --- /dev/null +++ b/sql/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +.idea/ +.venv/ diff --git a/sql/all_history_runtimes.sql b/sql/all_history_runtimes.sql new file mode 100644 index 0000000..4f183bf --- /dev/null +++ b/sql/all_history_runtimes.sql @@ -0,0 +1,70 @@ +-- Calculate runtime of each job in a history, reporting tool id, real runtime, +-- system runtime, allocated amount of memory, and number of CPUs. +SELECT + j.history_id, + j.create_time, + j.tool_id, + ROUND(job_memory_gb, 1) AS job_memory_gb, + cpu_count :: int, + (cpu_count * runtime_seconds) :: int AS system_runtime_sec, + runtime_seconds :: int AS real_runtime_sec +FROM + ( + SELECT + id, + user_id, + history_id, + history_name, + create_time, + tool_id, + COALESCE( + ( + SELECT + metric_value + FROM + job_metric_numeric + WHERE + metric_name = 'galaxy_memory_mb' + AND job_metric_numeric.job_id = job.id + ), + 0 + ) / 1000.00 AS job_memory_gb, + COALESCE( + ( + SELECT + metric_value + FROM + job_metric_numeric + WHERE + metric_name = 'galaxy_slots' + AND job_metric_numeric.job_id = job.id + ), + 1 + ) AS cpu_count, + COALESCE( + ( + SELECT + metric_value + FROM + job_metric_numeric + WHERE + metric_name = 'runtime_seconds' + AND job_metric_numeric.job_id = job.id + ), + 1 + ) AS runtime_seconds + FROM + job + WHERE + job.id IN ( + SELECT + job_id + FROM + dataset + INNER JOIN history_dataset_association ON history_dataset_association.dataset_id = dataset.id + WHERE + history_dataset_association.deleted = false + ) + ) AS j +ORDER BY + j.create_time DESC;