Установка биоинформационных пакетов, таких как bowtie2, в Windows через WSL

#python #cmd #conda #bioinformatics #windows-subsystem-for-linux

#python #cmd #conda #биоинформатика #windows-subsystem-for-linux

Вопрос:

Я пытаюсь разработать графический интерфейс на python для анализа данных tRNA-Seq, которые можно запускать в Linux и Windows. Для этого необходимо запустить некоторые программы, такие как: bowtie2, samtools или bedtools, которые могут быть легко загружены anaconda в Linux, но являются головной болью в Windows. Эти программы нельзя загрузить в Windows, поэтому мне пришлось установить подсистему Windows для Linux (WSL) и попытался загрузить таким образом.

Я разработал следующий скрипт на Python (anaconda_setup.py ) за то, что сделал это:

 import os

#Download the file for Linux, altough this script will run only on Windows Subsystem for Linux
os.system('curl -O https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh')
#Checking the integrity of the file
os.system('sha256sum Anaconda3-2020.07-Linux-x86_64.sh')
#Running the .sh script
os.system('bash Anaconda3-2020.07-Linux-x86_64.sh')
#Compiling from source
os.system('source ~/.bashrc')
os.system('Anaconda3-2020.07-Linux-x86_64.sh')
#Using conda to install bowtie2, samtools and bedtools
os.system('conda install -c bioconda bowtie2')
os.system('conda install -c bioconda samtools')
os.system('conda install -c bioconda bedtools')
 

И затем я использую следующий код в основном скрипте для вызова другого скрипта:

 import os
...
os.system("wsl python3 anaconda_setup.py")
 

При этом anaconda устанавливается правильно, но я не уверен, установлена ли она в Windows или в WSL. Но я получил следующую ошибку:

sh: 1: источник: не найден sh: 1: conda: не найден sh: 1: conda: не найден sh: 1: conda: не найден

С другой стороны, я вошел в WSL из CMD и могу запустить conda.exe и conda вручную, но я не могу сделать это автоматически. Более того, из CMD я не могу запустить: «wsl conda» (ошибка: / bin / bash: conda: команда не найдена), но я могу запустить wsl conda.exe без каких-либо проблем.

Есть идеи, что я делаю не так или как я могу это исправить?

Большое вам спасибо.

Комментарии:

1. Попытка сделать это с помощью Python излишне усложняет ситуацию. Вместо этого подумайте о написании сценария BASH.

2. Спасибо за вашу идею! Но я попробовал это, и я получил ту же ошибку. Когда я нахожусь на wsl, я могу запустить команду conda, но из cmd я не могу запустить wsl conda, та же ошибка: 1: conda: не найден

Ответ №1:

Используйте установщики Linux для anaconda, чтобы установить anaconda для wsl2

 wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
 

проверьте conda , выполняется ли команда, если нет, путь должен быть экспортирован в .bashrc файл

 export PATH=/home/user/anaconda3/bin:$PATH
 

запустите conda еще раз, теперь он будет работать. Вы можете установить необходимое программное обеспечение с помощью conda в wsl2.

Надеюсь, это вам поможет. Для получения дополнительной информации посетите этот пост

Ответ №2:

Вот шаги, которые вы можете выполнить.

  1. у вас должен быть установлен Ubuntu terminal. Если нет, загрузите его из Microsoft Store.
  2. После установки Ubuntu установите wget с помощью команды sudo apt install wget
  3. Установите miniconda, потому что miniconda — это более легкая версия anaconda, которая сэкономит много места.
  4. Загрузите установщик miniconda. wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
  5. Установите miniconda bash Miniconda3-latest-Linux-x86_64.sh
  6. путь экспорта export PATH=~/miniconda3/bin:$PATH
  7. Установите bowtie2 с помощью канала bioconda conda install -c bioconda bowtie2