-
Notifications
You must be signed in to change notification settings - Fork 58
Question - Number recycling check from log #601
Description
Hi, I have a kind of silly question that I want to ask bout the number of recycles during the modelling step.
I am running AlphaPulldown using the Python Command Line Interface, and I am trying to compare ~30,000 protein pairs. To reduce the running time, I would like to test for the optimal number of recycles to save time.
Currently I am testing the dataset with 3 recycles
run_multimer_jobs.py \
--mode=custom \
--monomer_objects_dir="${MONOMER_DIR}" \
--data_dir="${ALPHAFOLD_DATA}" \
--protein_lists="${PAIR_FILE}" \
--output_path="${OUTPUT_DIR}" \
--num_cycle=3 \
--num_predictions_per_model=1 \
--models_to_relax=Best
When I check the log file of run_multimer_jobs.py, I can see that the option is passed to the command:
I0401` 18:21:06.862499 23424806425856 run_multimer_jobs.py:146] command: ['python3 /opt/conda/bin/run_structure_prediction.py', '--output_directory', '/ptmp/alphapulldown_output', '--num_cycle', '3', '--num_predictions_per_model', '1', '--data_directory', '/raven/ri/public_sequence_data/alphafold2/git-v2.3.2-2024/data', '--features_directory', '/u/AlphaPullDown/features', '--pair_msa', '', '--nomsa_depth_scan', '', '--nomultimeric_template', '', '--fold_backend', 'alphafold', '--nocompress_result_pickles', '', '--noremove_result_pickles', '', '--remove_keys_from_pickles', '', '--use_ap_style', '', '--use_gpu_relax', '', '--protein_delimiter', '+', '--models_to_relax', 'Best', '--input', 'p1+betaroll']
But then, later in the model.py the num_recycles remains empty.
I0401 18:21:21.269582 22760518415616 model.py:165] Running predict with shape(feat) = {'aatype': (870,), 'residue_index': (870,), 'seq_length': (), 'msa': (4095, 870), 'num_alignments': (), 'template_all_atom_positions': (4, 870, 37, 3), 'template_all_atom_mask': (4, 870, 37), 'template_aatype': (4, 870), 'asym_id': (870,), 'sym_id': (870,), 'entity_id': (870,), 'deletion_matrix': (4095, 870), 'deletion_mean': (870,), 'all_atom_mask': (870, 37), 'all_atom_positions': (870, 37, 3), 'assembly_num_chains': (), 'entity_mask': (870,), 'num_templates': (), 'cluster_bias_mask': (4095,), 'bert_mask': (4095, 870), 'seq_mask': (870,), 'msa_mask': (4095, 870)}
I0401 18:24:51.078534 22760518415616 model.py:177] Output shape was {'distogram': {'bin_edges': (63,), 'logits': (870, 870, 64)}, 'experimentally_resolved': {'logits': (870, 37)}, 'masked_msa': {'logits': (508, 870, 22)}, 'num_recycles': (), 'predicted_aligned_error': (870, 870), 'predicted_lddt': {'logits': (870, 50)}, 'structure_module': {'final_atom_mask': (870, 37), 'final_atom_positions': (870, 37, 3)}, 'plddt': (870,), 'aligned_confidence_probs': (870, 870, 64), 'max_predicted_aligned_error': (), 'ptm': (), 'iptm': (), 'ranking_confidence': ()}
I do not know if alphafold is actually recycling the structures, and I can't tell if recycling is actually improving the overall structure confidence of the model.
I was trying to find something like the log.txt from the ColabFold where they indicate the number of recylces and the pLDDT of each recycle.
2026-04-01 16:55:34,096 Running on GPU
2026-04-01 16:55:34,100 Found 5 citations for tools or databases
2026-04-01 16:55:34,100 Query 1/1: test_num_cycle3_a5e17_0 (length 59)
2026-04-01 16:55:35,935 Setting max_seq=512, max_extra_seq=5120
2026-04-01 16:56:06,734 alphafold2_ptm_model_1_seed_000 recycle=0 pLDDT=96.5 pTM=0.752
2026-04-01 16:56:29,191 alphafold2_ptm_model_1_seed_000 recycle=1 pLDDT=96.4 pTM=0.757 tol=0.267
2026-04-01 16:56:33,860 alphafold2_ptm_model_1_seed_000 recycle=2 pLDDT=96 pTM=0.754 tol=0.0508
2026-04-01 16:56:38,563 alphafold2_ptm_model_1_seed_000 recycle=3 pLDDT=95.7 pTM=0.752 tol=0.0485
2026-04-01 16:56:38,564 alphafold2_ptm_model_1_seed_000 took 54.4s (3 recycles)
2026-04-01 16:56:43,396 alphafold2_ptm_model_2_seed_000 recycle=0 pLDDT=96.9 pTM=0.761
2026-04-01 16:56:48,171 alphafold2_ptm_model_2_seed_000 recycle=1 pLDDT=97 pTM=0.768 tol=0.326
2026-04-01 16:56:53,009 alphafold2_ptm_model_2_seed_000 recycle=2 pLDDT=96.9 pTM=0.767 tol=0.163
2026-04-01 16:56:58,140 alphafold2_ptm_model_2_seed_000 recycle=3 pLDDT=96.5 pTM=0.762 tol=0.0415
2026-04-01 16:56:58,141 alphafold2_ptm_model_2_seed_000 took 19.5s (3 recycles)
2026-04-01 16:57:02,984 alphafold2_ptm_model_3_seed_000 recycle=0 pLDDT=97.2 pTM=0.776
2026-04-01 16:57:07,732 alphafold2_ptm_model_3_seed_000 recycle=1 pLDDT=97.4 pTM=0.782 tol=0.26
2026-04-01 16:57:12,445 alphafold2_ptm_model_3_seed_000 recycle=2 pLDDT=97.4 pTM=0.783 tol=0.1
2026-04-01 16:57:17,133 alphafold2_ptm_model_3_seed_000 recycle=3 pLDDT=97.4 pTM=0.783 tol=0.0411
2026-04-01 16:57:17,134 alphafold2_ptm_model_3_seed_000 took 18.9s (3 recycles)
2026-04-01 16:57:21,943 alphafold2_ptm_model_4_seed_000 recycle=0 pLDDT=97.1 pTM=0.772
2026-04-01 16:57:26,619 alphafold2_ptm_model_4_seed_000 recycle=1 pLDDT=97.1 pTM=0.779 tol=0.221
2026-04-01 16:57:31,301 alphafold2_ptm_model_4_seed_000 recycle=2 pLDDT=96.9 pTM=0.778 tol=0.0821
2026-04-01 16:57:35,973 alphafold2_ptm_model_4_seed_000 recycle=3 pLDDT=96.6 pTM=0.775 tol=0.0659
2026-04-01 16:57:35,974 alphafold2_ptm_model_4_seed_000 took 18.7s (3 recycles)
2026-04-01 16:57:40,731 alphafold2_ptm_model_5_seed_000 recycle=0 pLDDT=96.9 pTM=0.78
2026-04-01 16:57:45,388 alphafold2_ptm_model_5_seed_000 recycle=1 pLDDT=96.4 pTM=0.781 tol=0.323
2026-04-01 16:57:50,063 alphafold2_ptm_model_5_seed_000 recycle=2 pLDDT=96.4 pTM=0.78 tol=0.161
2026-04-01 16:57:54,748 alphafold2_ptm_model_5_seed_000 recycle=3 pLDDT=96.3 pTM=0.778 tol=0.0797
2026-04-01 16:57:54,749 alphafold2_ptm_model_5_seed_000 took 18.7s (3 recycles)
2026-04-01 16:57:54,872 reranking models by 'plddt' metric
2026-04-01 16:57:54,874 rank_001_alphafold2_ptm_model_3_seed_000 pLDDT=97.4 pTM=0.783
2026-04-01 16:57:54,874 rank_002_alphafold2_ptm_model_4_seed_000 pLDDT=96.6 pTM=0.775
2026-04-01 16:57:54,874 rank_003_alphafold2_ptm_model_2_seed_000 pLDDT=96.5 pTM=0.762
2026-04-01 16:57:54,874 rank_004_alphafold2_ptm_model_5_seed_000 pLDDT=96.3 pTM=0.778
2026-04-01 16:57:54,875 rank_005_alphafold2_ptm_model_1_seed_000 pLDDT=95.7 pTM=0.752
2026-04-01 16:57:56,307 Done
Am I just panicking here, and AlphaPulldown is doing the recycling, but I cannot check it from the log files?
Thanks!
Jero