HadrienG / InSilicoSeq

:rocket: A sequencing simulator
https://insilicoseq.readthedocs.io
MIT License
184 stars 32 forks source link

ImportError: Bio.Alphabet with Biopython 1.78 #189

Closed domenico-simone closed 3 years ago

domenico-simone commented 4 years ago

Hi Hadrien,

I've just installed InSilicoSeq through pip (v20.2.2) in a conda environment. This is the installation output:

$ pip install InSilicoSeq
Collecting InSilicoSeq
  Downloading InSilicoSeq-1.5.0-py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 1.1 MB/s 
Processing /home/adm2/.cache/pip/wheels/8e/70/28/3d6ccd6e315f65f245da085482a2e1c7d14b90b30f239e2cf4/future-0.18.2-py3-none-any.whl
Collecting joblib
  Downloading joblib-0.16.0-py3-none-any.whl (300 kB)
     |████████████████████████████████| 300 kB 7.2 MB/s 
Collecting pysam>=0.15.1
  Using cached pysam-0.16.0.1-cp38-cp38-manylinux1_x86_64.whl (10.2 MB)
Collecting requests
  Using cached requests-2.24.0-py2.py3-none-any.whl (61 kB)
Collecting numpy
  Downloading numpy-1.19.2-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
     |████████████████████████████████| 14.5 MB 7.9 MB/s 
Collecting biopython
  Downloading biopython-1.78-cp38-cp38-manylinux1_x86_64.whl (2.3 MB)
     |████████████████████████████████| 2.3 MB 5.6 MB/s 
Collecting scipy
  Downloading scipy-1.5.2-cp38-cp38-manylinux1_x86_64.whl (25.7 MB)
     |████████████████████████████████| 25.7 MB 10.1 MB/s 
Requirement already satisfied: certifi>=2017.4.17 in /home/adm2/anaconda3/envs/iss/lib/python3.8/site-packages (from requests->InSilicoSeq) (2020.6.20)
Collecting idna<3,>=2.5
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting chardet<4,>=3.0.2
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  Using cached urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
Installing collected packages: future, joblib, pysam, idna, chardet, urllib3, requests, numpy, biopython, scipy, InSilicoSeq
Successfully installed InSilicoSeq-1.5.0 biopython-1.78 chardet-3.0.4 future-0.18.2 idna-2.10 joblib-0.16.0 numpy-1.19.2 pysam-0.16.0.1 requests-2.24.0 scipy-1.5.2 urllib3-1.25.10

I've tried to run the tool with no arguments, but I get this error:

$ iss
Traceback (most recent call last):
  File "/home/adm2/anaconda3/envs/iss/bin/iss", line 5, in <module>
    from iss.app import main
  File "/home/adm2/anaconda3/envs/iss/lib/python3.8/site-packages/iss/app.py", line 8, in <module>
    from iss import generator
  File "/home/adm2/anaconda3/envs/iss/lib/python3.8/site-packages/iss/generator.py", line 9, in <module>
    from Bio.Alphabet import IUPAC
  File "/home/adm2/anaconda3/envs/iss/lib/python3.8/site-packages/Bio/Alphabet/__init__.py", line 20, in <module>
    raise ImportError(
ImportError: Bio.Alphabet has been removed from Biopython. In many cases, the alphabet can simply be ignored and removed from scripts. In a few cases, you may need to specify the ``molecule_type`` as an annotation on a SeqRecord for your script to work correctly. Please see https://biopython.org/wiki/Alphabet for more information.

looks like pip installs Biopython 1.78 which doesn't support Bio.Alphabet anymore (https://biopython.org/wiki/Alphabet). I managed to downgrade Biopython and have the tool running but installation files should specify a Biopython <1.78.

Great tool anyway :)

Domenico

emollier commented 4 years ago

Hi, while investigating test suite errors in InSilicoSeq caused by update to Biopython 1.78, I came up with a patch, available here for the moment: https://salsa.debian.org/med-team/insilicoseq/-/raw/debian/1.5.0-1/debian/patches/remove-bio-alphabet.patch

I'm seeing to put together a pull request, if that helps.

snayfach commented 4 years ago

Same issue :(

HadrienG commented 3 years ago

Sorry for the delay folks, I'll release a minor version with a fix this week.