bjing2016 / alphaflow

AlphaFold Meets Flow Matching for Generating Protein Ensembles
MIT License
363 stars 49 forks source link

Alphaflow not working. #31

Open johnny-rodriguez opened 2 months ago

johnny-rodriguez commented 2 months ago

I installed alphaflow as described on the github page. I used a .csv file whose format looks exactly as the atlas example. I get the following error: python predict.py --mode esmfold --input_csv /data/AI_tools/alphaflow/test/protein.csv --weights /data/AI_tools/alphaflow/weights/esmflow_md_base_202402.pt --samples 10 --outpdb /data/AI_tools/alphaflow/test/output 2024-08-29 12:27:56,173 [ip-10-10-32-206:1533012] [INFO] Loading the model 2024-08-29 12:29:34,063 [ip-10-10-32-206:1533012] [INFO] Model has been loaded 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [03:16<00:00, 19.68s/it]

Traceback (most recent call last): File "/data/AI_tools/alphaflow/predict.py", line 178, in main() File "/data/anaconda3/envs/alphaflow/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(*args, *kwargs) File "/data/AI_tools/alphaflow/predict.py", line 153, in main chains = pd.concat(chains) File "/data/anaconda3/envs/alphaflow/lib/python3.9/site-packages/pandas/util/_decorators.py", line 331, in wrapper return func(args, **kwargs) File "/data/anaconda3/envs/alphaflow/lib/python3.9/site-packages/pandas/core/reshape/concat.py", line 368, in concat op = _Concatenator( File "/data/anaconda3/envs/alphaflow/lib/python3.9/site-packages/pandas/core/reshape/concat.py", line 425, in init raise ValueError("No objects to concatenate") ValueError: No objects to concatenate

These are the packages I have in the environment:

packages in environment at /data/anaconda3/envs/alphaflow:

#

Name Version Build Channel

_libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 2_gnu conda-forge absl-py 2.1.0 pyhd8ed1ab_0 conda-forge aiohappyeyeballs 2.4.0 pypi_0 pypi aiohttp 3.10.5 pypi_0 pypi aiosignal 1.3.1 pypi_0 pypi appdirs 1.4.4 pyh9f0ad1d_0 conda-forge astor 0.8.1 pyh9f0ad1d_0 conda-forge async-timeout 4.0.3 pypi_0 pypi attrs 24.2.0 pypi_0 pypi biopandas 0.4.0 pypi_0 pypi biopython 1.79 py39hb9d737c_3 conda-forge blosc 1.21.5 hc2324a3_1 conda-forge brotli-python 1.1.0 py39h3d6467e_1 conda-forge bzip2 1.0.8 h4bc722e_7 conda-forge c-ares 1.33.1 heb4867d_0 conda-forge ca-certificates 2024.7.4 hbcca054_0 conda-forge certifi 2024.7.4 pyhd8ed1ab_0 conda-forge cffi 1.17.0 py39h49a4b6b_0 conda-forge charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge click 8.1.7 unix_pyh707e725_0 conda-forge contextlib2 21.6.0 pypi_0 pypi cuda 11.3.0 h3b286be_0 nvidia cuda-command-line-tools 11.3.0 h3b286be_0 nvidia cuda-compiler 11.3.0 h3b286be_0 nvidia cuda-cudart 11.3.58 hc1aae59_0 nvidia cuda-cuobjdump 11.3.58 hc78e225_0 nvidia cuda-cupti 11.3.58 h9a3dd33_0 nvidia cuda-cuxxfilt 11.3.58 he670d9e_0 nvidia cuda-gdb 11.3.58 h531059a_0 nvidia cuda-libraries 11.3.0 h3b286be_0 nvidia cuda-libraries-dev 11.3.0 h3b286be_0 nvidia cuda-memcheck 11.3.58 h8711ecb_0 nvidia cuda-nvcc 11.3.58 h2467b9f_0 nvidia cuda-nvdisasm 11.3.58 hd2ea46e_0 nvidia cuda-nvml-dev 12.6.37 2 nvidia cuda-nvprof 11.3.58 h860cd9e_0 nvidia cuda-nvprune 11.3.58 hb917323_0 nvidia cuda-nvrtc 11.3.58 he300756_0 nvidia cuda-nvtx 11.3.58 h3fa534a_0 nvidia cuda-nvvp 11.3.58 hd16380c_0 nvidia cuda-runtime 11.3.0 h3b286be_0 nvidia cuda-samples 11.6.101 h8efea70_0 nvidia cuda-sanitizer-api 11.3.58 h58da6c8_0 nvidia cuda-thrust 11.3.58 h7b74f08_0 nvidia cuda-toolkit 11.3.0 h3b286be_0 nvidia cuda-tools 11.3.0 h3b286be_0 nvidia cuda-version 12.6 3 nvidia cuda-visual-tools 11.3.0 h3b286be_0 nvidia dm-tree 0.1.6 py39h1832856_1 conda-forge docker-pycreds 0.4.0 py_0 conda-forge einops 0.8.0 pyhd8ed1ab_0 conda-forge fair-esm 2.0.0 pypi_0 pypi filelock 3.15.4 pypi_0 pypi frozenlist 1.4.1 pypi_0 pypi fsspec 2024.6.1 pypi_0 pypi gitdb 4.0.11 pyhd8ed1ab_0 conda-forge gitpython 3.1.43 pyhd8ed1ab_0 conda-forge h2 4.1.0 pyhd8ed1ab_0 conda-forge hdf5 1.14.0 nompi_hb72d44e_103 conda-forge hpack 4.0.0 pyh9f0ad1d_0 conda-forge hyperframe 6.0.1 pyhd8ed1ab_0 conda-forge idna 3.8 pyhd8ed1ab_0 conda-forge ihm 1.3 py39hcd6043d_0 conda-forge jinja2 3.1.4 pypi_0 pypi keyutils 1.6.1 h166bdaf_0 conda-forge krb5 1.21.3 h659f571_0 conda-forge ld_impl_linux-64 2.40 hf3520f5_7 conda-forge libabseil 20240116.2 cxx17_he02047a_1 conda-forge libaec 1.1.3 h59595ed_0 conda-forge libblas 3.9.0 20_linux64_openblas conda-forge libcblas 3.9.0 20_linux64_openblas conda-forge libcublas 11.4.2.10064 h8a72295_0 nvidia libcufft 10.4.2.58 h58ccd86_0 nvidia libcurand 10.2.4.58 h99380db_0 nvidia libcurl 8.8.0 hca28451_1 conda-forge libcusolver 11.1.1.58 hec68242_0 nvidia libcusparse 11.5.0.58 hf5aa513_0 nvidia libedit 3.1.20191231 he28a2e2_2 conda-forge libev 4.33 hd590300_2 conda-forge libffi 3.4.2 h7f98852_5 conda-forge libgcc 14.1.0 h77fa898_1 conda-forge libgcc-ng 14.1.0 h69a702a_1 conda-forge libgfortran 14.1.0 h69a702a_1 conda-forge libgfortran-ng 14.1.0 h69a702a_1 conda-forge libgfortran5 14.1.0 hc5f4f2c_1 conda-forge libgomp 14.1.0 h77fa898_1 conda-forge liblapack 3.9.0 20_linux64_openblas conda-forge libnghttp2 1.58.0 h47da74e_1 conda-forge libnpp 11.3.3.44 h8df316f_0 nvidia libnsl 2.0.1 hd590300_0 conda-forge libnvjpeg 11.4.1.58 h3d06750_0 nvidia libopenblas 0.3.25 pthreads_h413a1c8_0 conda-forge libprotobuf 4.25.3 h08a7969_0 conda-forge libsqlite 3.46.0 hde9e2c9_0 conda-forge libssh2 1.11.0 h0841786_0 conda-forge libstdcxx 14.1.0 hc0a3c3a_1 conda-forge libstdcxx-ng 14.1.0 h4852527_1 conda-forge libuuid 2.38.1 h0b41bf4_0 conda-forge libxcrypt 4.4.36 hd590300_1 conda-forge libzlib 1.2.13 h4ab18f5_6 conda-forge lightning-utilities 0.11.6 pypi_0 pypi lz4-c 1.9.4 hcb278e6_0 conda-forge lzo 2.10 hd590300_1001 conda-forge markupsafe 2.1.5 pypi_0 pypi mdtraj 1.9.4 py39h1dbbcdb_2 conda-forge ml-collections 0.1.0 pypi_0 pypi modelcif 0.7 pyhd8ed1ab_0 conda-forge mpmath 1.3.0 pypi_0 pypi msgpack-python 1.0.8 py39h95fdab5_0 conda-forge multidict 6.0.5 pypi_0 pypi ncurses 6.5 he02047a_1 conda-forge networkx 3.2.1 pypi_0 pypi nomkl 1.0 h5ca1d4c_0 conda-forge numexpr 2.10.0 py39he85e4be_100 conda-forge numpy 1.21.2 py39hdbf815f_0 conda-forge nvidia-cublas-cu12 12.1.3.1 pypi_0 pypi nvidia-cuda-cupti-cu12 12.1.105 pypi_0 pypi nvidia-cuda-nvrtc-cu12 12.1.105 pypi_0 pypi nvidia-cuda-runtime-cu12 12.1.105 pypi_0 pypi nvidia-cudnn-cu12 9.1.0.70 pypi_0 pypi nvidia-cufft-cu12 11.0.2.54 pypi_0 pypi nvidia-curand-cu12 10.3.2.106 pypi_0 pypi nvidia-cusolver-cu12 11.4.5.107 pypi_0 pypi nvidia-cusparse-cu12 12.1.0.106 pypi_0 pypi nvidia-nccl-cu12 2.20.5 pypi_0 pypi nvidia-nvjitlink-cu12 12.6.20 pypi_0 pypi nvidia-nvtx-cu12 12.1.105 pypi_0 pypi openfold 1.0.1 pypi_0 pypi openssl 3.3.1 hb9d3cd8_3 conda-forge packaging 24.1 pyhd8ed1ab_0 conda-forge pandas 1.5.3 py39h2ad29b5_1 conda-forge pip 24.2 pyhd8ed1ab_0 conda-forge platformdirs 4.2.2 pyhd8ed1ab_0 conda-forge protobuf 4.25.3 py39h1be52a0_0 conda-forge psutil 6.0.0 py39hd3abc70_0 conda-forge pycparser 2.22 pyhd8ed1ab_0 conda-forge pyparsing 3.1.4 pyhd8ed1ab_0 conda-forge pysocks 1.7.1 pyha2e5f31_6 conda-forge pytables 3.7.0 py39hf8baa48_4 conda-forge python 3.9.19 h0755675_0_cpython conda-forge python-dateutil 2.9.0 pyhd8ed1ab_0 conda-forge python_abi 3.9 5_cp39 conda-forge pytorch-lightning 2.0.4 pypi_0 pypi pytz 2024.1 pyhd8ed1ab_0 conda-forge pyyaml 6.0.2 py39hcd6043d_0 conda-forge readline 8.2 h8228510_1 conda-forge requests 2.32.3 pyhd8ed1ab_0 conda-forge scipy 1.7.1 py39hee8e79c_0 conda-forge sentry-sdk 2.13.0 pyhd8ed1ab_0 conda-forge setproctitle 1.3.3 py39hd1e30aa_0 conda-forge setuptools 72.2.0 pyhd8ed1ab_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge smmap 5.0.0 pyhd8ed1ab_0 conda-forge snappy 1.2.1 ha2e4443_0 conda-forge sympy 1.13.2 pypi_0 pypi tk 8.6.13 noxft_h4845f30_101 conda-forge torch 1.12.1+cu113 pypi_0 pypi torchmetrics 1.4.1 pypi_0 pypi tqdm 4.66.5 pypi_0 pypi triton 3.0.0 pypi_0 pypi typing_extensions 4.12.2 pyha770c72_0 conda-forge tzdata 2024a h8827d51_1 conda-forge urllib3 2.2.2 pyhd8ed1ab_1 conda-forge wandb 0.16.6 pyhd8ed1ab_1 conda-forge wheel 0.44.0 pyhd8ed1ab_0 conda-forge xz 5.2.6 h166bdaf_0 conda-forge yaml 0.2.5 h7f98852_2 conda-forge yarl 1.9.4 pypi_0 pypi zlib 1.2.13 h4ab18f5_6 conda-forge zstandard 0.23.0 py39h623c9ba_0 conda-forge zstd 1.5.6 ha6fb4c9_0 conda-forge

johnny-rodriguez commented 2 months ago

In addition can someone share the conda environment package list? I want to see if the package versions themselves are causing the problem.

bjing2016 commented 2 months ago

Hi Johnny, It looks like there was an issue with the most recent PR. I have unmerged the PR --- could you pull and see if it's working now?

lcscs12345 commented 2 months ago

Hi,

Sorry about the recent PR. I have been running it (ESMFlow) without an issue using Apptainer. https://hub.docker.com/repository/docker/lcscs12345/alphaflow/general

Here are the dependencies. biopandas is an additional dependency in the PR. Can you spot any issues @bjing2016 ?

# packages in environment at /opt/conda/envs/alphaflow:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
absl-py                   2.1.0                    pypi_0    pypi
aiohttp                   3.9.3                    pypi_0    pypi
aiosignal                 1.3.1                    pypi_0    pypi
appdirs                   1.4.4                    pypi_0    pypi
astunparse                1.6.3                    pypi_0    pypi
async-timeout             4.0.3                    pypi_0    pypi
attrs                     23.2.0                   pypi_0    pypi
biopandas                 0.4.1              pyhd8ed1ab_1    conda-forge
biopython                 1.79                     pypi_0    pypi
bzip2                     1.0.8                h7b6447c_0  
c-ares                    1.19.1               h5eee18b_0  
ca-certificates           2024.2.2             hbcca054_0    conda-forge
certifi                   2024.2.2                 pypi_0    pypi
charset-normalizer        3.3.2                    pypi_0    pypi
click                     8.1.7                    pypi_0    pypi
contextlib2               21.6.0                   pypi_0    pypi
curl                      8.5.0                hdbd6064_0  
dm-tree                   0.1.6                    pypi_0    pypi
docker-pycreds            0.4.0                    pypi_0    pypi
einops                    0.7.0                    pypi_0    pypi
expat                     2.5.0                h6a678d5_0  
fair-esm                  2.0.0                    pypi_0    pypi
frozenlist                1.4.1                    pypi_0    pypi
fsspec                    2024.2.0                 pypi_0    pypi
gdbm                      1.18                 hd4cb3f1_4  
gettext                   0.21.0               h39681ba_1  
git                       2.40.1          pl5340h36fbf9e_1  
gitdb                     4.0.11                   pypi_0    pypi
gitpython                 3.1.42                   pypi_0    pypi
icu                       73.1                 h6a678d5_0  
idna                      3.6                      pypi_0    pypi
ihm                       1.0                      pypi_0    pypi
krb5                      1.20.1               h143b758_1  
ld_impl_linux-64          2.38                 h1181459_1  
libblas                   3.9.0           22_linux64_openblas    conda-forge
libcblas                  3.9.0           22_linux64_openblas    conda-forge
libcurl                   8.5.0                h251f7ec_0  
libedit                   3.1.20230828         h5eee18b_0  
libev                     4.33                 h7f8727e_1  
libffi                    3.4.4                h6a678d5_0  
libgcc-ng                 13.2.0               h77fa898_7    conda-forge
libgfortran-ng            13.2.0               h69a702a_7    conda-forge
libgfortran5              13.2.0               hca663fb_7    conda-forge
libgomp                   13.2.0               h77fa898_7    conda-forge
liblapack                 3.9.0           22_linux64_openblas    conda-forge
libnghttp2                1.57.0               h2d74bed_0  
libopenblas               0.3.27          pthreads_h413a1c8_0    conda-forge
libssh2                   1.10.0               hdbd6064_2  
libstdcxx-ng              11.2.0               h1234567_1  
libxml2                   2.10.4               hf1b16e4_1  
lightning-utilities       0.10.1                   pypi_0    pypi
mdtraj                    1.9.9                    pypi_0    pypi
ml-collections            0.1.0                    pypi_0    pypi
modelcif                  0.7                      pypi_0    pypi
msgpack                   1.0.7                    pypi_0    pypi
multidict                 6.0.5                    pypi_0    pypi
ncurses                   6.4                  h6a678d5_0  
numpy                     1.21.2                   pypi_0    pypi
openfold                  1.0.1                    pypi_0    pypi
openssl                   3.3.0                h4ab18f5_2    conda-forge
packaging                 23.2                     pypi_0    pypi
pandas                    1.5.3                    pypi_0    pypi
pcre2                     10.42                hebb0a14_0  
perl                      5.34.0               h5eee18b_2  
pip                       23.3.1           py39h06a4308_0  
protobuf                  4.25.3                   pypi_0    pypi
psutil                    5.9.8                    pypi_0    pypi
pyparsing                 3.1.1                    pypi_0    pypi
python                    3.9.18               h955ad1f_0  
python-dateutil           2.8.2                    pypi_0    pypi
python_abi                3.9                      2_cp39    conda-forge
pytorch-lightning         2.0.4                    pypi_0    pypi
pytz                      2024.1             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.1                    pypi_0    pypi
readline                  8.2                  h5eee18b_0  
requests                  2.31.0                   pypi_0    pypi
scipy                     1.7.1                    pypi_0    pypi
sentry-sdk                1.40.5                   pypi_0    pypi
setproctitle              1.3.3                    pypi_0    pypi
setuptools                68.2.2           py39h06a4308_0  
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     5.0.1                    pypi_0    pypi
sqlite                    3.41.2               h5eee18b_0  
tk                        8.6.12               h1ccaba5_0  
torch                     1.12.1+cu113             pypi_0    pypi
torchmetrics              1.3.1                    pypi_0    pypi
tqdm                      4.66.2                   pypi_0    pypi
typing-extensions         4.9.0                    pypi_0    pypi
tzdata                    2024a                h04d1e81_0  
urllib3                   2.2.1                    pypi_0    pypi
wandb                     0.16.3                   pypi_0    pypi
wheel                     0.41.2           py39h06a4308_0  
xz                        5.4.5                h5eee18b_0  
yarl                      1.9.4                    pypi_0    pypi
zlib                      1.2.13               h5eee18b_0  
johnny-rodriguez commented 2 months ago

Using the environment I originally built (running Cuda 11.3), I was able to run your new code successfully! However, I saw you removed a lot of the analysis from the predict.py file. Do you plan to add that back? I want to get an idea of how confident the pdb file generated is.

johnny-rodriguez commented 2 months ago

@lcscs12345 I could not figure out how to download the image from your link. I tried docker and apptainer.

lcscs12345 commented 2 months ago

@johnny-rodriguez Could you try this?

apptainer pull alphaflow.sif oras://docker.io/lcscs12345/alphaflow:a1cd789

johnny-rodriguez commented 2 months ago

I was able to pull the apptainer. How do you run it?

lcscs12345 commented 1 month ago

The image has no alphaflow installed.

First, check the GPU availability. apptainer exec --nv alphaflow.sif python -c "import torch; print(torch.cuda.device_count())"

Then run apptainer shell --nv alphaflow.sif

and run alphaflow from a local directory as usual, or

apptainer exec --nv alphaflow.sif \
    python alphaflow/predict.py \
    --mode esmfold \
    --input_csv input.csv \
    --weights alphaflow/weights/esmflow_md_base_202402.pt \
    --outpdb output/ \
    --samples 250

Make sure the paths are correct.