martinpacesa / BindCraft

User friendly and accurate binder design pipeline
MIT License
259 stars 54 forks source link

BrokenPipeError: [Errno 32] Broken pipe #20

Closed zengdashi closed 4 weeks ago

zengdashi commented 4 weeks ago

As shown in Tital. When i run a test for bindcraft, it will stop by this error. here is the whole message:

Trajectory successful, final pLDDT: 0.87 MovieWriter stderr: [libopenh264 @ 0x6259495b54c0] Incorrect library version loaded Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Traceback (most recent call last): File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/animation.py", line 223, in saving yield self File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/animation.py", line 1089, in save writer.grab_frame(savefig_kwargs) File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/animation.py", line 351, in grab_frame self.fig.savefig(self._proc.stdin, format=self.frame_format, File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/figure.py", line 3395, in savefig self.canvas.print_figure(fname, kwargs) File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 2204, in print_figure result = print_method( File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 2054, in print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py", line 435, in print_raw fh.write(renderer.buffer_rgba()) BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/weilab/BindCraft/./bindcraft.py", line 108, in trajectory = binder_hallucination(design_name, target_settings["starting_pdb"], target_settings["chains"], File "/home/weilab/BindCraft/functions/colabdesign_utils.py", line 227, in binder_hallucination plots = af_model.animate(dpi=150) File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/colabdesign/af/utils.py", line 118, in animate return make_animation(sub_traj, pos_ref=pos_ref, length=self._lengths, File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/colabdesign/shared/plot.py", line 336, in make_animation return ani.to_html5_video() File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/animation.py", line 1269, in to_html5_video self.save(str(path), writer=writer) File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/animation.py", line 1089, in save writer.grab_frame(savefig_kwargs) File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/contextlib.py", line 137, in exit self.gen.throw(typ, value, traceback) File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/animation.py", line 225, in saving self.finish() File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/site-packages/matplotlib/animation.py", line 340, in finish raise subprocess.CalledProcessError( subprocess.CalledProcessError: Command '['ffmpeg', '-f', 'rawvideo', '-vcodec', 'rawvideo', '-s', '1200x900', '-pix_fmt', 'rgba', '-framerate', '16.666666666666668', '-loglevel', 'error', '-i', 'pipe:', '-vcodec', 'h264', '-pix_fmt', 'yuv420p', '-y', '/tmp/tmppb6wuo_j/temp.m4v']' returned non-zero exit status 1.

zengdashi commented 4 weeks ago

I tried to install libopen264-6 using apt-get, but still have this problem here is my system info: ubuntu 22.04, cuda version 12.2 gcc version 11.4

martinpacesa commented 4 weeks ago

Hmm, seems like you dont have ffmpeg maybe installed? As a workaround you can disable save_animation in advanced settings json

sami-chaaban commented 4 weeks ago

I think you mean save_design_animations? I am also troubleshooting a "Requested MovieWriter (ffmpeg) not available" error and for now have disabled the animations.

martinpacesa commented 4 weeks ago

Yeah that setting. I think in both cases it is the lack of codec to convert the animation into a movie. It's not needed though, just fancy movie to show in group meeting :D

zengdashi commented 4 weeks ago

Thanks for your advice I tried to disable save_design_animations, but a new problem appeared:

Traceback (most recent call last): File "/home/weilab/BindCraft/./bindcraft.py", line 380, in shutil.copy(os.path.join(design_paths["Trajectory/Animation"], f"{design_name}.html"), accepted_animation) File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/shutil.py", line 427, in copy copyfile(src, dst, follow_symlinks=follow_symlinks) File "/home/weilab/miniconda3/envs/BinderCraft/lib/python3.9/shutil.py", line 264, in copyfile with open(src, 'rb') as fsrc: FileNotFoundError: [Errno 2] No such file or directory: '/home/weilab/BindCraft/B2M/Trajectory/Animation/B2M_l141_s363892.html'

It seems animations are used in some of the subsequent steps. And I check if I have ffmpeg installed, here is the info: (base) weilab@weilab-desktop:~/BindCraft$ ffmpeg ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0) configuration: --prefix=/opt/conda/conda-bld/ffmpeg_1597178665428/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh --cc=/opt/conda/conda-bld/ffmpeg_1597178665428/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-pic --enable-pthreads --enable-shared --disable-static --enable-version3 --enable-zlib --enable-libmp3lame libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

should I reinstall the ffmpeg to fix this problem?

martinpacesa commented 4 weeks ago

Ah no, this is indeed a bug. I just pushed a fix to bindcraft.py main running file, redownload it from the github and now the save_design_animations = False should actually work