Take a PDB structure of a symmetric homo-oligomeric barrel, and monomerize without occluding the pore.
Monomerization of shortened version of PDB 2XQS is shown with only small loops added to monomerize.
Larger modifications can be made aswell such as the large helical linkers for shortened version of PDB 4JPP.
Running requires only a PDB file as input. In the example case we use a shortened version of the 2XQS
structure
from the RCSB. This file can be found in the repository as tests/pdbs/2XQS_short.pdb
.
mkdir docker_tmp
cp monomerizer/tests/pdbs/2XQS_short.pdb ./docker_tmp
sudo systemctl start docker
sudo docker run -it --entrypoint /bin/bash -v $(pwd)/tmp_docker/:/workspace --gpus all antiquatedarachnid/monomerizer:latest
python ../monomerizer/scripts/make_monomer.py 2XQS_short.pdb output --generator-steps 2 --num-designs 1 --linker-lengths 11
In this example we'll run using runpod
(https://www.runpod.io/) which will allow easy access to larger and or faster
GPUs than you might have locally.
- Make a new runpod template with the Container Image as
antiquatedarachnid/monomerizer:latest
- Set the Docker Command to
/bin/bash
- Launch the container using the
runpod
WebGUI - ssh into the pod using terminal or web-connect options (see RunPod Web GUI buttons)
runpodctl send myfile.pdb
on e.g. your local computer and get thecode
runpodctl receive {code}
on the pod
python ../monomerizer/scripts/make_monomer.py 2XQS_short.pdb output --generator-steps 2 --num-designs 1 --linker-lengths 11
tar -czvf outputs.tar.gz outputs
runpodctl send outputs.tar.gz
runpotctl receive {code}
If you make changes to the code, you can locally use a the new docker image or publish your own
sudo docker build -t monomerizer:latest .
- add
--no-cache
if needing a full rebuild
sudo docker login
sudo docker tag monomerizer:latest your_docker_id/monomerizer:latest
sudo docker push your_docker_id/monomerizer:latest