## This script contains all commands executed in the PROJECT eyt8ot and can be run again using the ASAP_run docker (https://hub.docker.com/layers/fabdavid/asap_run) echo '*******************Reproducing analysis of PROJECT eyt8ot / ASAP116**********************' echo '***************************************************************************************' ## CONFIGURATION (edit below to match your machine; lines until the separator) export ASAP_PROJECTS_DIR=/asap_projects ## change this to write analysis results there (there will be subdirectory for each project key). export LOOM_DIR=$ASAP_PROJECTS_DIR/loom_files export ASAP_DATA_DB_HOST=localhost; export ASAP_DATA_DB_PORT=5432 export PSQL_DIR=/usr/pgsql-10/bin ## ========================================================= export PROJECT_DIR=$ASAP_PROJECTS_DIR/eyt8ot ## Pull Docker images (must run before any docker run in this script) docker pull fabdavid/asap_run:v8 ## Host LOOM staging directory (inside Docker volume) docker run --entrypoint '/bin/sh' --rm -v $ASAP_PROJECTS_DIR:$ASAP_PROJECTS_DIR fabdavid/asap_run:v8 -c "mkdir -p $LOOM_DIR; chmod 777 $LOOM_DIR" echo 'This project is PUBLIC => Nothing to do' ## Local PostgreSQL: create ASAP data database and load dump if missing if ! psql -lqt | cut -d \| -f 1 | grep -qw asap_data_v8; then echo 'Create database asap_data_v8'; echo '$PSQL_DIR/createdb -p $ASAP_DATA_DB_PORT asap_data_v8'; $PSQL_DIR/createdb -p $ASAP_DATA_DB_PORT asap_data_v8; echo 'wget -qO - https://asap.epfl.ch/dumps/asap_data_v8.sql.gz | gunzip | grep -v \'AS integer\' | $PSQL_DIR/psql -p $ASAP_DATA_DB_PORT asap_data_v8'; wget -qO - https://asap.epfl.ch/dumps/asap_data_v8.sql.gz | gunzip | grep -v 'AS integer' | $PSQL_DIR/psql -p $ASAP_DATA_DB_PORT asap_data_v8; fi ## Project directory on the shared volume docker run --entrypoint '/bin/sh' --rm -v $ASAP_PROJECTS_DIR:$ASAP_PROJECTS_DIR fabdavid/asap_run:v8 -c "mkdir -p $PROJECT_DIR" ## Step output directories (one folder per pipeline step that has runs) docker run --entrypoint '/bin/sh' --rm -v $ASAP_PROJECTS_DIR:$ASAP_PROJECTS_DIR fabdavid/asap_run:v8 -c "mkdir -p $PROJECT_DIR/parsing/ && mkdir -p $PROJECT_DIR/export_h5ad/" ## Parsed LOOM file (public: wget; private: place file then symlink as below) echo 'Loading parsed Loom file...' docker run --entrypoint '/bin/sh' --rm -v $ASAP_PROJECTS_DIR:$ASAP_PROJECTS_DIR fabdavid/asap_run:v8 -c "wget -qO $PROJECT_DIR/parsing/output.loom 'https://asap.epfl.ch/projects/eyt8ot/get_file?filename=parsing/output.loom'" ## Re-execute each recorded run (parsing step is skipped; LOOM is already in place) ## ---------------------------------------------------------------- ## Run 834005 Export H5AD (Export H5AD #1 loom_to_h5ad) ## ---------------------------------------------------------------- ## Ensure output directory exists docker run --entrypoint '/bin/sh' --rm -v $ASAP_PROJECTS_DIR:$ASAP_PROJECTS_DIR fabdavid/asap_run:v8 -c "mkdir -p $PROJECT_DIR/export_h5ad/834005/" ## Running Export H5AD [834005] [Export H5AD #1 loom_to_h5ad] (Input Loom path:parsing/output.loom Input Loom absolute path:/data/asap/users/6/eyt8ot/parsing/output.loom Output H5AD absolute path:/data/asap/users/6/eyt8ot/parsing/output.h5ad) echo '-> Running Export H5AD [834005] [Export H5AD #1 loom_to_h5ad] (Input Loom path:parsing/output.loom Input Loom absolute path:/data/asap/users/6/eyt8ot/parsing/output.loom Output H5AD absolute path:/data/asap/users/6/eyt8ot/parsing/output.h5ad)' ## Command docker run --name asap_834005 --network=asap_network -e HOST_USER_ID=$(id -u) -e HOST_USER_GID=$(id -g) --entrypoint '/bin/sh' --rm -v /data/asap:/data/asap -v /mnt/asap_data/ensembl:/mnt/asap_data/ensembl:ro -e ENSEMBL_DATA_DIR=/mnt/asap_data/ensembl --env-file /data/asap/.env_asap_run fabdavid/asap_run:v8 -c "sh -c 'python loom_to_h5ad.v8.py -i $PROJECT_DIR/parsing/output.loom -o $PROJECT_DIR/parsing/output.h5ad -d $PROJECT_DIR/export_h5ad/834005 1> $PROJECT_DIR/export_h5ad/834005/exec.out 2> $PROJECT_DIR/export_h5ad/834005/exec.err'"