High throughput colabfold "ht-colabfold" sur iPOP-UP

Bonjour,

Je suis Julien Richard Albert au IJM. J’aimerais instsaller et utiliser un pipeline qui nécessitera une quantité importante de CPU et de GPU.

Essentiellement, le pipeline est un script wrapper qui exécute de nombreuses instances de colabfold (alphafold multimer) en parallèle. Comme ça je peux facilement exécuter ~200 instances de colabfold par exemple. Ce pipeline “ht-colabfold” simplifie vraiment les choses par rapport à l’exécution de 200 tâches de colabfold avec sbatch. Il est également plus efficace sur le serveur, car il utilise les CPU pour certains calculs et envoie les petits tâches fold aux petits GPU et les gros tâches fold aux gros GPU, ce qui permet d’économiser l’usage des plus gros GPU.

[BrenneckeLab / HT-Colabfold · GitLab](https://Pipeline ht-colabfold)

D’après ce que j’ai compris, il “suffit” de modifier le fichier config.txt pour spécifier où se trouve la base de données alphafold, mais il y a aussi quelques configs de mémoire GPU que je ne comprends pas bien. L’idéal serait d’exécuter le pipeline à partir du terminal avec sbatch. Si je sais où se trouve la base de données alphafold et peut-être un peu d’informations sur les GPU dispos, je pourrai essayer d’installer tout ça moi-même. Sinon, toute aide serait grandement appréciée.

Enfin, mon compte : richard-albert
a été installé en mode démo (je pense, ça fait très longtemps), et j’aurais donc aussi besoin d’un accès aux CPU et GPU. Je ne pense pas que ce projet ait besoin de beaucoup d’espace ROM, tant que je n’ai pas à re-télécharger la base de données alphafold. Je ne suis pas expert en alphafold, alors je ne sais pas combien de GPU demander (ou si c’est même possible). Je vois que vous avez partitionné vos GPU A100 en slices, je pense que ht-colabfold peut en prendre avantage, mais je ne sais pas comment le configurer.

Au moins deux labos sont intéressés (Greenberg et Duharcourt) et je serais heureux de venir aider en personne si je peux être utile. Merci!

Bonjour,

Je vous ai ouvert un projet ht-colabfold avec 1To de stockage. Vous avez accès à tous les noeuds de la partition ipop-up (cela comprend l’accès aux 3 noeuds GPU A100).

Cependant je ne suis pas sûr de comprendre ce que fait exactement le script alphafold_batch.sh. Je laisse @murail qui connait mieux colabfold répondre à ma place.

A priori on n’a pas besoin de repasser par l’étape du téléchargement des bases de données (setup-database.sh), on a déjà une instance mmseqs-colabfold qui tourne sur un noeud dédié avec les banques chargées en RAM. Il suffit de fournir l’adresse vers l’API avec l’argument --host-url http://cpu-node146:3000 quand on utilise colabfold_batch.

On n’a pas besoin non plus de retélécharger les images apptainer, elles sont trouvables dans /shared/software/singularity/images ou via module load.

Cordialement.

Merci! J’ai fais des testes avec colabfold et ça fonctionne très bien.

Pour ht-colabfold c’est plus compliqué. Moi aussi j’ai des doutes avec alphafold_batch.sh
De plus, je pense que je dois modifier /script-files/AF2.sh:

singularity exec --nv --cleanenv --contain -B /users -B /groups -B /scratch -B /scratch-cbe -B ${TMPdir}:/tmp --pwd ${TMPdir} ${SINGULARITYdir}colabfold.simg colabfold_batch ${TMPdir}MSAs/$IDmsa/${IDname}.a3m ${TMPdir}AFpredictions/${IDmsa}/${SLURM_ARRAY_TASK_ID} --num-recycle 3 --data /resources/colabfold/models/

par exemple, je crois que -B /users devrait être -B /shared/banks/alphafold2/2022-12-13/:/root/.cache/colabfold
…etc.

Je vais continuer à progresser petit à petit, si vous voyez que ça va lentement, c’est parce que je suis lent et occupé avec d’autres projets.