Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F122881453
cryosparc_install.sh
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Jul 22, 17:20
Size
3 KB
Mime Type
text/x-shellscript
Expires
Thu, Jul 24, 17:20 (2 d)
Engine
blob
Format
Raw Data
Handle
27535937
Attached To
rSCCRYOSPARC scitas-cryosparc-scripts
cryosparc_install.sh
View Options
#!/bin/bash
set
-euo pipefail
# Script made from the page
# https://docs.ycrc.yale.edu/clusters-at-yale/guides/cryosparc/
license_id
=
install_path
=
"$HOME"
/cryosparc
cryosparc_passwd
=
Password123
# set up some more paths
db_path
=
${
install_path
}
/database
worker_path
=
${
install_path
}
/cryosparc2_worker
# Usage
usage
()
{
echo
"Usage:"
echo
" -l license_id : License ID"
echo
" -p install path : prefix for installation [${install_path}] "
echo
" -v : be verbose"
echo
" -h : print this notice"
echo
""
}
VERBOSE
=
false
# Parse options
while
getopts
":l:p:vh"
opt;
do
case
$opt
in
l
)
license_id
=
"${OPTARG}"
;;
p
)
install_path
=
"${OPTARG}"
;;
v
)
VERBOSE
=
true
;;
h
)
usage
OPTIND
=
1
exit
0
;;
\?
)
echo
"Invalid option: -$OPTARG"
>&2
usage
OPTIND
=
1
exit
1
;;
:
)
echo
"Option -$OPTARG requires an argument."
>&2
usage
OPTIND
=
1
exit
1
;;
esac
done
# Reset OPTIND to allow the next invocation to work
OPTIND
=
1
message
()
{
if
$VERBOSE
then
echo
"${1}"
fi
}
if
[
"x${license_id}"
==
"x"
]
;
then
echo
"[Error] No license id was provided"
>&2
usage
exit
2
fi
message
"[Info] Preparing the install path and dowloading cryosparc_master and cryosparc_worker"
# go get the installers
mkdir -p
$install_path
cd
$install_path
# Download master
curl -sL -C - -
\#
https://get.cryosparc.com/download/master-latest/
$license_id
-o cryosparc2_master.tar.gz
# Download worker
curl -sL -C - -
\#
https://get.cryosparc.com/download/worker-latest/
$license_id
-o cryosparc2_worker.tar.gz
message
"[Info] Expanding tarballs"
tar -xf cryosparc2_master.tar.gz
tar -xf cryosparc2_worker.tar.gz
module load gcc cuda python
message
"[Info] Installing master"
cd
${
install_path
}
/cryosparc_master
./install.sh --license
$license_id
--hostname
$(
hostname
)
--dbpath
$db_path
--yes
set
+u
source
~/.bashrc
set
-u
message
"[Info] Installing worker"
cd
${
install_path
}
/cryosparc_worker
./install.sh --license
$license_id
--cudapath
$CUDA_HOME
--yes
set
+u
source
~/.bashrc
set
-u
message
"[Info] Creating worker configs"
cryosparc_master_path
=
${
install_path
}
/cryosparc_master
if
[
$(
grep -c
"export PATH"
${
cryosparc_master_path
}
/config.sh
)
-eq 0
]
;
then
echo
"export PATH=${cryosparc_master_path}/bin:\$PATH"
>>
${
cryosparc_master_path
}
/config.sh
fi
if
[
$(
grep -q
"export CRYOSPARC_HOSTNAME_CHECK"
${
cryosparc_master_path
}
/config.sh
)
-eq 0
]
;
then
echo
"export CRYOSPARC_HOSTNAME_CHECK=${master_host}"
>>
${
cryosparc_master_path
}
/config.sh
fi
mkdir -p
${
install_path
}
/site_configs
&&
cd
${
install_path
}
/site_configs
cat
<< EOF > cluster_info.json
{
"name" : "farnam",
"worker_bin_path" : "${install_path}/cryosparc2_worker/bin/cryosparcw",
"cache_path" : "/tmp/{{ cryosparc_username }}/cryosparc_cache",
"send_cmd_tpl" : "{{ command }}",
"qsub_cmd_tpl" : "sbatch {{ script_path_abs }}",
"qstat_cmd_tpl" : "squeue -j {{ cluster_job_id }}",
"qdel_cmd_tpl" : "scancel {{ cluster_job_id }}",
"qinfo_cmd_tpl" : "sinfo"
}
EOF
cat
<< EOF > cluster_script.sh
#!/bin/bash -l
#SBATCH --job-name cryosparc_{{ project_uid }}_{{ job_uid }}
#SBATCH -c {{ num_cpu }}
#SBATCH --gres:gpu={{ num_gpu }}
#SBATCH --mem={{ (ram_gb*1024)|int }}
#SBATCH -o {{ job_dir_abs }}
#SBATCH -e {{ job_dir_abs }}
module load gcc cuda python
ln -sf \${TMPDIR} /tmp/${USER}/cryosparc2_cache
{{ run_cmd }}
EOF
Event Timeline
Log In to Comment