Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add screen functionality #56

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Add screen functionality #56

wants to merge 1 commit into from

Conversation

Jnelen
Copy link

@Jnelen Jnelen commented Nov 25, 2024

This PR introduces a new screen function, enabling the ability to test multiple ligands (e.g., from a compound library) against a single target protein.

Key Features:

  • Input Support:
    • Accepts protein input as a .fasta file (recommended) or a .pdb file.
    • Handles ligands from a directory of .sdf files, a single .sdf file, or .smi files containing ligand IDs and SMILES strings.
  • Automated MSA Handling:
    • Automatically performs multiple sequence alignment (MSA) if a precomputed .m3a file is not provided, using the --use_msa_server option.
  • Query Preparation:
    • Prepares a structured query directory automatically, making the process streamlined.
  • Integration with predict:
    • Fully utilizes the existing predict functionality and supports all its regular features.

Example:

  • To screen a .fasta file with a directory of .sdf files:
    boltz screen --protein protein.fasta --ligands ligand_directory --use_msa_server

This functionality is great for workflows involving large-scale ligand screening, as it simplifies things by automating MSA generation (when needed) and organizing input queries for you. I originally put this together for a virtual screening workflow and hope it can be useful to others too.

As for future improvements, it could be interesting to explore adding support for Singularity or SLURM for easier use on HPC systems. That might be better suited for a separate project, but I think this screen functionality fits nicely into the main repo and would be a solid addition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant