AlgoLab / galig

A graph aligner
GNU General Public License v3.0
26 stars 12 forks source link

Salmon installation not found after pip installation in Asgal #14

Open singhsakshi opened 3 years ago

singhsakshi commented 3 years ago

I installed Asgal in the virtual environment on shared resources HPC using python 3.8 and installed all the packages required using pip install. On Asgal gives error of not finding Salmon

[ Mar 08, 2021 - 10:44:56AM ] args Namespace(allevents=False, annoPath='/GENOMEFILES/ensemble_genomefasta/Homo_sapiens.GRCh38.100.gtf', debug=False, e='3', l='15', multiMode=True, outputPath='/SOFTWARES/asgalvm/output/R01', refPath='/GENOMEFILES/ensemble_genomefasta/Homo_sapiens.GRCh38.dna.primary_assembly.fa', sample1Path='/U2OS/u2os_rawdata/63-Z01-F001/raw_data/R01/R01_1_val_1.fq.gz', sample2Path='/U2OS/u2os_rawdata/63-Z01-F001/raw_data/R01/R01_2_val_2.fq.gz', split_only=False, threads='2', transPath='/GENOMEFILES/ensemble_genomefasta/Homo_sapiens.GRCh38.cds.all.fa.gz', verbose=False, w='3')
[ Mar 08, 2021 - 10:44:56AM ] Opening input annotation...
[ Mar 08, 2021 - 10:44:56AM ] Splitting input annotation...
[ Mar 08, 2021 - 10:45:05AM ] number of genes 60683
[##################################################] 60683/60683
[ Mar 08, 2021 - 10:50:03AM ] Done.
[ Mar 08, 2021 - 10:50:03AM ] Splitting input reference...
[ Mar 08, 2021 - 10:50:54AM ] Done.
[ Mar 08, 2021 - 10:50:54AM ] Running Salmon indexing...
Traceback (most recent call last):
  File "/SOFTWARES/asgalvm/galig/asgal", line 585, in <module>
    main()
  File "/SOFTWARES/asgalvm/galig/asgal", line 576, in main
    runSalmon(args)
  File "SOFTWARES/asgalvm/galig/asgal", line 183, in runSalmon
    command_check_return(salmon_index_cmd, salmonIndexLog, salmonIndexLog, verbose=args.verbose)
  File "/SOFTWARES/asgalvm/galig/asgal", line 57, in command_check_return
    completed_process = subprocess.run(command,
  File "/cluster/software/Python/3.8.6-GCCcore-10.2.0/lib/python3.8/subprocess.py", line 489, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/cluster/software/Python/3.8.6-GCCcore-10.2.0/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/cluster/software/Python/3.8.6-GCCcore-10.2.0/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: /SOFTWARES/asgalvm/galig/salmon/bin/salmon

I will highly appreciate any help to rectify this error.

Thanks best Sa

ldenti commented 3 years ago

Hi, did you compile asgal before running it?

cd /SOFTWARES/asgalvm/galig/
make prerequisites
make

Since it cannot find salmon bin in that subdirectory I think that it won't find SpliceAwareAligner bin in /SOFTWARES/asgalvm/galig/ either.

Can you please check that?

singhsakshi commented 3 years ago

yes, i did! I did install it from scratch as it is a shared resource, so I made a python3 virtual environment and the git cloned the galig into it. Compiled it using these commands followed by pip3 installing pandas, bio, pysam

module --quiet purge
# Load necessary module for building
module load Biopython/1.78-foss-2020a-Python-3.8.2
module load CMake/3.16.4-GCCcore-9.3.0
module load SAMtools/1.10-GCC-9.3.0
module load GCC/9.3.0
# Install Python dependencies
python -m pip install --user pysam gffutils pandas

# Build LEMON locally
tar -xf lemon-1.3.1.tar.gz
mkdir -p lemon-1.3.1/build
cd lemon-1.3.1/build
cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/../../galig/lemon/compiled/" ..
make -j
make install
cd ../../

# Build sdsl-lite which is bundled with galig
cd galig/sdsl-lite/build
cmake -DCMAKE_INSTALL_PREFIX="$(pwd)/../../sdsl-lite/compiled/" ..
make -j
make install
cd ../../../

# Lastly build galig
cd galig
make -j

And I also did " make prerequisites" & make , and it seems to work

(asgalvm) [sakshisi@login-1 /sakshisi/VirtualENV/asgalvm/galig]$ make prerequisites
* Salmon
--2021-03-11 18:39:42--  https://github.com/COMBINE-lab/salmon/releases/download/v0.12.0/salmon-0.12.0_linux_x86_64.tar.gz
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/32549942/531ac100-f8ed-11e8-9aa1-a1bc5fef457f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210311%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210311T173942Z&X-Amz-Expires=300&X-Amz-Signature=dd638c237f0786c10edc6c9cf131a7cb24dc6ec53b2bded3f5775cb74f6865b1&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=32549942&response-content-disposition=attachment%3B%20filename%3Dsalmon-0.12.0_linux_x86_64.tar.gz&response-content-type=application%2Foctet-stream [following]
--2021-03-11 18:39:42--  https://github-releases.githubusercontent.com/32549942/531ac100-f8ed-11e8-9aa1-a1bc5fef457f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210311%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210311T173942Z&X-Amz-Expires=300&X-Amz-Signature=dd638c237f0786c10edc6c9cf131a7cb24dc6ec53b2bded3f5775cb74f6865b1&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=32549942&response-content-disposition=attachment%3B%20filename%3Dsalmon-0.12.0_linux_x86_64.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.108.154, 185.199.111.154, 185.199.109.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.108.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 36791080 (35M) [application/octet-stream]
Saving to: ‘salmon-0.12.0_linux_x86_64.tar.gz’

100%[====================================================================================================>] 36,791,080  10.7MB/s   in 3.5s   

2021-03-11 18:39:46 (10.2 MB/s) - ‘salmon-0.12.0_linux_x86_64.tar.gz’ saved [36791080/36791080]

(asgalvm) [sakshisi@login-1/sakshisi/VirtualENV/asgalvm/galig]$ make
make[1]: Nothing to be done for `all'.

On running asgal sbatch script, salmon quasi indexing and mapping seems to work okay but samtools sorting shows some error

Traceback (most recent call last):
  File "/cluster/work/users/sakshisi/VirtualENV/asgalvm/galig/asgal", line 585, in <module>
    main()
  File "/cluster/work/users/sakshisi/VirtualENV/asgalvm/galig/asgal", line 576, in main
    runSalmon(args)
  File "/cluster/work/users/sakshisi/VirtualENV/asgalvm/galig/asgal", line 210, in runSalmon
    command_check_return(salmon_quant_cmd, salmonBam, salmonQuantLog, shell=True, verbose=args.verbose)
  File "/cluster/work/users/sakshisi/VirtualENV/asgalvm/galig/asgal", line 62, in command_check_return
    completed_process.check_returncode()
  File "/cluster/software/Python/3.8.6-GCCcore-10.2.0/lib/python3.8/subprocess.py", line 444, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '/cluster/work/users/sakshisi/VirtualENV/asgalvm/galig/salmon/bin/salmon quant -p 2 -i /sakshisi/VirtualENV/asgalvm/output/R01/salmon/salmon_index -l A -1  /sakshisi/U2OS/u2os_rawdata/X204SC20113963-Z01-F001/raw_data/R01/R01_1_val_1.fq.gz -2 /sakshisi/U2OS/u2os_rawdata/X204SC20113963-Z01-F001/raw_data/R01/R01_2_val_2.fq.gz -o /sakshisi/VirtualENV/asgalvm/output/R01/salmon/salmon_out --no-version-check --validateMappings --writeMappings --writeUnmappedNames | samtools view -Sb - | samtools sort -' returned non-zero exit status 127.

Thanks in advance for your help

best SA

ldenti commented 3 years ago

Are the two directories containing the executables (ie /cluster/work/users/sakshisi/VirtualENV/asgalvm/galig and /cluster/work/users/sakshisi/VirtualENV/asgalvm/galig/salmon/bin/) in your $PATH?

Can you try adding them and rerun asgal?