CostaLab / reg-gen

Regulatory Genomics Toolbox: Python library and set of tools for the integrative analysis of high throughput regulatory genomics data.
https://reg-gen.readthedocs.io/
Other
103 stars 30 forks source link

RGT Hint differential error #260

Closed gf5634 closed 1 year ago

gf5634 commented 1 year ago

Hi,

I am trying to perform a differential footprinting analysis with the following command

rgt-hint differential --organism=mm10 --bc --nc 3 --mpbs-files=./MotifMatching/control_mpbs.bed,./MotifMatching/rela_ko_mpbs.bed --reads-files=/home/marina/DATOS/RELA_KO/TF_footprinting/control_NOdups_NOmit_NOblack_NOnu.bam,/home/marina/DATOS/RELA_KO/TF_footprinting/rela_ko_NOdups_NOmit_NOblack_NOnu.bam --conditions=control,rela_ko --output-location=./DiffFootprinting

But I get the following error

 4 cpus are detected and 3 of them will be used...

generating signal for each motif and condition...

generating signal for condition control 

generating signal for condition rela_ko 

signal generation is done!

generating line plot for each motif...

multiprocessing.pool.RemoteTraceback: 

Traceback (most recent call last):
  File "/home/marina/miniconda3/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/home/marina/miniconda3/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
    return list(map(*args))
  File "/home/marina/miniconda3/lib/python3.10/site-packages/rgt/HINT/DifferentialAnalysis.py", line 506, in output_line_plot
    with open(output_filename, "w") as f:
OSError: [Errno 22] Invalid argument: './DiffFootprinting/Lineplots/MA1126.1.FOS::JUN_var.2.txt'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/marina/miniconda3/bin/rgt-hint", line 8, in <module>
    sys.exit(main())
  File "/home/marina/miniconda3/lib/python3.10/site-packages/rgt/HINT/Main.py", line 95, in main
    args.func(args)
  File "/home/marina/miniconda3/lib/python3.10/site-packages/rgt/HINT/DifferentialAnalysis.py", line 258, in diff_analysis_run
    pool.map(output_line_plot, arguments_list)
  File "/home/marina/miniconda3/lib/python3.10/multiprocessing/pool.py", line 367, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/home/marina/miniconda3/lib/python3.10/multiprocessing/pool.py", line 774, in get
    raise self._value
OSError: [Errno 22] Invalid argument: './DiffFootprinting/Lineplots/MA1126.1.FOS::JUN_var.2.txt'

Some plots are generated in the Lineplots folder, and also a differential_factor.txt file is generated.

Any suggestion on how to solve the problem would be greatly appreciated.

lzj1769 commented 1 year ago

Hi,

Can you check which version of RGT you are using by typing rgt-hint --version?

gf5634 commented 1 year ago

Hi, it is the v1.0.2

gf5634 commented 1 year ago

I also tried to do the tutorial (Differential Footprints on Dendritic Cell specification) and everything goes well until the last step (rgt-hint differential), where I get the same error:

rgt-hint differential --organism=mm9 --bc --nc 4 --mpbs-files=./match/cDC1_mpbs.bed,./match/pDC_mpbs.bed --reads-files=cDC1.bam,pDC.bam --conditions=cDC1,pDC --output-location=cDC1_pDC
 4 cpus are detected and 4 of them will be used...

generating signal for each motif and condition...

generating signal for condition cDC1 

generating signal for condition pDC 

signal generation is done!

generating line plot for each motif...

multiprocessing.pool.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/home/marina/miniconda3/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/home/marina/miniconda3/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
    return list(map(*args))
  File "/home/marina/miniconda3/lib/python3.10/site-packages/rgt/HINT/DifferentialAnalysis.py", line 506, in output_line_plot
    with open(output_filename, "w") as f:
OSError: [Errno 22] Invalid argument: 'cDC1_pDC/Lineplots/MA1128.1.FOSL1::JUN.txt'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/marina/miniconda3/bin/rgt-hint", line 8, in <module>
    sys.exit(main())
  File "/home/marina/miniconda3/lib/python3.10/site-packages/rgt/HINT/Main.py", line 95, in main
    args.func(args)
  File "/home/marina/miniconda3/lib/python3.10/site-packages/rgt/HINT/DifferentialAnalysis.py", line 258, in diff_analysis_run
    pool.map(output_line_plot, arguments_list)
  File "/home/marina/miniconda3/lib/python3.10/multiprocessing/pool.py", line 367, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/home/marina/miniconda3/lib/python3.10/multiprocessing/pool.py", line 774, in get
    raise self._value
OSError: [Errno 22] Invalid argument: 'cDC1_pDC/Lineplots/MA1128.1.FOSL1::JUN.txt'

I would really appreciate any help, thank you very much

lzj1769 commented 1 year ago

Hi,

The error means that 'cDC1_pDC/Lineplots/MA1128.1.FOSL1::JUN.txt' is not an valid path string.

Can you try to run rgt with python3.6? To do this, simply create another conda environment with Python3.6 and install rgt:

conda create -n rgt_py36 python=3.6
conda activate rgt_py36
pip install rgt

Then you can use it as usual.

I didn't test it with Python 3.10, so probably there are some incompatibility. I will check it out later.

Let me know if this solves the issue.

gf5634 commented 1 year ago

Hi,

Yes, that solved the problem.

Thank you very much!