### Example FASTA file format Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md This is an example of the FASTA file format required for input sequences. Ensure each protein sequence is preceded by a description line starting with '>'. ```plaintext >proteinA SEQUENCEOFPROTEINA >proteinB SEQUENCEOFPROTEINB ``` -------------------------------- ### Verify MinIO Client Installation Source: https://github.com/kosinskilab/alphapulldown/wiki/Features-Database Checks if the MinIO Client (mc) is installed correctly by displaying its help information. ```bash mc --help ``` -------------------------------- ### Install Test Dependencies Source: https://github.com/kosinskilab/alphapulldown/wiki/Testing Installs the necessary dependencies for running tests. This should be run before executing any test commands. ```bash pip install -e .[test] ``` -------------------------------- ### Install MinIO Client (mc) Source: https://github.com/kosinskilab/alphapulldown/wiki/Features-Database Installs the MinIO Client binary for AMD64 architecture. Ensure the binary is executable and moved to your PATH. ```bash curl -O https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc sudo mv mc /usr/local/bin/ ``` -------------------------------- ### Compile and Install UniCore Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Clones the Uni-Core repository, installs it into the Conda environment, and verifies the installation. This is a prerequisite for AlphaLink2. ```bash source activate AlphaPulldown git clone https://github.com/dptech-corp/Uni-Core.git cd Uni-Core python setup.py install --disable-cuda-ext # test whether unicore is successfully installed python -c "import unicore" ``` -------------------------------- ### Install AlphaFold3 Backend for Developers Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Sets up a Conda environment for AlphaFold3 development, installing AlphaPulldown with alphafold3 and test extras, and then installing the alphafold3 package. ```bash mamba create -y -n AlphaPulldown_alphafold3 -c conda-forge -c bioconda \ python=3.11 \ kalign2 \ hmmer \ hhsuite \ libcifpp \ sqlite mamba activate AlphaPulldown_alphafold3 python -m pip install ".[alphafold3,test]" python -m pip install --no-deps -e ./alphafold3 build_data ``` -------------------------------- ### Install AlphaFold2 Backend for Developers Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Sets up a Conda environment for AlphaFold2 development, installing AlphaPulldown with alphafold2 and test extras. ```bash mamba create -y -n AlphaPulldown -c conda-forge -c bioconda \ python=3.10 \ kalign2 \ hmmer \ hhsuite mamba activate AlphaPulldown python -m pip install ".[alphafold2,test]" ``` -------------------------------- ### Install AlphaFold3 Backend Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Creates a Conda environment for the AlphaFold3 backend, installs necessary packages, and builds the alphafold3 package. ```bash mamba create -y -n AlphaPulldown_alphafold3 -c conda-forge -c bioconda \ python=3.11 \ kalign2 \ hmmer \ hhsuite \ libcifpp \ sqlite mamba activate AlphaPulldown_alphafold3 python -m pip install ".[alphafold3]" python -m pip install --no-deps -e ./alphafold3 build_data ``` -------------------------------- ### Example run with SLURM (EMBL cluster) Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md An example of how to run the CPU stage of AlphaPulldown on an EMBL cluster using SLURM. Adjust job parameters as needed. ```bash #!/bin/bash #SBATCH --job-name=AlphaPulldown_CPU #SBATCH --nodes=1 #SBATCH --ntasks-per-node=1 #SBATCH --cpus-per-task=16 #SBATCH --mem=64G #SBATCH --time=24:00:00 #SBATCH --output=AlphaPulldown_CPU_%j.out #SBATCH --error=AlphaPulldown_CPU_%j.err conda activate alphapulldown alphapulldown \ --input_fasta inputs/input.fasta \ --output_dir results/cpu_stage \ --nproc 16 ``` -------------------------------- ### Install CCP4 Package for Analysis Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Installs the CCP4 package using Singularity for downstream analysis, including copying necessary binaries and libraries. ```bash singularity pull docker://kosinskilab/fold_analysis:latest singularity build --sandbox fold_analysis_latest.sif tar xvzf ccp4-9.0.003-linux64.tar.gz cd ccp4-9 cp bin/pisa bin/sc /software/ cp -rn lib/* /software/lib64/ singularity build ``` -------------------------------- ### Install AlphaFold3 with C++ Module Support Source: https://github.com/kosinskilab/alphapulldown/blob/main/docs/backend_installation.md Install the AlphaFold3 package and its dependencies, including the C++ components, by navigating to the AlphaPulldown directory and running the specified pip install commands. ```bash cd /path/to/AlphaPulldown python -m pip install ".[alphafold3,test]" python -m pip install --no-deps -e ./alphafold3 build_data ``` -------------------------------- ### Install JAX with CUDA support Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Installs specific versions of JAX and JAXlib with CUDA and cuDNN support. This is necessary for GPU acceleration when using AlphaPulldown. ```bash pip install jax==0.4.27 \ jaxlib==0.4.27+cuda12.cudnn89 \ -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html ``` -------------------------------- ### Install PyTorch for AlphaLink2 Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Installs PyTorch with CUDA support, specifically for AlphaLink2. Ensure separate environments are used to avoid conflicts with JAX. ```bash pip3 install torch==2.5.1+cu118 --extra-index-url https://download.pytorch.org/whl/cu118 ``` -------------------------------- ### Example Plot Interaction Network Command Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface An example demonstrating how to run the plot_interaction_network.py script with specific parameters for filtering and outputting edge and node data. ```bash plot_interaction_network.py \ predictions_with_good_interpae.csv \ interaction_network.png \ --max_pae 10 \ --edges_out edges.csv \ --nodes_out nodes.csv ``` -------------------------------- ### Install and Test Before Pushing Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/Developing.md Before pushing changes to the remote repository or submitting a pull request, install the package using 'pip install .' and run all tests with pytest. Note that prediction tests require SLURM availability. ```bash pip install . pytest -s test/ ``` -------------------------------- ### Example: Generate AlphaFold Server JSON Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface This example demonstrates how to use the script with specific input files and directories to generate AlphaFold Server batch JSON. Output files will be numbered if more than 100 jobs are created. ```bash generate_alphafold_server_json.py \ --protein_lists baits.txt preys.txt \ --monomer_objects_dir ./features/ \ --output_path af_server_jobs.json \ --mode pulldown \ --jobs_per_file 100 ``` -------------------------------- ### Install AlphaFold2 Backend Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Creates a Conda environment for the AlphaFold2 backend and installs AlphaPulldown with AlphaFold2 extras. ```bash mamba create -y -n AlphaPulldown -c conda-forge -c bioconda \ python=3.10 \ kalign2 \ hmmer \ hhsuite mamba activate AlphaPulldown python -m pip install ".[alphafold2]" ``` -------------------------------- ### Install HMMER in AlphaPulldown Environment Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/old_manual.md Activate the AlphaPulldown environment and install HMMER using Conda. This is an optional step if HMMER is not already installed. ```bash source activate AlphaPulldown conda install -c bioconda hmmer ``` -------------------------------- ### Running a specific job with seq_index Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Example of how to use the `--seq_index` flag to run the feature calculation for a specific protein in the FASTA file. The index starts from 1. ```bash create_individual_features.py --fasta_paths=sequences.fasta --data_dir=... --output_dir=... --max_template_date=... --seq_index=1 ``` -------------------------------- ### Run CPU CI-Equivalent Suite Source: https://github.com/kosinskilab/alphapulldown/wiki/Testing Executes both unit and integration tests in parallel, mimicking the CI environment. Ensure you have the necessary setup for parallel execution. ```bash pytest -n auto --dist loadfile test/unit pytest test/integration ``` -------------------------------- ### Install CUDA-enabled JAX for AlphaFold2 Source: https://github.com/kosinskilab/alphapulldown/blob/main/docs/backend_installation.md Use this command to install the correct JAX version with CUDA support if you encounter 'Unknown backend: \'gpu\' requested'. ```bash python -m pip install --upgrade --no-cache-dir "jax==0.5.3" "jax[cuda12]==0.5.3" ``` ```python import jax print(jax.__version__) print(jax.local_devices(backend="gpu")) ``` -------------------------------- ### Install AlphaPulldown Beta Version Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/old_manual.md Install the latest beta version of AlphaPulldown. Be aware that beta versions may not be fully stable. ```bash pip install alphapulldown==2.0.0b2 ``` -------------------------------- ### Run using MMseqs2 and ColabFold Databases (Faster) Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Utilizes MMseqs2 and ColabFold databases for a faster CPU stage run. Ensure MMseqs2 and the databases are correctly installed and configured. ```bash alphapulldown \ --input_fasta inputs/input.fasta \ --output_dir results/cpu_stage_mmseqs2 \ --nproc 16 \ --use_precomputed_msa true \ --msa_mode mmseqs2 \ --databases colabfold_databases ``` -------------------------------- ### Example run with SLURM (EMBL cluster) - GPU Stage Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md An example of how to run the GPU stage of AlphaPulldown on an EMBL cluster using SLURM. Ensure GPU resources are requested. ```bash #!/bin/bash #SBATCH --job-name=AlphaPulldown_GPU #SBATCH --nodes=1 #SBATCH --ntasks-per-node=1 #SBATCH --cpus-per-task=16 #SBATCH --mem=64G #SBATCH --gres=gpu:1 #SBATCH --time=24:00:00 #SBATCH --output=AlphaPulldown_GPU_%j.out #SBATCH --error=AlphaPulldown_GPU_%j.err conda activate alphapulldown alphapulldown \ --input_fasta results/cpu_stage/features.pkl \ --output_dir results/gpu_stage \ --nproc 16 \ --use_gpu true ``` -------------------------------- ### Use Precomputed MSAs Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/example_1.md If you have pre-computed MSA files, set use_precomputed_msas to True and arrange your files in the specified directory structure. The output_dir should then point to this example directory. ```text example_directory |- protein_A |- uniref90_hits.sto |- pdb_hits.sto |- ***.a3m |- etc |- protein_B |- ***.sto |- etc ``` -------------------------------- ### Compile UniCore for AlphaLink2 Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/run_with_AlphaLink2.md Clone the Uni-Core repository, install specific versions of PyTorch and setuptools, and then install UniCore. This is a prerequisite for using AlphaLink2 with cross-link data. ```bash git clone https://github.com/dptech-corp/Uni-Core.git cd Uni-Core pip install torch==1.13.0+cu117 --extra-index-url https://download.pytorch.org/whl/cu117 pip install setuptools==69.5.1 # Downgrade setuptools to avoid crashes when installing unicore git clone https://github.com/dptech-corp/Uni-Core.git pip install setuptools==69.5.1 # avoid crashes brought by setuptools v70.x python setup.py install --disable-cuda-ext ``` ```python import unicore ``` -------------------------------- ### Install AlphaJudge Source: https://github.com/kosinskilab/alphapulldown/wiki/Downstream-Analysis Install the AlphaJudge package using pip. This tool combines AlphaFold confidence metrics with interface biophysics for ranking complexes. ```bash pip install alphajudge ``` -------------------------------- ### Compile UniCore for AlphaLink2 Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Clones the Uni-Core repository and installs it using pip3. A basic import check is included. ```bash git clone https://github.com/dptech-corp/Uni-Core.git cd Uni-Core pip3 install . python -c "import unicore" ``` -------------------------------- ### Install AlphaPulldown using pip Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/old_manual.md Activate the AlphaPulldown environment and install the AlphaPulldown package using pip. Ensure you have the correct Python environment activated. ```bash source activate AlphaPulldown python3 -m pip install alphapulldown==1.0.4 pip install jax==0.4.23 jaxlib==0.4.23+cuda11.cudnn86 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html ``` -------------------------------- ### Install APLit Source: https://github.com/kosinskilab/alphapulldown/wiki/Downstream-Analysis Install the APLit Streamlit UI using pip. This UI allows browsing AlphaPulldown output, visualizing models, and overlaying AlphaJudge scores. ```bash pip install git+https://github.com/KosinskiLab/aplit.git ``` -------------------------------- ### Verify GPU JAX Visibility Source: https://github.com/kosinskilab/alphapulldown/blob/main/docs/backend_installation.md This Python snippet checks if JAX is installed correctly and if GPU devices are recognized by the system. Run this after installing the AlphaFold2 environment. ```python import jax print(jax.__version__) print(jax.local_devices(backend="gpu")) ``` -------------------------------- ### Open Generated Jupyter Notebook Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/example_2.md Use this command to open the generated 'output.ipynb' notebook using JupyterLab. This requires JupyterLab to be installed. ```bash source activate AlphaPulldown cd jupyter-lab output.ipynb ``` -------------------------------- ### Change Folding Backend to AlphaFold3 Source: https://github.com/kosinskilab/alphapulldown/blob/main/README.md Specify the folding backend using `structure_inference_arguments`. This example sets the backend to `alphafold3`. Other flags can be appended as needed. ```yaml structure_inference_arguments: --fold_backend: alphafold3 -- ``` -------------------------------- ### Example Protein List 1 Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface A single protein for the first input list in pulldown mode. ```plaintext proteinA ``` -------------------------------- ### Run Package Tests During Development Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/Developing.md Install pytest and run tests from the 'test/' directory to verify package functionality during development. Specific test files or classes can also be targeted. ```bash pip install pytest pytest -s test/ ``` ```bash pytest -s test/test_predictions_slurm.py ``` ```bash pytest -s test/test_features_with_templates.py::TestCreateIndividualFeaturesWithTemplates::test_1a_run_features_generation ``` -------------------------------- ### Submit Job Array for Multiple FASTA Files Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md This example demonstrates how to submit a SLURM job array when you have multiple input FASTA files. It calculates the total number of sequences across all specified FASTA files and submits a single job array. Adjust the `count` variables for more than two input files. ```bash mkdir logs #Count the number of jobs corresponding to the number of sequences: count1=`grep ">" | wc -l` count2=`grep ">" | wc -l` count=$(( $count1 + $count2 )) #Run the job array, 100 jobs at a time: sbatch --array=1-$count%100 create_individual_features_SLURM.sh ``` -------------------------------- ### Setup SLURM Script for Multimer Jobs Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface This bash script configures SLURM parameters and environment variables for running multimer prediction jobs. Customize input parameters for the run_multimer_jobs.py script. ```bash #!/bin/bash # A typical run takes a couple of hours but may be much longer #SBATCH --job-name=array #SBATCH --time=2-00:00:00 # log files: #SBATCH -e logs/run_multimer_jobs_%A_%a_err.txt #SBATCH -o logs/run_multimer_jobs_%A_%a_out.txt # qos sets priority #SBATCH --qos=low #SBATCH -p gpu # lower-end GPUs might be sufficient for pairwise screens: #SBATCH -C "gpu=2080Ti|gpu=3090" # Reserve the entire GPU so no one else slows you down #SBATCH --gres=gpu:1 # Limit the run to a single node #SBATCH -N 1 # Adjust this depending on the node #SBATCH --ntasks=8 #SBATCH --mem=64000 module load Mamba mamba activate AlphaPulldown MAXRAM=$(echo `ulimit -m` '/ 1024.0'|bc) GPUMEM=`nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits|tail -1` export XLA_PYTHON_CLIENT_MEM_FRACTION=`echo "scale=3;$MAXRAM / $GPUMEM"|bc` export TF_FORCE_UNIFIED_MEMORY='1' # CUSTOMIZE THE FOLLOWING SCRIPT PARAMETERS FOR YOUR SPECIFIC TASK: run_multimer_jobs.py \ --mode=custom \ --monomer_objects_dir= \ --protein_lists= \ --output_path= \ --num_cycle= \ --data_dir=/scratch/AlphaFold_DBs/2.3.2/ \ --num_predictions_per_model=1 \ --job_index=$SLURM_ARRAY_TASK_ID ``` -------------------------------- ### Install AlphaPulldown Dependencies Source: https://github.com/kosinskilab/alphapulldown/blob/main/README.md Installs the necessary dependencies for AlphaPulldown using Conda. Ensure you have Conda installed and activated. ```bash conda env create \ -n snake \ -f https://raw.githubusercontent.com/KosinskiLab/AlphaPulldownSnakemake/2.5.0/workflow/envs/alphapulldown.yaml conda activate snake ``` -------------------------------- ### Multi-file Pulldown Experiments Configuration Source: https://github.com/kosinskilab/alphapulldown/blob/main/README.md Demonstrates configuring multiple input files for complex multi-partner interaction screens in `config.yaml`. This generates combinations across all specified files. ```yaml input_files: - "proteins_A.txt" # 5 proteins - "proteins_B.txt" # 3 proteins - "proteins_C.txt" # 2 proteins ``` -------------------------------- ### Install PyTorch with CUDA 11.7 Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Installs PyTorch version 1.13.0 with CUDA 11.7 support. Ensure your system has a compatible CUDA version installed. ```bash pip install torch==1.13.0+cu117 --extra-index-url https://download.pytorch.org/whl/cu117 ``` -------------------------------- ### Configure Pulldown Experiments with Baits File Source: https://github.com/kosinskilab/alphapulldown/blob/main/README.md Sets up pulldown experiments by specifying a 'baits' file in `config.yaml`. This tests interactions between proteins in the sample sheet and those in the baits file. ```yaml input_files: - "config/sample_sheet.csv" - "config/baits.txt" ``` -------------------------------- ### Install AlphaPulldown using pip Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Installs AlphaPulldown and its dependencies using pip. This command should be run within the activated Conda environment. ```bash pip install alphapulldown ``` -------------------------------- ### Install AlphaFold3 Package in Editable Mode Source: https://github.com/kosinskilab/alphapulldown/blob/main/docs/backend_installation.md Installs the root AlphaPulldown package in editable mode, useful for development within the checkout. ```bash python -m pip install -e . --no-deps ``` -------------------------------- ### Build Singularity Image Source: https://github.com/kosinskilab/alphapulldown/blob/main/alphapulldown/analysis_pipeline/README.md Use this command to build the singularity image from a definition file. Ensure you are using the correct definition file (e.g., alpha_analysis_jax0.4.def) for the desired image version. ```bash singularity build alpha-analysis_jax_0.4.sif alpha_analysis_jax0.4.def ``` -------------------------------- ### Run create_individual_features.py with Custom A3M Files Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md This command demonstrates how to run create_individual_features.py when you have already generated custom A3M files (e.g., from local MMseqs2 search) and placed them in the output directory. Ensure the AlphaPulldown environment is activated. ```bash source activate AlphaPulldown create_individual_features.py \ --fasta_paths= \ --data_dir= \ --output_dir= \ --skip_existing=False \ --use_mmseqs2=True \ --seq_index= ``` -------------------------------- ### Run with custom templates (TrueMultimer) Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Enables the use of custom templates for the TrueMultimer model during the CPU stage. Specify the path to your custom template directory. ```bash alphapulldown \ --input_fasta inputs/input.fasta \ --output_dir results/cpu_stage_custom_templates \ --nproc 16 \ --custom_templates /path/to/your/custom_templates ``` -------------------------------- ### Install AlphaPulldown Package for Development Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/Developing.md After activating the Conda environment, install the AlphaPulldown package and its submodules using pip in editable mode. This step is performed only once. ```bash source activate AlphaPulldown cd AlphaPulldown pip install -e . cp alphapulldown/package_data/stereo_chemical_props.txt alphafold/alphafold/common/ pip install -e ColabFold --no-deps pip install -e alphafold --no-deps ``` -------------------------------- ### Execute Feature Creation with Custom Templates Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Command to run the create_individual_features.py script with custom template paths and description file. This script generates feature files incorporating the specified structural templates. ```bash create_individual_features.py \ --fasta_paths= \ --path_to_mmt= \ --description_file= \ --data_dir= \ --output_dir= \ --max_template_date= \ --save_msa_files=True \ --use_precomputed_msas=True \ --skip_existing=True ``` -------------------------------- ### Running Multimeric Template Modelling Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/new_multimeric_template_modelling.md This command initiates the multimeric template modelling process. Ensure all required input files and directories are correctly specified. The --multimeric_mode flag is crucial for enabling this functionality. ```bash python alphapulldown/alphapulldown/scripts/run_multimer_jobs_refactor.py \ --mode=custom --output_path=/output/path \ --data_dir=/scratch/AlphaFold_DBs/2.3.0 --multimeric_mode \ --description_file= description.csv \ --path_to_mmt= path_to_template\ --monomer_objects_dir= monomeric_object_dir/ \ --protein_lists= custom.txt --msa_depth=4 ``` -------------------------------- ### Download All Features for an Organism Source: https://github.com/kosinskilab/alphapulldown/wiki/Features-Database Copies all feature files for a specified organism (e.g., Escherichia coli) from the remote database to a local directory with the same name. ```bash mc cp --recursive embl/alphapulldown/input_features/Escherichia_coli/ ./Escherichia_coli/ ``` -------------------------------- ### Basic script execution for AlphaPulldown features Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Activate the AlphaPulldown environment and run the `create_individual_features.py` script with essential parameters. Ensure you replace placeholders with your actual file paths and desired settings. ```bash mamba activate AlphaPulldown create_individual_features.py \ --fasta_paths= \ --data_dir= \ --output_dir= \ --max_template_date= ``` -------------------------------- ### Install AlphaPulldown and Submodules for Development Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Installs the AlphaPulldown package and its submodules into the active Conda environment for development purposes. Use '--no-deps' to avoid dependency conflicts. ```bash source activate AlphaPulldown cd AlphaPulldown pip install alphapulldown pip install -e . --no-deps pip install -e ColabFold --no-deps pip install -e alphafold --no-deps ``` -------------------------------- ### Install AlphaFold2 Dependencies with Mamba Source: https://github.com/kosinskilab/alphapulldown/blob/main/docs/backend_installation.md Use this command to create and activate a new conda environment with necessary dependencies for AlphaFold2. Ensure you are in the AlphaPulldown repository root before running the pip install command. ```bash mamba create -y -n apd-af2 -c conda-forge -c bioconda \ python=3.10 \ kalign2 \ hmmer \ hhsuite mamba activate apd-af2 cd /path/to/AlphaPulldown python -m pip install ".[alphafold2,test]" ``` -------------------------------- ### Example Protein List 2 Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface A list of proteins to be combined with the first list in pulldown mode. ```plaintext proteinB proteinC proteinD proteinE proteinF proteinG ``` -------------------------------- ### Description File for Multiple Templates Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Illustrates how to specify multiple templates for a single protein in the description.csv file. This requires using the --multiple_template=True flag during script execution. ```plaintext >proteinA,TMPL.cif,A >proteinA,TMP2.cif,B >proteinB,TMPL.cif,B ``` -------------------------------- ### Launch Jupyter Notebook Locally Source: https://github.com/kosinskilab/alphapulldown/wiki/Downstream-Analysis Use this command to open the generated Jupyter notebook in your local environment. ```bash jupyter-lab output.ipynb ``` -------------------------------- ### Create Anaconda Environment Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Creates a new Conda environment for AlphaPulldown. Ensure you have Anaconda or Miniconda installed. ```bash conda create -n alphapulldown python=3.9 -y conda activate alphapulldown ``` -------------------------------- ### Create Jupyter Notebook for Analysis Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Execute the create_notebook.py script to generate an interactive Jupyter Notebook for model evaluation and ranking. Use the --cutoff parameter to filter models based on inter-chain PAE values. ```bash source activate AlphaPulldown create_notebook.py --cutoff=5.0 --output_dir= ``` -------------------------------- ### Example Protein List 3 Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface An optional third protein list to further expand combinations in pulldown mode. ```plaintext proteinX proteinZ ``` -------------------------------- ### Execute All-vs-All Mode Jobs Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Creates a log directory and submits SLURM jobs for all-vs-all mode. The number of jobs is calculated based on the combinations of sequences in a single protein list file. ```bash mkdir -p logs # Count the number of jobs corresponding to the number of sequences: count1=`grep -c "" ` # count lines even if the last one has no end of line count=$(( $count1 * ( $count1 + 1) / 2 )) sbatch --array=1-$count example_data/run_multimer_jobs_SLURM.sh ``` -------------------------------- ### Create Jupyter Notebook for Model Visualization Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/example_2.md Run this command to generate a Jupyter notebook for visualizing AlphaPulldown models. Ensure you are in the correct output directory and have the AlphaPulldown environment activated. ```bash source activate AlphaPulldown cd create_notebook.py --cutoff=5.0 --output_dir= ``` -------------------------------- ### Run with crosslinking-data (AlphaLink2) Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Integrates crosslinking data using AlphaLink2 for structure prediction. This requires AlphaLink2 to be installed and crosslinking data to be formatted correctly. ```bash alphapulldown \ --input_fasta results/cpu_stage/features.pkl \ --output_dir results/gpu_stage_alphalink2 \ --nproc 16 \ --use_gpu true \ --crosslinking_data /path/to/your/crosslinking_data.json ``` -------------------------------- ### Verify AlphaFold3 Extension and GPU JAX Availability Source: https://github.com/kosinskilab/alphapulldown/blob/main/docs/backend_installation.md Runs a Python script to check the installed AlphaFold3 C++ extension and GPU-enabled JAX availability. ```python import alphafold3.cpp import jax print(jax.__version__) print(jax.local_devices(backend="gpu")) print(alphafold3.cpp.__file__) ``` -------------------------------- ### Inspect All Models in a Prediction Directory Source: https://github.com/kosinskilab/alphapulldown/wiki/Run-AlphaPulldown-Python-Command-Line-Interface Example of using plot_diagnostics.py to inspect all models within a prediction directory. This is useful for reviewing model confidence after prediction. ```bash # Inspect all models in a prediction directory plot_diagnostics.py ./predictions/proteinA_and_proteinB/ --output_dir plots/ ``` -------------------------------- ### Create and Activate AlphaFold3 Environment Source: https://github.com/kosinskilab/alphapulldown/blob/main/docs/backend_installation.md Sets up a Conda environment named 'apd-af3' with necessary dependencies for AlphaFold3 and activates it. ```bash mamba create -y -n apd-af3 -c conda-forge -c bioconda \ python=3.11 \ kalign2 \ hmmer \ hhsuite \ libcifpp \ sqlite mamba activate apd-af3 cd /path/to/AlphaPulldown python -m pip install "[alphafold3,test]" python -m pip install --no-deps -e ./alphafold3 build_data ``` -------------------------------- ### Make Script Executable Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md This command makes the bash script executable. Run this after creating the script file. ```bash chmod +x create_individual_features_SLURM.sh ``` -------------------------------- ### Run with custom templates (TrueMultimer) - GPU Stage Source: https://github.com/kosinskilab/alphapulldown/blob/main/manuals/AlphaPulldown_manual.md Uses custom templates during the GPU stage for TrueMultimer predictions. Ensure the template directory is accessible and correctly formatted. ```bash alphapulldown \ --input_fasta results/cpu_stage/features.pkl \ --output_dir results/gpu_stage_custom_templates \ --nproc 16 \ --use_gpu true \ --custom_templates /path/to/your/custom_templates ```