GenoTools icon indicating copy to clipboard operation
GenoTools copied to clipboard

containerized predictions fail due to permissions in the container

Open dvitale199 opened this issue 6 months ago • 0 comments

Describe the bug when attempting to run containerized predictions, a user with an unknown OS encountered the following error:

Getting Common SNPs

/usr/local/lib/python3.10/dist-packages/genotools/utils.py:404: DtypeWarning: Columns (0) have mixed types. Specify dtype option on import or set low_memory=False.

  bim1 = pd.read_csv(f'{geno_path1}.bim', sep='\t', header=None)

Traceback (most recent call last):

  File "/usr/local/bin/genotools", line 8, in <module>

    sys.exit(handle_main())

  File "/usr/local/lib/python3.10/dist-packages/genotools/__main__.py", line 152, in handle_main

    out_dict = execute_pipeline(run_steps_list, ordered_steps, args_dict['geno_path'], args_dict['out'], samp_qc=samp_qc, var_qc=var_qc, ancestry=ancestry, assoc=assoc, args=args_dict, tmp_dir=tmp_dir)

  File "/usr/local/lib/python3.10/dist-packages/genotools/pipeline.py", line 128, in execute_pipeline

    out_dict[step] = steps_dict[step]()

  File "/usr/local/lib/python3.10/dist-packages/genotools/ancestry.py", line 1103, in run_ancestry

    trained_clf, pred = self.get_containerized_predictions(

  File "/usr/local/lib/python3.10/dist-packages/genotools/ancestry.py", line 681, in get_containerized_predictions

    X_test.to_csv(f'{container_dir}/X_test.txt', sep='\t', index=False)

  File "/usr/local/lib/python3.10/dist-packages/pandas/core/generic.py", line 3772, in to_csv

    return DataFrameRenderer(formatter).to_csv(

  File "/usr/local/lib/python3.10/dist-packages/pandas/io/formats/format.py", line 1186, in to_csv

    csv_formatter.save()

  File "/usr/local/lib/python3.10/dist-packages/pandas/io/formats/csvs.py", line 240, in save

    with get_handle(

  File "/usr/local/lib/python3.10/dist-packages/pandas/io/common.py", line 859, in get_handle

    handle = open(

PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.10/dist-packages/genotools/container/X_test.txt'

To Reproduce Steps to reproduce the behavior (NA if not applicable). Can include commands that were run: user attempted to run:

genotools \
--pfile /path/to/genotypes/for/qc \
--out /path/to/qc/output \
--ancestry \
--ref_panel /path/to/reference/panel \
--ref_labels /path/to/reference/ancestry/labels \
--all_sample \
--all_variant
--container

Expected behavior predictions should be assigned via a model that is copied over to the container

Desktop (please complete the following information):

  • OS:
  • Version 1.0.0
  • Python version: 3.10

Additional context This is expected to be a result of processes being run in an hpc system that does not have docker available. the --singularity option should solve this if singularity is available on the system, otherwise user will have to train a new model locally using the base command:

genotools \
--pfile /path/to/genotypes/for/qc \
--out /path/to/qc/output \
--ancestry \
--ref_panel /path/to/reference/panel \
--ref_labels /path/to/reference/ancestry/labels \
--all_sample \
--all_variant

dvitale199 avatar Dec 13 '23 21:12 dvitale199