AlphaPulldown sepenuhnya menjaga kompatibilitas dengan file input dan skrip dari versi 1.x.
AlphaPulldown: Versi 2.0.0 (Beta)
Daftar isi
Tentang AlphaPulldown
Ringkasan
Basis data alfafold
Snakemake AlphaPulldown
1. Instalasi
2. Konfigurasi
3. Eksekusi
Jalankan Antarmuka Baris Perintah AlphaPulldown Python
Buat Buku Catatan Jupyter
Buat tabel Hasil
Langkah selanjutnya
Langkah selanjutnya
2.1. Jalankan dasar
2.2. Contoh dijalankan dengan SLURM (klaster EMBL)
2.3. Mode tarik-turun
2.4. Mode Semua versus Semua
2.5. Jalankan dengan Templat Khusus (TrueMultimer)
2.6. Jalankan dengan data tautan silang (AlphaLink2)
Masukan
Eksekusi Skrip: Prediksi Struktur
Keluaran
Langkah selanjutnya
Masukan
Eksekusi Skrip
Keluaran dan langkah selanjutnya
Beberapa input mode "pulldown".
Keluaran dan langkah selanjutnya
Masukan
Eksekusi Skrip untuk Prediksi Struktur TrueMultimer
Keluaran dan langkah selanjutnya
Masukan
Jalankan dengan prediksi AlphaLink2 melalui AlphaPulldown
Keluaran dan langkah selanjutnya
1.1. Jalankan dasar
1.2. Contoh skrip bash untuk SLURM (klaster EMBL)
1.3. Jalankan menggunakan MMseqs2 dan Database ColabFold (Lebih Cepat)
1.4. Jalankan dengan templat khusus (TrueMultimer)
Masukan
Eksekusi Skrip
Keluaran
Langkah selanjutnya
Masukan
Eksekusi Skrip
Langkah selanjutnya
Jalankan MMseqs2 dari Jarak Jauh
Keluaran
Jalankan MMseqs2 Secara Lokal
Langkah selanjutnya
Masukan
Eksekusi Skrip
Keluaran
Langkah selanjutnya
0,1. Ciptakan lingkungan Anaconda
0,2. Instalasi menggunakan pip
0,3. Instalasi untuk alat analisis Hilir
0,4. Instalasi untuk data input cross-link oleh AlphaLink2 (opsional!)
0,5. Instalasi untuk pengembang
0. Instalasi
1. Menghitung fitur penyelarasan beberapa urutan (MSA) dan template (tahap CPU)
2. Struktur prediksi (tahapan GPU)
3. Analisis dan Visualisasi
Analisis hilir
Mengurangi ukuran keluaran AlphaPulldown
Konversi Model dari Format PDB ke Format ModelCIF
1. Konversikan semua model menjadi file ModelCIF terpisah
2. Hanya mengonversi satu model tertentu untuk setiap kompleks
3. Miliki model yang representatif dan pertahankan model terkait
Arsip Zip Terkait
Pilihan Lain-Lain
Buku catatan Jupyter
Tabel hasil
Skrip manajemen hasil
Fitur Basis Data
Daftar organisme yang tersedia:
Unduh fitur protein spesifik:
Unduh semua fitur untuk suatu organisme:
Tangga:
Verifikasi instalasi:
Instalasi
Konfigurasi
Fitur Pengunduhan
AlphaPulldown adalah implementasi khusus dari AlphaFold-Multimer yang dirancang untuk penyaringan interaksi protein-protein dengan throughput tinggi yang dapat disesuaikan. Ini memperluas kemampuan AlphaFold dengan menggabungkan opsi proses tambahan, seperti templat struktur multimerik yang dapat disesuaikan (TrueMultimer), penyelarasan beberapa urutan (MSA) MMseqs2 melalui database ColabFold, prediksi fragmen protein, dan kemampuan untuk menggabungkan data spesifikasi massa sebagai input menggunakan AlphaLink2.
AlphaPulldown dapat digunakan dalam dua cara: baik dengan pipa dua langkah yang terbuat dari skrip python , atau dengan pipa Snakemake secara keseluruhan. Untuk detail tentang penggunaan pipeline Snakemake, silakan merujuk ke repositori GitHub terpisah.
Gambar 1 Ikhtisar alur kerja AlphaPulldown
Alur kerja AlphaPulldown melibatkan 3 langkah berikut:
Membuat dan menyimpan fitur MSA dan template :
Pada langkah ini, AlphaFold mencari database yang sudah diinstal sebelumnya menggunakan HMMER untuk setiap urutan protein yang ditanyakan dan menghitung beberapa penyelarasan urutan (MSA) untuk semua homolog yang ditemukan. Ia juga mencari struktur homolog untuk digunakan sebagai templat untuk pembuatan fitur. Langkah ini hanya membutuhkan CPU.
Opsi yang dapat disesuaikan meliputi:
Untuk mempercepat proses pencarian, MMSeq2 dapat digunakan sebagai pengganti HHMER default.
Gunakan MSA khusus.
Gunakan templat struktural khusus, termasuk templat multimerik (mode TrueMultimer).
Prediksi struktur :
Pada langkah ini, jaringan saraf AlphaFold berjalan dan menghasilkan struktur protein akhir, yang membutuhkan GPU. Kekuatan utama AlphaPulldown adalah kemampuannya untuk secara fleksibel menentukan bagaimana protein digabungkan untuk prediksi struktur kompleks protein. Berikut tiga pendekatan utama yang dapat Anda gunakan:
Gambar 2 Tiga skenario umum yang dicakup oleh AlphaPulldown
Selain itu, AlphaPulldown juga memungkinkan:
Pilih hanya wilayah protein yang ingin Anda prediksi, bukan seluruh rangkaian protein.
Sesuaikan kedalaman MSA untuk mengontrol pengaruh MSA awal pada model akhir.
Integrasikan data tautan silang throughput tinggi dengan pemodelan AlphaFold melalui AlphaLink2.
File tunggal (mode kustom atau mode homo-oligomer): Buat file yang setiap barisnya mencantumkan urutan protein yang ingin Anda prediksi bersama atau setiap baris memberi tahu program untuk memodelkan homo-oligomer dengan jumlah salinan yang Anda tentukan.
Banyak File (mode tarik-turun): Menyediakan beberapa file, masing-masing berisi rangkaian protein. AlphaPulldown akan secara otomatis menghasilkan semua kemungkinan kombinasi dengan memasangkan deretan nama protein dari setiap file.
Semua versus semua : AlphaPulldown akan menghasilkan semua kemungkinan kombinasi protein yang tidak berlebihan dalam daftar.
Analisis hilir hasil :
Hasil untuk semua model prediksi dapat disistematisasikan menggunakan salah satu opsi berikut:
Tabel berisi berbagai skor dan parameter fisik interaksi kompleks protein.
Buku catatan Jupyter dengan model protein 3D interaktif dan plot PAE.
Untuk penghitungan MSA dan fitur standar, AlphaPulldown memerlukan database genetik. Periksa apakah Anda telah mengunduh parameter dan database yang diperlukan (misalnya, BFD, MGnify, dll.) seperti yang diinstruksikan dalam dokumentasi AlphaFold. Anda harus memiliki direktori yang terstruktur sebagai berikut:
alphafold_database/ # Total: ~ 2.2 TB (download: 438 GB)
bfd/ # ~ 1.7 TB (download: 271.6 GB)
# 6 files.
mgnify/ # ~ 64 GB (download: 32.9 GB)
mgy_clusters_2018_12.fa
params/ # ~ 3.5 GB (download: 3.5 GB)
# 5 CASP14 models,
# 5 pTM models,
# 5 AlphaFold-Multimer models,
# LICENSE,
# = 16 files.
pdb70/ # ~ 56 GB (download: 19.5 GB)
# 9 files.
pdb_mmcif/ # ~ 206 GB (download: 46 GB)
mmcif_files/
# About 227,000 .cif files.
obsolete.dat
pdb_seqres/ # ~ 0.2 GB (download: 0.2 GB)
pdb_seqres.txt
small_bfd/ # ~ 17 GB (download: 9.6 GB)
bfd-first_non_consensus_sequences.fasta
uniref30/ # ~ 86 GB (download: 24.9 GB)
# 14 files.
uniprot/ # ~ 98.3 GB (download: 49 GB)
uniprot.fasta
uniref90/ # ~ 58 GB (download: 29.7 GB)
uniref90.fasta
Catatan
Uniclust30 adalah versi database yang dibuat sebelum tahun 2019, UniRef30 adalah versi yang dibuat setelah tahun 2019. Harap diperhatikan bahwa AlphaPulldown menggunakan UniRef30_2023_02 secara default. Versi ini dapat diunduh dengan skrip ini. Alternatifnya, harap timpa jalur default ke database uniref30 menggunakan tanda --uniref30_database_path dari create_individual_features.py.
Catatan
Karena penginstalan lokal semua database genetik memakan ruang, Anda dapat menggunakan database MMseqs2 dan ColabFold yang dijalankan dari jarak jauh sebagai alternatif. Ikuti instruksi yang sesuai. Namun, agar AlphaPulldown berfungsi, Anda harus mengunduh parameter yang disimpan di direktori params/
database AlphaFold.
AlphaPulldown tersedia sebagai pipeline Snakemake, memungkinkan Anda mengeksekusi (1) Pembuatan MSA dan fitur templat secara berurutan, (2) Prediksi struktur, dan (3) Analisis hasil tanpa intervensi manual antar langkah. Untuk lebih jelasnya, silakan merujuk ke repositori AlphaPulldownSnakemake .
Peringatan
AlphaPulldown versi Snakemake sedikit berbeda dari AlphaPulldown berbasis skrip konvensional dalam hal spesifikasi file input.
Sebelum instalasi, pastikan versi python Anda minimal 3.10.
python3 --versi
Instal Dependensi
pip install Snakemake==7.32.4 Snakedeploy==0.10.0 Pulp==2.7 Klik==8.1 Cookiecutter==2.6
Pengaturan Cluster Snakemake
Untuk memungkinkan Snakemake berinteraksi dengan cluster komputasi, kita akan menggunakan Snakemake-Profile untuk SLURM. Jika Anda tidak mengerjakan cluster SLURM, Anda dapat menemukan profil untuk arsitektur berbeda di sini. Berikut ini akan membuat profil yang dapat digunakan dengan Snakemake dan meminta Anda memberikan beberapa informasi tambahan.
git clone https://github.com/Snakemake-Profiles/slurm.git profile_dir="${HOME}/.config/snakemake"mkdir -p "$profile_dir"template="gh:Snakemake-Profiles/slurm"cookiecutter --output-dir "$profile_dir" "$template"
Selama proses penyiapan, Anda akan diminta untuk menjawab beberapa pertanyaan konfigurasi. Di bawah ini adalah pertanyaan dan tanggapan yang disarankan:
profile_name [slurm]:
slurm_noSidecar
Select use_singularity:
1 (Salah)
Select use_conda:
1 (Salah)
jobs [500]:
(Tekan Enter untuk menerima default)
restart_times [0]:
(Tekan Enter untuk menerima default)
max_status_checks_per_second [10]:
(Tekan Enter untuk menerima default)
max_jobs_per_second [10]:
(Tekan Enter untuk menerima default)
latency_wait [5]:
30
Select print_shell_commands:
1 (Salah)
sbatch_defaults []:
qos=node rendah=1
Select cluster_sidecar:
2 (tidak)
cluster_name []:
(Tekan Enter untuk membiarkannya kosong)
cluster_jobname [%r_%w]:
(Tekan Enter untuk menerima default)
cluster_logpath [logs/slurm/%r/%j]:
(Tekan Enter untuk menerima default)
cluster_config []:
(Tekan Enter untuk membiarkannya kosong)
Setelah merespons permintaan ini, profil Slurm Anda yang bernama slurm_noSidecar untuk Snakemake akan dikonfigurasi seperti yang ditentukan.
Singularitas (Mungkin Sudah Terpasang) : Saluran pipa ini memanfaatkan kontainer agar dapat direproduksi. Jika Anda sedang mengerjakan singularitas klaster EMBL yang sudah terinstal dan Anda dapat melewati langkah ini. Jika tidak, silakan instal Singularity menggunakan panduan resmi Singularity.
Unduh The Pipeline : Ini akan mengunduh versi yang ditentukan oleh '--tag' dari pipa serpentmake dan membuat repositori AlphaPulldownSnakemake atau nama lain yang Anda pilih.
alur kerja penerapan ular https://github.com/KosinskiLab/AlphaPulldownSnakemake AlphaPulldownSnakemake --tag 1.4.0cd AlphaPulldownSnakemake
Catatan
Jika Anda ingin menggunakan versi terbaru dari GitHub, ganti --tag XXX
menjadi --branch main
Instal paket CCP4 : Untuk menginstal perangkat lunak yang diperlukan untuk langkah analisis, ikuti petunjuk berikut:
Unduh apa yang disebut gambar Singularitas dengan paket perangkat lunak analisis kami
singularitas tarik buruh pelabuhan://kosinskilab/fold_analisis:terbaru pembangunan singularitas --sandboxlipat_analisis_latest.sif
Unduh CCP4 dari https://www.ccp4.ac.uk/download/#os=linux dan salin ke server Anda
tar xvzf ccp4-9.0.003-linux64.tar.gzcd ccp4-9 cp bin/pisa bin/sc/perangkat lunak/ cp /lib/* /perangkat lunak/lib64/
Buat Singularitas baru dengan menyertakan CCP4
cdpembangunan singularitas lipat_analisis_terbaru_denganCCP4.sif
Ini harus membuat file fold_analysis_latest_withCCP4.sif
.
Anda dapat menghapus
Sesuaikan config/config.yaml
untuk kasus penggunaan khusus Anda.
Jika Anda ingin menggunakan CCP4 untuk analisis, buka config/config.yaml
di editor teks dan ubah jalur ke wadah analisis menjadi:
analysis_container : "/path/ke/fold_analisis_latest_withCCP4.sif"
input_files Variabel ini menyimpan jalur ke lembar sampel Anda, di mana setiap baris berhubungan dengan pekerjaan pelipatan. Untuk pipeline ini kami menggunakan spesifikasi format berikut:
protein:N:start-stop[_protein:N:start-stop]*
dimana protein adalah jalur ke file dengan ekstensi '.fasta' atau ID uniprot, N adalah jumlah monomer untuk protein tertentu dan start dan stop adalah residu yang harus diprediksi. Namun, hanya protein yang diperlukan, N, start dan stop dapat dihilangkan. Oleh karena itu, pekerjaan pelipatan berikut untuk contoh protein yang mengandung residu 1-50 adalah setara:
example:2 example_example example:2:1-50 example:1-50_example:1-50 example:1:1-50_example:1:1-50
Format ini juga berlaku untuk pelipatan heteromer:
example1_example2
Dengan asumsi Anda memiliki dua lembar contoh config/sample_sheet1.csv dan config/sample_sheet2.csv. Hal berikut ini setara dengan menghitung semua versus semua di sample_sheet1.csv:
input_files : - config/sample_sheet1.csv - config/sample_sheet1.csv
sedangkan cuplikan di bawah ini setara dengan menghitung pulldown antara sample_sheet1.csv dan sample_sheet2.csv
input_files : - config/sample_sheet1.csv - config/sample_sheet2.csv
Format ini dapat diperluas ke file sebanyak yang Anda inginkan, namun perlu diingat jumlah lipatan akan meningkat secara dramatis.
input_files : - config/sample_sheet1.csv - config/sample_sheet2.csv - ...
alphafold_data_directory Ini adalah jalur ke database alphafold Anda.
output_directory Snakemake akan menulis output pipeline ke direktori ini. Jika tidak ada, maka akan tercipta.
save_msa, use_precomputed_msa, prediksi_per_model, number_of_recycles, report_cutoff Argumen baris perintah yang sebelumnya dimasukkan ke run_multimer_jobs.py dan create_notebook.py (report_cutoff) AlphaPulldown.
alphafold_inference_threads, alphafold_inference Slurm parameter spesifik yang tidak perlu diubah oleh pengguna non-ahli.
only_generate_features Jika disetel ke True, berhenti setelah membuat fitur dan tidak melakukan prediksi dan pelaporan struktur.
Setelah mengikuti langkah-langkah Instalasi dan Konfigurasi, Anda sekarang siap menjalankan pipeline serpentmake. Untuk melakukannya, navigasikan ke direktori pipa yang dikloning dan jalankan:
pembuat ular --gunakan-singularitas --singularitas-args "-B /scratch:/scratch -B /g/kosinski:/g/kosinski --nv " --pekerjaan 200 --restart-kali 5 --profil slurm_noSidecar --jalankan ulang-tidak lengkap --jalankan ulang-pemicu waktu --latensi-tunggu 30 -N
Berikut rincian fungsi setiap argumen:
--use-singularity
: Mengaktifkan penggunaan wadah Singularitas. Hal ini memungkinkan reproduktifitas dan isolasi lingkungan pipa.
--singularity-args
: Menentukan argumen yang diteruskan langsung ke Singularitas. Dalam contoh yang diberikan:
-B /scratch:/scratch
dan -B /g/kosinski:/g/kosinski
: Ini adalah titik pengikatan. Mereka membuat direktori dari sistem host Anda dapat diakses dalam wadah Singularitas. --nv
memastikan container dapat menggunakan GPU host.
--profile name_of_your_profile
: Menentukan profil Snakemake yang akan digunakan (misalnya, profil SLURM yang Anda siapkan untuk eksekusi cluster).
--rerun-triggers mtime
: Menjalankan kembali pekerjaan jika file tertentu (pemicu) telah dimodifikasi lebih baru daripada keluaran pekerjaan. Di sini, mtime
memeriksa waktu modifikasi file.
--jobs 500
: Memungkinkan hingga 500 pekerjaan dikirimkan ke cluster secara bersamaan.
--restart-times 10
: Menentukan bahwa pekerjaan dapat dimulai ulang secara otomatis hingga 10 kali jika gagal.
--rerun-incomplete
: Memaksa pengulangan pekerjaan apa pun yang belum selesai pada proses Snakemake sebelumnya.
--latency-wait 30
: Menunggu selama 30 detik setelah langkah selesai untuk memeriksa keberadaan file keluaran yang diharapkan. Ini bisa berguna dalam sistem file dengan latensi tinggi.
-n
: Bendera lari kering. Hal ini membuat Snakemake menampilkan perintah yang akan dijalankannya tanpa benar-benar menjalankannya. Ini berguna untuk pengujian. Untuk menjalankan pipeline secara nyata, cukup hapus tanda ini.
Mengeksekusi perintah di atas akan mengirimkan pekerjaan berikut ke cluster:
AlphaPulldown dapat digunakan sebagai sekumpulan skrip untuk setiap langkah tertentu.
create_individual_features.py
: Menghasilkan penyelarasan beberapa urutan (MSA), mengidentifikasi templat struktural, dan menyimpan hasilnya dalam file .pkl
fitur monomer.
run_multimer_jobs.py
: Menjalankan prediksi struktur.
create_notebook.py
dan alpha-analysis.sif
: Menyiapkan Notebook Jupyter interaktif dan Tabel Hasil.
Pertama , instal Anaconda dan buat lingkungan AlphaPulldown, kumpulkan dependensi yang diperlukan. Kami menyarankan untuk menggunakan mamba untuk mempercepat penyelesaian dependensi:
conda create -n AlphaPulldown -c omnia -c bioconda -c conda-forge python==3.11 openmm==8.0 pdbfixer==1.9 kalign2 hhsuite hmmer modelcif
sumber mengaktifkan AlphaPulldown
Ini biasanya berhasil, namun pada beberapa sistem komputasi, pengguna mungkin lebih suka menggunakan versi lain atau versi HMMER dan HH-suite yang dioptimalkan yang sudah diinstal.
Aktifkan lingkungan AlphaPulldown dan instal AlphaPulldown:
sumber mengaktifkan AlphaPulldown python3 -m pip instal alphapulldown
instalasi pip -U "jax[cuda12]"
Catatan
Untuk AlphaFold versi lama : Jika Anda belum memperbarui database sesuai dengan persyaratan AlphaFold 2.3.0, Anda masih dapat menggunakan AlphaPulldown dengan database AlphaFold versi lama. Silakan ikuti petunjuk instalasi di cabang khusus.
Instal paket CCP4 : Untuk menginstal perangkat lunak yang diperlukan untuk langkah analisis, ikuti petunjuk berikut:
singularitas tarik buruh pelabuhan://kosinskilab/fold_analisis:terbaru singularity build --sandboxlipat_analisis_latest.sif# Unduh yang teratas dari https://www.ccp4.ac.uk/download/#os=linuxtar xvzf ccp4-9.0.003-linux64.tar.gzcd ccp4-9 cp bin/pisa bin/sc /perangkat lunak/ cp /lib/* /perangkat lunak/lib64/ singularitas membangun
Pastikan Anda telah menginstal PyTorch sesuai dengan versi CUDA yang Anda miliki. Di sini akan mengambil CUDA 11.7 dan PyTorch 1.13.0 sebagai contoh:
pip install torch==1.13.0+cu117 --extra-index-url https://download.pytorch.org/whl/cu117
Kompilasi UniCore.
sumber mengaktifkan AlphaPulldown git clone https://github.com/dptech-corp/Uni-Core.gitcd Uni-Core python setup.py instal --disable-cuda-ext # uji apakah unicore berhasil diinstalpython -c "import unicore"
Anda mungkin melihat peringatan berikut, tapi tidak masalah:
fused_multi_tensor is not installed corrected
fused_rounding is not installed corrected
fused_layer_norm is not installed corrected
fused_softmax is not installed corrected
Unduh pos pemeriksaan PyTorch dari Zenodo, unzip, maka Anda akan mendapatkan file bernama: AlphaLink-Multimer_SDA_v3.pt
Hanya untuk pengembang yang ingin memodifikasi kode AlphaPulldown dan menguji modifikasinya. Silakan tambahkan kunci SSH Anda ke akun GitHub Anda
Kloning repo GitHub
git clone --recurse-submodules [email protected]:KosinskiLab/AlphaPulldown.gitcd AlphaPulldown git submodul init pembaruan submodul git
Buat lingkungan Conda seperti yang dijelaskan dalam Membuat lingkungan Anaconda
Instal paket AlphaPulldown dan tambahkan submodulnya ke lingkungan Conda (tidak berfungsi jika Anda ingin memperbarui dependensi)
sumber aktifkan AlphaPulldowncd AlphaPulldown pip instal .pip instal -e . --tidak-deps pip install -e ColabFold --no-deps instalasi pip -e alphafold --no-deps
Anda hanya perlu melakukannya sekali saja.
Saat Anda ingin mengembangkan, mengaktifkan lingkungan, memodifikasi file, dan perubahannya akan dikenali secara otomatis.
Uji paket Anda selama pengembangan menggunakan tes di test/
, misalnya:
pip instal pytest pytest -s tes/ pytest -s tes/test_predictions_slurm.py pytest -s test/test_features_with_templates.py::TestCreateIndividualFeaturesWithTemplates::test_1a_run_features_generasi
Sebelum menekan ke remote atau mengirimkan permintaan tarik:
pip instal .pytest -s tes/
untuk menginstal paket dan menguji. Pytest untuk prediksi hanya berfungsi jika SLURM tersedia. Periksa file log yang dibuat di direktori Anda saat ini.
Catatan
Jika Anda bekerja dengan protein dari organisme model, Anda dapat langsung mengunduh file fitur dari Database Fitur AlphaPulldown dan melewati langkah ini.
Ini adalah contoh umum penggunaan create_individual_features.py
. Untuk informasi tentang menjalankan tugas tertentu atau eksekusi paralel pada sebuah cluster, silakan lihat bagian terkait di bab ini.
Pada langkah ini, Anda perlu menyediakan file protein berformat FASTA dengan semua rangkaian protein yang akan digunakan untuk prediksi kompleks.
Contoh file FASTA ( sequences.fasta
):
>proteinA
SEQUENCEOFPROTEINA
>proteinB
SEQUENCEOFPROTEINB
Aktifkan lingkungan AlphaPulldown dan jalankan skrip create_individual_features.py
sebagai berikut:
sumber mengaktifkan AlphaPulldown create_individual_features.py --fasta_paths=--data_dir= --output_dir= --max_template_date=
Daripada
berikan jalur ke file FASTA masukan Anda. Anda juga dapat memberikan beberapa file yang dipisahkan koma.
Daripada
berikan jalur ke database genetik (lihat 0. Alphafold-databases pada bagian instalasi).
Alih-alih
berikan jalur ke direktori keluaran, tempat file fitur Anda akan disimpan.
Tanggal pada bendera --max_template_date
diperlukan untuk membatasi pencarian struktur protein yang disimpan sebelum tanggal yang ditentukan. Kecuali tanggalnya lebih lambat dari tanggal pembaruan terakhir basis data genom lokal Anda, skrip akan mencari templat di antara semua struktur yang tersedia.
Skrip penghitungan fitur create_individual_features.py
memiliki beberapa BENDERA opsional:
--[no]save_msa_files
: Secara default adalah False untuk menyimpan tahap penyimpanan tetapi dapat diubah menjadi True . Jika disetel ke True
, program akan membuat folder individual untuk setiap protein. Direktori keluaran akan terlihat seperti:
output_dir
|- proteinA.pkl
|- proteinA
|- uniref90_hits.sto
|- pdb_hits.sto
|- etc.
|- proteinB.pkl
|- proteinB
|- uniref90_hits.sto
|- pdb_hits.sto
|- etc.
Jika save_msa_files=False
maka output_dir
akan terlihat seperti:
output_dir
|- proteinA.pkl
|- proteinB.pkl
--[no]use_precomputed_msas
: Nilai defaultnya adalah False
. Namun, jika Anda sudah memiliki file MSA untuk protein Anda, silakan atur parameternya menjadi True dan susun file MSA Anda dalam format seperti di bawah ini:
example_directory
|- proteinA
|- uniref90_hits.sto
|- pdb_hits.sto
|- ***.a3m
|- etc
|- proteinB
|- ***.sto
|- etc
Kemudian, di baris perintah, atur output_dir=/path/to/example_directory
.
--[no]skip_existing
: Defaultnya adalah False
tetapi jika Anda sudah menjalankan langkah pertama untuk beberapa protein dan sekarang menambahkan protein baru ke daftar, Anda dapat mengubah skip_existing
ke True
di baris perintah untuk menghindari mengulangi prosedur yang sama untuk langkah sebelumnya protein yang dihitung.
--seq_index
: Defaultnya adalah None
dan program akan menjalankan prediksi satu per satu pada file yang diberikan. Namun, Anda dapat mengatur seq_index
ke nomor yang berbeda jika Anda ingin menjalankan array pekerjaan secara paralel maka program hanya akan menjalankan pekerjaan terkait yang ditentukan oleh seq_index
. misalnya program hanya menghitung fitur untuk protein pertama dalam file FASTA Anda jika seq_index
diatur menjadi 1. Lihat juga skrip sbatch Slurm di atas untuk contoh cara menggunakannya untuk eksekusi paralel. ❗ seq_index
dimulai dari 1.
--[no]use_mmseqs2
: Gunakan mmseqs2 dari jarak jauh atau tidak. Defaultnya adalah Salah.
BENDERA yang terkait dengan mode TrueMultimer:
--path_to_mmt
: Jalur ke direktori dengan file mmCIF template multimerik.
--description_file
: Jalur ke file teks dengan deskripsi untuk menghasilkan fitur. Harap diperhatikan , kolom pertama harus merupakan salinan persis deskripsi protein dari file FASTA Anda. Harap pertimbangkan untuk mempersingkatnya dalam file FASTA menggunakan editor teks favorit Anda untuk kenyamanan. Nama-nama ini akan digunakan untuk menghasilkan file acar dengan fitur monomer! Description.csv untuk kompleks NS1-P85B akan terlihat seperti:
>sp|P03496|NS1_I34A1,3L4Q.cif,A
>sp|P23726|P85B_BOVIN,3L4Q.cif,C
Dalam contoh ini, kami menyebut protein NS1 sebagai rantai A dan protein P85B sebagai rantai C dalam templat multimerik 3L4Q.cif.
Harap dicatat , bahwa template Anda akan diganti namanya menjadi kode PDB yang diambil dari _entry_id . Jika Anda menggunakan file *.pdb dan bukan *.cif, AlphaPulldown akan mencoba mengurai kode PDB dari file terlebih dahulu. Kemudian ia akan memeriksa apakah nama filenya terdiri dari 4 huruf. Jika tidak, maka akan menghasilkan kode 4 huruf acak dan menggunakannya sebagai kode PDB.
--threshold_clashes
: Ambang batas VDW tumpang tindih untuk mengidentifikasi bentrokan. Tumpang tindih VDW antara dua atom didefinisikan sebagai jumlah jari-jari VDW dikurangi jarak antara pusatnya. Jika tumpang tindih melebihi ambang batas ini, kedua atom dianggap berbenturan. Ambang batas positif adalah seberapa jauh permukaan VDW dibiarkan berpenetrasi sebelum menganggap atom-atom tersebut berbenturan. (default: 1000, yaitu tanpa ambang batas, untuk ambang batas gunakan 0,6-0,9).
--hb_allowance
: Tunjangan tambahan untuk ikatan hidrogen (default: 0,4) digunakan untuk mengidentifikasi residu bentrok yang akan dihilangkan dari templat multimerik. Tunjangan > 0 mencerminkan pengamatan bahwa atom-atom yang berbagi ikatan hidrogen dapat berada lebih dekat satu sama lain daripada yang diharapkan dari jari-jari VDW mereka. Tunjangan hanya dikurangi untuk pasangan yang terdiri dari donor (atau hidrogen yang ditanggung donor) dan akseptor. Hal ini setara dengan menggunakan jari-jari yang lebih kecil untuk mengkarakterisasi interaksi ikatan hidrogen.
--plddt_threshold
: Ambang batas skor pLDDT (default: 0) yang akan dihapus dari templat multimerik (semua residu dengan pLDDT>plddt_threshold dihapus dan dimodelkan dari awal). Hanya dapat digunakan jika templat multimerik adalah model yang dihasilkan oleh AlphaFold.
--new_uniclust_dir
: Silakan gunakan ini jika Anda ingin menimpa jalur default ke database uniclust.
--[no]use_hhsearch
: Gunakan hhsearch daripada hmmsearch saat mencari templat struktur. Defaultnya adalah Salah.
--[no]multiple_mmts
: Gunakan beberapa templat multimerik per rantai. Defaultnya adalah Salah.
Hasil dari proses create_individual_features.py
adalah fitur format acar untuk setiap protein dari file input FASTA (misalnya sequence_name_A.pkl
dan sequence_name_B.pkl
) yang disimpan di output_dir
.
Catatan
Nama acar akan sama dengan deskripsi urutan dalam file FASTA (misalnya >protein_A
dalam file FASTA akan menghasilkan proteinA.pkl
). Perhatikan bahwa simbol khusus seperti | : ; #
, setelah >
akan diganti dengan _
.
Lanjutkan ke langkah berikutnya 2.1 Basic Run.
Jika Anda menjalankan AlphaPulldown di kluster komputer, Anda mungkin ingin menjalankan pembuatan fitur secara paralel. Di sini kami memberikan contoh kode yang cocok untuk cluster yang menggunakan SLURM Workload Manager.
Untuk contoh berikut, kita akan menggunakan example_2_sequences.fasta
sebagai input.
Buat skrip create_individual_features_SLURM.sh
dan tempatkan kode berikut di dalamnya menggunakan vi, nano, atau editor teks lainnya. Ganti parameter input dengan argumen yang sesuai untuk skrip create_individual_features.py
seperti yang dijelaskan dalam Proses dasar atau jenis proses lainnya yang ingin Anda jalankan:
#!/bin/bash#Pengoperasian biasa memakan waktu beberapa jam tetapi mungkin lebih lama#SBATCH --job-name=array#SBATCH --time=10:00:00#log files:#SBATCH -e logs/ create_individual_features_%A_%a_err.txt#SBATCH -o logs/create_individual_features_%A_%a_out.txt#qos menetapkan prioritas#SBATCH --qos=low#Batasi proses ke satu node#SBATCH -N 1#Sesuaikan ini tergantung pada node#SBATCH --ntasks=8#SBATCH --mem=64000module load HMMER/3.4-gompi-2023a modul memuat HH-suite/3.3.0-gompi-2023aeval "$(conda shell.bash hook)" memuat modul CUDA/11.8.0 modul memuat cuDNN/8.7.0.84-CUDA-11.8.0 conda aktifkan AlphaPulldown# SESUAIKAN PARAMETER SKRIP BERIKUT UNTUK TUGAS KHUSUS ANDA:####create_individual_features.py --fasta_paths=example_1_sequences.fasta --data_dir=/scratch/AlphaFold_DBs/2.3.2 / --output_dir=/scratch/mydir/test_AlphaPulldown/ --max_template_date=01-01-2050 --skip_existence=Benar --seq_index=$SLURM_ARRAY_TASK_ID#####
Jadikan skrip dapat dieksekusi dengan menjalankan:
chmod +x buat_individual_features_SLURM.sh
Selanjutnya, jalankan perintah berikut, ganti
dengan jalur ke file FASTA masukan Anda:
mkdir logs#Hitung jumlah pekerjaan yang sesuai dengan jumlah urutan:count=`grep ">"| wc -l`#Jalankan susunan pekerjaan, 100 pekerjaan sekaligus:sbatch --array=1-$count%100 create_individual_features_SLURM.sh
Contoh untuk dua file (Untuk lebih banyak file, buat variabel count3
, count4
, dll., lalu tambahkan ke jumlah jumlah):
mkdir logs#Hitung jumlah pekerjaan yang sesuai dengan jumlah urutan:count1=`grep ">"| wc -l`count2=`grep ">" | wc -l`count=$(( $count1 + $count2 )) #Jalankan array pekerjaan, 100 pekerjaan sekaligus:sbatch --array=1-$count%100 create_individual_features_SLURM.sh
Lanjutkan ke langkah berikutnya 2.2 Contoh dijalankan dengan SLURM (EMBL cluster).
MMseqs2 adalah metode lain untuk pencarian homolog dan pembuatan MSA. Ia menawarkan alternatif untuk HMMER dan HHblits default yang digunakan oleh AlphaFold. Hasil dari pendekatan yang berbeda ini mungkin menghasilkan prediksi struktur protein yang sedikit berbeda karena variasi informasi evolusi yang ditangkap dalam MSA. AlphaPulldown mendukung implementasi pencarian MMseqs2 yang dibuat oleh ColabFold, yang juga menyediakan server web untuk pembuatan MSA, sehingga tidak diperlukan instalasi database lokal.
Kutipan: Jika Anda menggunakan MMseqs2, harap ingat untuk mengutip: Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: Membuat pelipatan protein dapat diakses oleh semua orang. Metode Alam (2022) doi: 10.1038/s41592-022-01488-1
PERHATIAN: Untuk menghindari kelebihan beban pada server jarak jauh, jangan kirimkan pekerjaan dalam jumlah besar secara bersamaan. Jika Anda ingin menghitung MSA untuk banyak rangkaian, silakan gunakan MMseqs2 secara lokal.
Untuk menjalankan create_individual_features.py
menggunakan MMseqs2 dari jarak jauh, tambahkan tanda --use_mmseqs2=True
:
sumber mengaktifkan AlphaPulldown create_individual_features.py --fasta_paths=--data_dir= --output_dir= --use_mmseqs2=Benar --max_template_date=
Setelah skrip dijalankan selesai, output_dir
Anda akan terlihat seperti ini:
output_dir
|-proteinA.a3m
|-proteinA_env/
|-proteinA.pkl
|-proteinB.a3m
|-proteinB_env/
|-proteinB.pkl
...
Lanjutkan ke langkah berikutnya 2.1 Basic Run.
AlphaPulldown TIDAK menyediakan antarmuka atau kode untuk menjalankan MMseqs2 secara lokal, juga tidak akan menginstal MMseqs2 atau program lain yang diperlukan. Pengguna harus menginstal MMseqs2, database ColabFold, pencarian ColabFold, dan dependensi lain yang diperlukan serta menjalankan penyelarasan MSA terlebih dahulu. Contoh panduan dapat ditemukan di ColabFold GitHub.
Misalkan Anda telah berhasil menjalankan MMseqs2 secara lokal menggunakan program colab_search
; itu akan menghasilkan file A3M untuk setiap protein yang Anda minati. Jadi, output_dir
Anda akan terlihat seperti ini:
output_dir
|-0.a3m
|-1.a3m
|-2.a3m
|-3.a3m
...
File a3m dari colabfold_search
ini diberi nama yang tidak tepat. Oleh karena itu, kami telah menyediakan skrip rename_colab_search_a3m.py
untuk membantu Anda mengganti nama semua file ini. Unduh skrip dari https://github.com/KosinskiLab/AlphaPulldown/blob/main/alphapulldown/scripts/rename_colab_search_a3m.py dan jalankan:
cd keluaran_dir python rename_colab_search_a3m.py path_to_fasta_file_you_used_as_input_for_colabfold_search
Maka output_dir
Anda akan menjadi:
output_dir
|-proteinA.a3m
|-proteinB.a3m
|-proteinC.a3m
|-proteinD.a3m
...
Di sini, proteinA
, proteinB
, dll., sesuai dengan nama dalam file FASTA masukan Anda (misalnya, >proteinA
akan memberi Anda proteinA.a3m
, >proteinB
akan memberi Anda proteinB.a3m
, dll.).
CATATAN: Anda juga dapat menyediakan file MSA kustom Anda sendiri dalam format
.a3m
alih-alih menggunakan file yang dibuat oleh MMSeq2 atau HHMER standar. Tempatkan file dengan nama yang sesuai di direktori keluaran dan gunakan kode sebagai berikut.
Setelah ini, kembali ke direktori proyek Anda dengan file FASTA asli dan arahkan ke direktori ini dengan perintah:
sumber mengaktifkan AlphaPulldown create_individual_features.py --fasta_paths=--data_dir= --keluaran_dir= --skip_existence=Salah --use_mmseqs2=Benar --seq_index=
AlphaPulldown akan secara otomatis mencari file a3m yang sesuai untuk setiap protein. Pada akhirnya, output_dir
Anda akan terlihat seperti:
output_dir
|-proteinA.a3m
|-proteinA.pkl
|-proteinB.a3m
|-proteinB.pkl
|-proteinC.a3m
|-proteinC.pkl
...
<