Unable to change models directory location using docker implementation of HLAthena-external

81 views
Skip to first unread message

Benjamin Weeder

unread,
Oct 25, 2021, 2:38:31 PM10/25/21
to HLAthena

Hi HLAthena team, 

I’m currently trying to set up HLAthena-external on a shared compute cluster using the Docker container provided through `ssarkizova/hlathena-external`. I’ve run into a couple issues during set up that I’m hoping someone may be able to assist with.

Specifically, it looks like the Docker implementation of HLAthena is attempting to create some temporary directories in locations I don’t have permissions for in the shared space, with no option to select a different directory option. I’ve narrowed this down to specifically the `models` and `models_panpan` directories. Based on the log file it looks like they’re both trying to be created off of the root directory (see below), however I can’t find a way to specify an alternative location.

`models_dir=/models/`

`panmodels_dir=/models_panpan/`

Is there a way to change the location where HLAthena attempts to mount these two directories? I’ve tried via command line options, however there’s none I can find that are specified to change those parameters. Additionally, I’ve tried importing both into docker as environmental variables with no luck using that approach either.

Any help you could provide would be greatly appreciated.

Thanks,

Ben Weeder

Arnau PC

unread,
May 18, 2022, 11:38:21 AM5/18/22
to HLAthena
Hello,

I have had same issue with singularities and I have solved it by manually changing the 'predict_docker.bash' script.  Pull out the predict_docker.bash out of the container first. So, there are 6 lines that are trying to create the corresponding directories in the root system / and you end up with permissions error related to the 'mkdir' . 
models_dir='/models/'
models_linear_dir='/models/models_linear/'
models_ecdf_dir='/models/ecdf/'
panmodels_dir='/models_panpan/'
panmodels_linear_dir='/models_panpan/models_linear_pan_pan/'
panmodels_ecdf_dir='/models_panpan/ecdf/'

So I have just added the path to my working directory to those lines and the directories can be created since I have the corresponding permissions for the mkdir:
models_dir='/home/aperis/hlathena/models/'
echo models_dir=${models_dir}
models_linear_dir='/home/aperis/hlathena/models/models_linear/'
models_ecdf_dir='/home/aperis/hlathena/models/ecdf/'

panmodels_dir='/home/aperis/hlathena/models_panpan/'
echo panmodels_dir=${panmodels_dir}
panmodels_linear_dir='/home/aperis/hlathena/models_panpan/models_linear_pan_pan/'
panmodels_ecdf_dir='/home/aperis/hlathena/models_panpan/ecdf/'

Then, when you run the container, instead of using 'predict' just use the path that points to the modified bash script.
An example with singularities:

singularity exec --cleanenv -B /path_you_want_to_mount/:/home/aperis/hlathena/ ./hlaathena.sif /home/aperis/hlathena/predict_docker.bash --rundir /home/aperis/hlathena -a /home/aperis/hlathena/HLA_alleles_list.txt -p /home/aperis/hlathena/peptides_list.txt --runID test1

Hope this can help!

Reply all
Reply to author
Forward
0 new messages