Skip to content

Question - Number recycling check from log #601

@cifuj

Description

@cifuj

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions