Feat/workflow 3 clean#23
Open
Barashin wants to merge 43 commits intochiral-data:9-docking-workflow-from-kokifrom
Open
Feat/workflow 3 clean#23Barashin wants to merge 43 commits intochiral-data:9-docking-workflow-from-kokifrom
Barashin wants to merge 43 commits intochiral-data:9-docking-workflow-from-kokifrom
Conversation
* fix: update docker_image * fix: split to 3 jobs * fix: debug * fix: dividing to more jobs * fix: spliting to 7 steps * fix: split to 7 nodes, done * fix: rename workflow-003 * merge from main --------- Co-authored-by: Qin Wan <rogerwq@gmai.com> Co-authored-by: RongjunG <rongjungao0812@gmail.com>
Co-authored-by: Qin Wan <rogerwq@gmai.com>
* fix: remove test fodler test-bm * ft: node params json defined * fix: updated wf3 node 1 * fix: wf3-job2 switch dev sv * fix: job 2 DONE * fix: job 3 done * fix: migrate wf3 job4 * fix: job4 ligand sdf * fix: job 4 scripts * fix: add global params * fix: wf3 job5 fixed * fix: wf3 job 6 * fix: remove workflow-003 * fix: raname 003-new to 003 --------- Co-authored-by: Qin Wan <rogerwq@gmai.com> Co-authored-by: RongjunG <rongjungao0812@gmail.com>
- Add cleanup logic in run.sh to remove .sdf and .txt files from outputs/ root - Add cleanup logic in node_13_smina_screening.py to remove stray files after execution - Update README.md to reflect correct output structure (outputs/results/ for 5-report)
…ent workflow-003 structure
- Add find_obabel() and find_obminimize() to search in common paths including conda environment - Improve error messages with detailed stderr/stdout output - Add input file validation before processing - Better error detection in obabel stderr output
…e assignment - Change add_hydrogens_obabel to use: obabel $i -O $i -h - Change assign_charges_obabel to use: obabel "$i" -O "$i" --partialcharge gasteiger - Remove temporary file creation, directly overwrite input file - Simplify error handling
- Use obminimize -ff MMFF94 -n 1000 $i format - Add input file validation before processing - Improve error handling and messages
- Move options (-h, --partialcharge) after input file - Add -osdf output format specification - Fix: obabel requires options after input file and explicit output format
- Open Babel package includes obabel and obminimize command-line tools - Used for ligand preparation (hydrogen addition, charge assignment, energy minimization)
- Use shutil.which() to search PATH first - Dynamically detect conda environment from CONDA_PREFIX env var - Check file existence before attempting to run commands - Add more common conda installation paths - Fixes issue where Open Babel is installed but not found
…mat' error - Change add_hydrogens_obabel() to use temp file instead of direct overwrite - Change assign_charges_obabel() to use temp file instead of direct overwrite - Improve obminimize detection by checking same directory as obabel first - Add better error handling and cleanup for temporary files - Fixes 'cannot write output format!' error when obabel tries to overwrite input file
…mats - Add debug output showing exact command being executed - Try 3 different command formats if first one fails - Print full stderr/stdout for better error diagnosis - This will help identify the exact issue with obabel command syntax
- Add cd to SCRIPT_DIR before running Python scripts
- Use ${SCRIPT_DIR} for absolute paths to Python scripts
- Fixes 'No such file or directory' error when run.sh is executed from different directory
- Affects all nodes: 1-protein_preparation, 2-ligand_preparation, 3-docking_preparation, 4-docking, 5-report
- Remove format 2 that doesn't work (options order issue) - Keep format 1 (working) and format 2 (explicit input/output format) as fallback - Verified with ONC201.sdf: format 1 works correctly for both add H and assign charges - Test results: format 1 (-h -osdf -O) works, old format 2 (-O output -h) fails
…ve ligand preparation - Rename and reorder nodes: node_09 -> node_04, node_04 -> node_05, node_10 -> node_06 - Update execution order: real_ligand addition before ligand preparation - Simplify obabel commands: remove tool detection, use direct commands - Add pH 7.4 consideration for hydrogen addition - Fix CSV output path in node_06_ligand_view.py - Update README with accurate node descriptions and execution flow
0bb9dce to
546f088
Compare
…efault chain selection - node_04_real_ligand_addition.py: Download ligand SDF from RCSB PDB using global_params.json - node_05_prepare_ligands.py: Add timeout handling (60s per ligand, 30s per step) to prevent hanging - node_07_ligand_loading.py: Use global_params.json ligand_name, select first match if multiple found - node_08_extract_chains.py: Default to all chains (DEFAULT_CHAIN_ID = None) - node_11_ligand_center_identification.py: Use global_params.json ligand_name, select first match - node_12_protein_extraction.py: Default to all chains (DEFAULT_CHAIN_ID = None) - node_13_smina_screening.py: Updated for consistency
- Document PDB ligand download functionality in node_04_real_ligand_addition.py - Document timeout handling in node_05_prepare_ligands.py (60s per ligand, 30s per step) - Document default all-chains selection (DEFAULT_CHAIN_ID = None) - Document ligand selection from global_params.json (first match if multiple found) - Update execution flow to remove 3-docking_preparation dependency from 2-ligand_preparation - Update config.txt example with correct size values (15.0) and num_modes (5)
Collaborator
Author
|
@rogerwq I finished the modification, please test it. |
Collaborator
Author
|
@rogerwq sorry, wait merging. |
…ation - Remove obminimize-based minimize_energy function - Simplify minimize_energy_rdkit to use AddHs, EmbedMolecule, and UFFOptimizeMolecule - Update comments to reflect RDKit UFF usage instead of obminimize - Set maxIters to 500 for UFF optimization
Collaborator
Author
|
@rogerwq finished. Please merge |
…compounds to root directory - Update job.toml files to use explicit paths (outputs/selected_compounds) instead of root-level paths - Add cleanup logic in run.sh scripts to remove selected_compounds from root directory if Silva mounts it - Ensure all file transfers go through input/ directory only
- Move SELECTED_COMPOUNDS_DIR definition outside of if block - Fix break statement placement inside for loop
Collaborator
Author
|
@rogerwq finished. I moved the updated workflow to workflow-2. Please merge only workflow-2. |
- Identify and highlight true_ligand in ranking - Always copy true_ligand results even if not in top 3 - Add true_ligand summary to ranking file - Display true_ligand rank in console output
- Add helper to combine receptor PDB and docked SDF into *_complex.pdb - Generate complex PDB for each successfully docked ligand - Fix misplaced break in receptor search loop
- Move SELECTED_COMPOUNDS_DIR definition outside conditional block - Ensures variable is always defined before use
…report - Remove complex PDB generation from docking/smina_screening.py - Add create_protein_ligand_complex function to report/reporting.py - Generate complex PDBs for all ligands in report node - Create complexes for top 3, true_ligand, and all other ligands
1. Get protein PDB from docking/input/ (not from preparation_dir) 2. Get top 1, 2, 3 and true_ligand SDF files from docking/outputs/ 3. Extract best pose (first molecule) from each SDF and create complexes 4. Output complexes directly to outputs/ (not outputs/results/) - Remove processing of all ligands (only process top 3 + true_ligand) - Add extract_best_pose_from_sdf function (for future use) - Update create_protein_ligand_complex to extract first molecule from SDF - Simplify copy_top_compounds to only handle top 3 and true_ligand
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
conflict resolved