Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bowtie not found (After Conda installation) #31

Closed
asucrer opened this issue Feb 1, 2022 · 9 comments
Closed

Bowtie not found (After Conda installation) #31

asucrer opened this issue Feb 1, 2022 · 9 comments

Comments

@asucrer
Copy link

asucrer commented Feb 1, 2022

Hello!

I've just installed mirge3 using conda. I used a new environment to avoid any unexpected interactions:

conda install -c bioconda mirge3

When I try to run an initial test, using the same command as you use in the docs, but a different sample file, the following error raises:

bowtie error!: bowtie, command not found
Use argument -pbwt <name of the directory>

Even if it was all installed through conda, I tried passing the "conda/pkgs" and the "conda/envs/venv/bin" through the pbwt parameter, but miRge still cannot find the bowtie installation...

In other tests, I tried running bowtie by itself from the same location and it runs correctly. So Bowtie is not the problem.

From what I've read in other issues, conda installations shouldn't not cause any of these unexpected errors, but I can't seem to make it work.

@arunhpatil
Copy link
Collaborator

Hi @asucrer,

Yes, Conda installations shouldn't cause these errors, most likely the bowtie executable is not part of the environment path.
Can you try the following command:
which bowtie
/home/arun/miniconda3/envs/mirge38/bin/bowtie

The command which bowtie, should find the path as shown above. Also, what is the bowtie version?

bowtie --version
/home/arun/miniconda3/envs/mirge38/bin/bowtie-align-s version 1.3.0

I think Conda installs the latest release of bowtie, and I believe you have bowtie version 1.3.1 - 09/13/2021, this is not tested in miRge3.0 yet. If this is the case, then in the Conda environment, can you install the older version of the bowtie as shown below:

conda remove bowtie
conda install bowtie=1.3.0

Let us know if this works.

Thanks,
Arun.

@asucrer
Copy link
Author

asucrer commented Feb 1, 2022

Thanks for your quick response @arunhpatil!
I did indeed have another Bowtie version installed, but when I try to install the 1.3 version, the following error shows:

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.17=0
  - feature:|@/linux-64::__glibc==2.17=0
  - bowtie=1.3.0 -> libgcc-ng[version='>=9.3.0'] -> __glibc[version='>=2.17']

Your installed version is: 2.17

From what I understand I have the 2.17 version installed, and it is exactly the one that is required... Have you seen something like this before, or have any idea how to fix it?

I suppose this is not directly related to miRge, so i'll understand if you can't help me... But if you have any idea regarding this issue, I'll be grateful!

@arunhpatil
Copy link
Collaborator

Hi @asucrer,

This was a similar error but with a different package.

I think if we install bowtie prior to miRge3.0, it should be ok. Unless Conda wants to update it. Can you try the following commands and let me know. Details of the command can be found in the previous issue.

conda create -n mirge38 python=3.8
conda activate mirge38
conda install bowtie=1.3.0
conda install -c bioconda mirge3

Thanks,
Arun.

@asucrer
Copy link
Author

asucrer commented Feb 2, 2022

Hi @arunhpatil!

That approach didn't quite fixed the problem, the same errors appeared afterwards. Nevertheless, I manage to make it work following these specific steps:

conda create -n mirge     # IMPORTANT to not specify the python version in this step 
source activate mirge
conda install -c bioconda mirge3   # Every dependency (including python) is installed
conda install -c bioconda tbb=2020.2    # Solves issue associated to Bowtie installation
conda install -c bioconda openssl=1.0   # Solves issue associated to Samtools installation

The following versions were installed:

  • miRge =>0.0.9
  • bowtie =>1.2.3
  • cutadapt => 2.6
  • samtools =>1.7
  • python => 3.7.11
  • (...)

Thank you for your help!

@arunhpatil
Copy link
Collaborator

Hi @asucrer,

This is awesome and will help other users who may come across the same problem. I want to keep this issue open until we update the miRge3.0 version with this fix.

Thank you.
Arun.

@elayton13
Copy link

Hi

I was having the same issue so I tried the above helpfully suggested by @asucrer to install

conda create -n mirge # IMPORTANT to not specify the python version in this step
source activate mirge
conda install -c bioconda mirge3 # Every dependency (including python) is installed
conda install -c bioconda tbb=2020.2 # Solves issue associated to Bowtie installation
conda install -c bioconda openssl=1.0 # Solves issue associated to Samtools installation

I somehow still ended up with the wrong bowtie version (1.0.0) so I installed 1.2.3. with
conda install -c bioconda bowtie=1.2.3

I then run the command:

miRge3.0 -s EL10_S10_R1_001.fastq -lib miRge3_lib -on mouse -db miRBase -o output_dir -gff -nmir -ai -cpu 6 -a AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC

and get this output:

bowtie version: 1.2.3
cutadapt version: 2.6
Samtools version: 1.7
RNAfold version: 2.4.14
Collecting and validating input files...

miRge3.0 will process 1 out of 1 input file(s).

Cutadapt finished for file EL10_S10_R1_001 in 140.555 second(s)
Collapsing finished for file EL10_S10_R1_001 in 1.9115 second(s)

Matrix creation finished in 3.0174 second(s)

Data pre-processing completed in 148.7101 second(s)

Alignment in progress ...
Traceback (most recent call last):
File "/Users/laytone/opt/anaconda3/envs/mirge/bin/miRge3.0", line 10, in
sys.exit(main())
File "/Users/laytone/opt/anaconda3/envs/mirge/lib/python3.7/site-packages/mirge/main.py", line 105, in main
pdDataFrame = bwtAlign(args,pdDataFrame,workDir,ref_db)
File "/Users/laytone/opt/anaconda3/envs/mirge/lib/python3.7/site-packages/mirge/libs/manifoldAlign.py", line 100, in bwtAlign
alignPlusParse(bwtExec, bwt_iter, pdDataFrame, args, workDir)
File "/Users/laytone/opt/anaconda3/envs/mirge/lib/python3.7/site-packages/mirge/libs/manifoldAlign.py", line 19, in alignPlusParse
bowtie = subprocess.run(str(bwtExec), shell=True, check=True, stdout=subprocess.PIPE, text=True, stderr=subprocess.PIPE, universal_newlines=True)
File "/Users/laytone/opt/anaconda3/envs/mirge/lib/python3.7/subprocess.py", line 468, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'bowtie miRge3_lib/mouse/index.Libs/mouse_mirna_miRBase -n 0 -f --norc -S --threads 6 output_dir/miRge.2022-04-28_10-21-24/bwtInput.fasta' returned non-zero exit status 1.

I have tried to install bowtie 1.3.0 but having issues solving the environment.

If you have any advice / suggestions that would be appreciated!

Thank you
Emma

@arunhpatil
Copy link
Collaborator

Hi @elayton13,

With the steps you have followed, I am sure bowtie (1.2.3) is installed fine, the error could be of two reasons,

  1. The path to library is incorrect (or)
  2. The input fasta file (i.e., bwtinput.fasta) might be empty (this could be due to incorrect adapter usage or wrong version of bowtie being called which is least likely)

To test this, could you execute the following command manualy and see if you get any output or error?
bowtie miRge3_lib/mouse/index.Libs/mouse_mirna_miRBase -n 0 -f --norc -S --threads 6 output_dir/miRge.2022-04-28_10-21-24/bwtInput.fasta > test_output.sam

This will give an idea of what is going wrong.

Thank you,
Arun

@elayton13
Copy link

Hi Arun

I've done this, and the answer is strange. It says it can't locate the index in that path although I've had a look and its definitely there and is all spelt correctly

(mirge) laytone@m210504590 miRge3_lib % bowtie miRge3_lib/mouse/index.Libs/mouse_mirna_miRBase -n 0 -f --norc -S --threads 6 output_dir/miRge.2022-04-28_10-21-24/bwtInput.fasta > test_output.sam
Could not locate a Bowtie index corresponding to basename "miRge3_lib/mouse/index.Libs/mouse_mirna_miRBase"
Command: /Users/laytone/opt/anaconda3/envs/mirge/bin/bowtie-align-s --wrapper basic-0 -n 0 -f --norc -S --threads 6 miRge3_lib/mouse/index.Libs/mouse_mirna_miRBase output_dir/miRge.2022-04-28_10-21-24/bwtInput.fasta

(mirge) laytone@m210504590 miRge3_lib % cd mouse
(mirge) laytone@m210504590 mouse % ls
annotation.Libs fasta.Libs index.Libs
(mirge) laytone@m210504590 mouse % cd index.Libs
(mirge) laytone@m210504590 index.Libs % ls
mouse_genome.3.ebwt mouse_mature_trna.rev.2.ebwt mouse_mrna.4.ebwt mouse_rrna.1.ebwt
mouse_hairpin_MirGeneDB.2.ebwt mouse_mirna_MirGeneDB.2.ebwt mouse_mrna.rev.1.ebwt mouse_rrna.2.ebwt
mouse_hairpin_MirGeneDB.3.ebwt mouse_mirna_MirGeneDB.3.ebwt mouse_mrna.rev.2.ebwt mouse_rrna.3.ebwt
mouse_hairpin_MirGeneDB.4.ebwt mouse_mirna_MirGeneDB.4.ebwt mouse_ncrna_others.1.ebwt mouse_rrna.4.ebwt
mouse_hairpin_MirGeneDB.rev.2.ebwt mouse_mirna_MirGeneDB.rev.2.ebwt mouse_ncrna_others.2.ebwt mouse_rrna.rev.1.ebwt
mouse_hairpin_miRBase.2.ebwt mouse_mirna_miRBase.2.ebwt mouse_ncrna_others.3.ebwt mouse_rrna.rev.2.ebwt
mouse_hairpin_miRBase.3.ebwt mouse_mirna_miRBase.3.ebwt mouse_ncrna_others.4.ebwt mouse_snorna.1.ebwt
mouse_hairpin_miRBase.4.ebwt mouse_mirna_miRBase.4.ebwt mouse_ncrna_others.rev.1.ebwt mouse_snorna.2.ebwt
mouse_hairpin_miRBase.rev.2.ebwt mouse_mirna_miRBase.rev.2.ebwt mouse_ncrna_others.rev.2.ebwt mouse_snorna.3.ebwt
mouse_mature_trna.2.ebwt mouse_mrna.1.ebwt mouse_pre_trna.3.ebwt mouse_snorna.4.ebwt
mouse_mature_trna.3.ebwt mouse_mrna.2.ebwt mouse_pre_trna.4.ebwt mouse_snorna.rev.1.ebwt
mouse_mature_trna.4.ebwt mouse_mrna.3.ebwt mouse_pre_trna.rev.2.ebwt mouse_snorna.rev.2.ebwt

I'm pretty confident the adaptor sequence is correct since I have copied it from my cutadapt script that I have been using successfully. When I execute the script it does seem to say bowtie 1.2.3 is being called at the beginning

I tried with -db miRGeneDB and also with zipped and unzipped fastq files and still get the same error

Any ideas? Thanks for your time!

Emma

@arunhpatil
Copy link
Collaborator

@elayton13,

Hi, sometimes it is hard to find simple mistakes, your bowtie installation is correct, and now, I don't doubt the adapter sequence but I suspect the error is with the index files itself (although the path is correct, but has truncated or missing files). I am not sure if you have listed complete outupt of ls ((mirge) laytone@m210504590 index.Libs % ls, your last command) here because, each reference sequence has four extensions (.1.ebwt, .2.ebwt, .3.ebwt, .4.ebwt) and two reverses sequences (.rev.1.ebwt and .rev.2.ebwt). Here, for instance if you Ctrl+F/find for mouse_mirna_miRBase, you will see that the file extensions for this particular case is missing mouse_mirna_miRBase.1.ebwt. If this is true, then all you need to do is to download the library once again, check if the files has above mentiond extensions for mouse_mirna_miRBase. Because of this missing file, bowite complained to not finding it.

The possible reasons for this truncated file would be heavy traffic on the sourceforge site or a small internet glitch while downloading the files. Another reason could be due to storage space (not likely though), the tar -xzf command was not completed! While repeating the steps of downloading the libraries, watch out for any warning or error messages.

I hope this helps.

Thank you,
Arun

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants