AlphaPulldown รักษาความเข้ากันได้แบบย้อนหลัง อย่างสมบูรณ์กับไฟล์อินพุตและสคริปต์จากเวอร์ชัน 1.x
AlphaPulldown: เวอร์ชัน 2.0.0 (เบต้า)
สารบัญ
เกี่ยวกับ Alpha Pulldown
ภาพรวม
ฐานข้อมูล Alphafold
Snakemake AlphaPulldown
1. การติดตั้ง
2. การกำหนดค่า
3. การดำเนินการ
เรียกใช้อินเทอร์เฟซบรรทัดคำสั่ง AlphaPulldown Python
สร้างสมุดบันทึก Jupyter
สร้างตารางผลลัพธ์
ขั้นตอนต่อไป
ขั้นตอนต่อไป
2.1. การวิ่งขั้นพื้นฐาน
2.2. ตัวอย่างการรันด้วย SLURM (คลัสเตอร์ EMBL)
2.3. โหมดดึงลง
2.4. ทั้งหมดกับโหมดทั้งหมด
2.5. รันด้วยเทมเพลตแบบกำหนดเอง (TrueMultimer)
2.6. รันด้วยข้อมูลการเชื่อมโยงข้าม (AlphaLink2)
ป้อนข้อมูล
การดำเนินการสคริปต์: การทำนายโครงสร้าง
เอาท์พุต
ขั้นตอนต่อไป
ป้อนข้อมูล
การดำเนินการสคริปต์
เอาท์พุตและขั้นตอนต่อไป
โหมด "ดึงลง" หลายอินพุต
เอาท์พุตและขั้นตอนต่อไป
ป้อนข้อมูล
การดำเนินการสคริปต์สำหรับการทำนายโครงสร้าง TrueMultimer
เอาท์พุตและขั้นตอนต่อไป
ป้อนข้อมูล
รันด้วยการทำนาย AlphaLink2 ผ่าน AlphaPulldown
เอาท์พุตและขั้นตอนต่อไป
1.1. การวิ่งขั้นพื้นฐาน
1.2. ตัวอย่างสคริปต์ทุบตีสำหรับ SLURM (คลัสเตอร์ EMBL)
1.3. รันโดยใช้ฐานข้อมูล MMseqs2 และ ColabFold (เร็วกว่า)
1.4. รันด้วยเทมเพลตที่กำหนดเอง (TrueMultimer)
ป้อนข้อมูล
การดำเนินการสคริปต์
เอาท์พุต
ขั้นตอนต่อไป
ป้อนข้อมูล
การดำเนินการสคริปต์
ขั้นตอนต่อไป
เรียกใช้ MMseqs2 จากระยะไกล
เอาท์พุต
เรียกใช้ MMseqs2 ในเครื่อง
ขั้นตอนต่อไป
ป้อนข้อมูล
การดำเนินการสคริปต์
เอาท์พุต
ขั้นตอนต่อไป
0.1. สร้างสภาพแวดล้อมของอนาคอนดา
0.2. การติดตั้งโดยใช้ pip
0.3. การติดตั้งเครื่องมือวิเคราะห์ขั้นปลาย
0.4. การติดตั้งข้อมูลอินพุตแบบ cross-link โดย AlphaLink2 (ทางเลือก!)
0.5. การติดตั้งสำหรับนักพัฒนา
0. การติดตั้ง
1. คำนวณการจัดตำแหน่งหลายลำดับ (MSA) และคุณสมบัติเทมเพลต (ระยะ CPU)
2. ทำนายโครงสร้าง (ระยะ GPU)
3. การวิเคราะห์และการแสดงภาพ
การวิเคราะห์ขั้นปลาย
ลดขนาดของเอาต์พุต AlphaPulldown
แปลงโมเดลจากรูปแบบ PDB เป็นรูปแบบ ModelCIF
1. แปลงโมเดลทั้งหมดเป็นไฟล์ ModelCIF แยกกัน
2. แปลงเฉพาะโมเดลเดียวสำหรับแต่ละคอมเพล็กซ์
3. มีโมเดลที่เป็นตัวแทนและเก็บโมเดลที่เกี่ยวข้องไว้
คลังเก็บ Zip ที่เกี่ยวข้อง
ตัวเลือกเบ็ดเตล็ด
สมุดบันทึกจูปีเตอร์
ตารางผลลัพธ์
สคริปต์การจัดการผลลัพธ์
คุณสมบัติฐานข้อมูล
รายชื่อสิ่งมีชีวิตที่มีอยู่:
ดาวน์โหลดคุณสมบัติเฉพาะของโปรตีน:
ดาวน์โหลดฟีเจอร์ทั้งหมดสำหรับสิ่งมีชีวิต:
ขั้นตอน:
ตรวจสอบการติดตั้ง:
การติดตั้ง
การกำหนดค่า
กำลังดาวน์โหลดคุณสมบัติ
AlphaPulldown คือการใช้งาน AlphaFold-Multimer แบบกำหนดเอง ซึ่งออกแบบมาเพื่อการคัดกรองปฏิกิริยาระหว่างโปรตีนและโปรตีนที่มีปริมาณงานสูงที่ปรับแต่งได้ โดยขยายขีดความสามารถของ AlphaFold ด้วยการรวมตัวเลือกการทำงานเพิ่มเติม เช่น เทมเพลตโครงสร้างมัลติเมอริกที่ปรับแต่งได้ (TrueMultimer), MMseqs2 multiple sequence allowance (MSA) ผ่านฐานข้อมูล ColabFold, การทำนายส่วนของโปรตีน และความสามารถในการรวมข้อมูลข้อมูลจำเพาะมวลเป็นอินพุตโดยใช้ AlphaLink2
AlphaPulldown สามารถใช้ได้สองวิธี: โดยไปป์ไลน์สองขั้นตอนที่ทำจาก สคริปต์ Python หรือโดย ไปป์ไลน์ Snakemake โดยรวม สำหรับรายละเอียดเกี่ยวกับการใช้ไปป์ไลน์ Snakemake โปรดดูที่ พื้นที่เก็บข้อมูล GitHub แยกต่างหาก
รูปที่ 1 ภาพ รวมของเวิร์กโฟลว์ AlphaPulldown
เวิร์กโฟลว์ AlphaPulldown มี 3 ขั้นตอนต่อไปนี้:
สร้างและจัดเก็บคุณสมบัติ MSA และเทมเพลต :
ในขั้นตอนนี้ AlphaFold ค้นหาฐานข้อมูลที่ติดตั้งไว้ล่วงหน้าโดยใช้ HMMER สำหรับแต่ละลำดับโปรตีนที่สอบถาม และคำนวณการจัดตำแหน่งหลายลำดับ (MSA) สำหรับโฮโมล็อกที่พบทั้งหมด นอกจากนี้ยังค้นหาโครงสร้างที่คล้ายคลึงกันเพื่อใช้เป็นเทมเพลตสำหรับการสร้างฟีเจอร์ ขั้นตอนนี้ต้องใช้ CPU เท่านั้น
ตัวเลือกที่ปรับแต่งได้ได้แก่:
เพื่อเร่งกระบวนการค้นหา สามารถใช้ MMSeq2 แทน HHMER เริ่มต้นได้
ใช้ MSA แบบกำหนดเอง
ใช้เทมเพลตโครงสร้างที่กำหนดเอง รวมถึงเทมเพลตมัลติเมอร์ (โหมด TrueMultimer)
การทำนายโครงสร้าง :
ในขั้นตอนนี้ โครงข่ายประสาทเทียม AlphaFold จะทำงานและสร้างโครงสร้างโปรตีนขั้นสุดท้ายซึ่งต้องใช้ GPU จุดแข็งที่สำคัญของ AlphaPulldown คือความสามารถในการกำหนดวิธีการรวมโปรตีนเพื่อการทำนายโครงสร้างของโปรตีนเชิงซ้อนได้อย่างยืดหยุ่น ต่อไปนี้คือสามแนวทางหลักที่คุณสามารถใช้ได้:
รูปที่ 2 สถานการณ์ทั่วไปสามสถานการณ์ที่ครอบคลุมโดย AlphaPulldown
นอกจากนี้ AlphaPulldown ยังช่วยให้:
เลือกเฉพาะภูมิภาคของโปรตีนที่คุณต้องการทำนายแทนลำดับความยาวเต็ม
ปรับความลึกของ MSA เพื่อควบคุมอิทธิพลของ MSA เริ่มต้นในโมเดลสุดท้าย
รวมข้อมูลการเชื่อมขวางที่มีปริมาณงานสูงเข้ากับการสร้างแบบจำลอง AlphaFold ผ่าน AlphaLink2
ไฟล์เดี่ยว (โหมดกำหนดเองหรือโหมดโฮโม-โอลิโกเมอร์): สร้างไฟล์โดยที่แต่ละแถวแสดงรายการลำดับโปรตีนที่คุณต้องการทำนายร่วมกัน หรือแต่ละแถวบอกให้โปรแกรมสร้างแบบจำลองโฮโม-โอลิโกเมอร์ด้วยจำนวนสำเนาที่คุณระบุ
หลายไฟล์ (โหมดดึงลง): จัดเตรียมไฟล์หลายไฟล์ โดยแต่ละไฟล์มีลำดับโปรตีน AlphaPulldown จะสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดโดยอัตโนมัติโดยจับคู่แถวชื่อโปรตีนจากแต่ละไฟล์
ทั้งหมดเทียบกับทั้งหมด : AlphaPulldown จะสร้างชุดโปรตีนที่ไม่ซ้ำซ้อนที่เป็นไปได้ทั้งหมดในรายการ
การวิเคราะห์ผลลัพธ์ขั้นปลาย :
ผลลัพธ์สำหรับแบบจำลองที่คาดการณ์ไว้ทั้งหมดสามารถจัดระบบได้โดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้:
ตารางที่ประกอบด้วยคะแนนและพารามิเตอร์ทางกายภาพต่างๆ ของอันตรกิริยาเชิงซ้อนของโปรตีน
สมุดบันทึก Jupyter พร้อมโมเดลโปรตีน 3 มิติเชิงโต้ตอบและแปลง PAE
สำหรับ MSA มาตรฐานและการคำนวณคุณสมบัติ AlphaPulldown ต้องใช้ฐานข้อมูลทางพันธุกรรม ตรวจสอบว่าคุณได้ดาวน์โหลดพารามิเตอร์และฐานข้อมูลที่จำเป็น (เช่น BFD, MGnify ฯลฯ) ตามคำแนะนำในเอกสารประกอบของ AlphaFold หรือไม่ คุณควรมีไดเร็กทอรีที่มีโครงสร้างดังนี้:
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
บันทึก
Uniclust30 เป็นเวอร์ชันของฐานข้อมูลที่สร้างขึ้นก่อนปี 2019 ส่วน UniRef30 เป็นเวอร์ชันที่สร้างขึ้นหลังปี 2019 โปรดทราบว่า AlphaPulldown ใช้ UniRef30_2023_02 เป็นค่าเริ่มต้น เวอร์ชันนี้สามารถดาวน์โหลดได้โดยสคริปต์นี้ หรืออีกทางหนึ่ง โปรดเขียนทับเส้นทางเริ่มต้นไปยังฐานข้อมูล uniref30 โดยใช้แฟล็ก --uniref30_database_path ของ create_individual_features.py
บันทึก
เนื่องจากการติดตั้งฐานข้อมูลพันธุกรรมทั้งหมดภายในเครื่องนั้นใช้พื้นที่มาก คุณจึงใช้ฐานข้อมูล MMseqs2 และ ColabFold ที่รันจากระยะไกลได้ ปฏิบัติตามคำแนะนำที่เกี่ยวข้อง อย่างไรก็ตาม เพื่อให้ AlphaPulldown ทำงาน คุณต้องดาวน์โหลดพารามิเตอร์ที่จัดเก็บไว้ในไดเร็กทอรี params/
ของฐานข้อมูล AlphaFold
AlphaPulldown พร้อมใช้งานในรูปแบบไปป์ไลน์ Snakemake ซึ่งช่วยให้คุณสามารถดำเนินการตามลำดับ (1) การสร้าง MSA และคุณสมบัติเทมเพลต (2) การทำนายโครงสร้าง และ (3) การวิเคราะห์ผลลัพธ์โดยไม่ต้องมีการแทรกแซงด้วยตนเองระหว่างขั้นตอนต่างๆ สำหรับรายละเอียดเพิ่มเติม โปรดดูที่พื้นที่เก็บข้อมูล AlphaPulldownSnakemake
คำเตือน
AlphaPulldown เวอร์ชัน Snakemake แตกต่างเล็กน้อยจาก AlphaPulldown ที่ใช้สคริปต์ทั่วไปในแง่ของข้อกำหนดเฉพาะของไฟล์อินพุต
ก่อนการติดตั้ง ตรวจสอบให้แน่ใจว่าเวอร์ชัน python ของคุณเป็นอย่างน้อย 3.10
python3 --version
ติดตั้งการพึ่งพา
pip ติดตั้ง Snakemake==7.32.4 Snakedeploy==0.10.0 เยื่อกระดาษ==2.7 คลิก==8.1 cookiecutter==2.6
การตั้งค่าคลัสเตอร์ Snakemake
เพื่อให้ Snakemake เชื่อมต่อกับคลัสเตอร์การประมวลผล เราจะใช้ Snakemake-Profile สำหรับ SLURM หากคุณไม่ได้ทำงานบนคลัสเตอร์ SLURM คุณสามารถค้นหาโปรไฟล์สำหรับสถาปัตยกรรมต่างๆ ได้ที่นี่ ข้อมูลต่อไปนี้จะสร้างโปรไฟล์ที่สามารถใช้กับ Snakemake และแจ้งให้คุณทราบข้อมูลเพิ่มเติม
โคลนคอมไพล์ 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" "$แม่แบบ"
ในระหว่างขั้นตอนการตั้งค่า คุณจะได้รับแจ้งให้ตอบคำถามเกี่ยวกับการกำหนดค่าหลายข้อ ด้านล่างนี้คือคำถามและคำตอบที่แนะนำ:
profile_name [slurm]:
slurm_noSidecar
Select use_singularity:
1 (เท็จ)
Select use_conda:
1 (เท็จ)
jobs [500]:
(กด Enter เพื่อยอมรับค่าเริ่มต้น)
restart_times [0]:
(กด Enter เพื่อยอมรับค่าเริ่มต้น)
max_status_checks_per_second [10]:
(กด Enter เพื่อยอมรับค่าเริ่มต้น)
max_jobs_per_second [10]:
(กด Enter เพื่อยอมรับค่าเริ่มต้น)
latency_wait [5]:
30
Select print_shell_commands:
1 (เท็จ)
sbatch_defaults []:
qos=โหนดต่ำ=1
Select cluster_sidecar:
2 (ไม่ใช่)
cluster_name []:
(กด Enter เพื่อเว้นว่างไว้)
cluster_jobname [%r_%w]:
(กด Enter เพื่อยอมรับค่าเริ่มต้น)
cluster_logpath [logs/slurm/%r/%j]:
(กด Enter เพื่อยอมรับค่าเริ่มต้น)
cluster_config []:
(กด Enter เพื่อเว้นว่างไว้)
หลังจากตอบสนองต่อข้อความแจ้งเหล่านี้ โปรไฟล์ Slurm ของคุณชื่อ slurm_noSidecar สำหรับ Snakemake จะได้รับการกำหนดค่าตามที่ระบุ
ภาวะเอกฐาน (อาจติดตั้งแล้ว) : ไปป์ไลน์นี้ใช้คอนเทนเนอร์เพื่อการทำซ้ำ หากคุณกำลังทำงานกับภาวะเอกฐานของคลัสเตอร์ EMBL ได้รับการติดตั้งแล้ว และคุณสามารถข้ามขั้นตอนนี้ได้ มิฉะนั้น โปรดติดตั้ง Singularity โดยใช้คู่มือ Singularity อย่างเป็นทางการ
ดาวน์โหลด The Pipeline : สิ่งนี้จะดาวน์โหลดเวอร์ชันที่ระบุโดย '--tag' ของไปป์ไลน์ Snakemake และสร้างที่เก็บ AlphaPulldownSnakemake หรือชื่ออื่น ๆ ที่คุณเลือก
Snakedeploy ปรับใช้เวิร์กโฟลว์ https://github.com/KosinskiLab/AlphaPulldownSnakemake AlphaPulldownSnakemake --แท็ก 1.4.0cd AlphaPulldownSnakemake
บันทึก
หากคุณต้องการใช้เวอร์ชันล่าสุดจาก GitHub ให้แทนที่ --tag XXX
เป็น --branch main
ติดตั้งแพ็คเกจ CCP4 : หากต้องการติดตั้งซอฟต์แวร์ที่จำเป็นสำหรับขั้นตอนการวิเคราะห์ โปรดปฏิบัติตามคำแนะนำเหล่านี้:
ดาวน์โหลดภาพที่เรียกว่า Singularity พร้อมแพ็คเกจซอฟต์แวร์การวิเคราะห์ของเรา
นักเทียบท่าดึงเอกพจน์: //kosinskilab/fold_analysis:latest การสร้างภาวะเอกฐาน --sandboxfold_analysis_latest.sif
ดาวน์โหลด CCP4 จาก https://www.ccp4.ac.uk/download/#os=linux และคัดลอกไปยังเซิร์ฟเวอร์ของคุณ
ทาร์ xvzf ccp4-9.0.003-linux64.tar.gzcd ccp4-9 cp bin/pisa bin/sc/ซอฟต์แวร์/ cp /lib/* <เขียนได้_image_dir>/ซอฟต์แวร์/lib64/
สร้างเอกฐานใหม่ด้วย CCP4 รวมอยู่ด้วย
cd <ไดเร็กทอรีที่คุณต้องการเก็บซอฟต์แวร์ในเครื่องของคุณ>การสร้างเอกฐาน fold_analysis_latest_withCCP4.sif
ควรสร้างไฟล์ fold_analysis_latest_withCCP4.sif
คุณสามารถลบ
ปรับ config/config.yaml
สำหรับกรณีการใช้งานเฉพาะของคุณ
หากคุณต้องการใช้ CCP4 สำหรับการวิเคราะห์ ให้เปิด config/config.yaml
ในโปรแกรมแก้ไขข้อความ และเปลี่ยนเส้นทางไปยังคอนเทนเนอร์การวิเคราะห์เป็น:
analysis_container : "/path/to/fold_analysis_latest_withCCP4.sif"
input_files ตัวแปรนี้เก็บเส้นทางไปยังแผ่นงานตัวอย่างของคุณ โดยที่แต่ละบรรทัดสอดคล้องกับงานพับ สำหรับไปป์ไลน์นี้ เราใช้ข้อกำหนดรูปแบบต่อไปนี้:
protein:N:start-stop[_protein:N:start-stop]*
โดยที่โปรตีนเป็นเส้นทางไปยังไฟล์ที่มีนามสกุล '.fasta' หรือ ID ยูนิโพรต N คือจำนวนโมโนเมอร์สำหรับโปรตีนนี้โดยเฉพาะ และการเริ่มต้นและหยุดคือสิ่งตกค้างที่ควรคาดการณ์ อย่างไรก็ตาม ต้องการเพียงโปรตีนเท่านั้น สามารถละเว้น N, start และ stop ได้ ดังนั้นงานพับต่อไปนี้สำหรับตัวอย่างโปรตีนที่มีเรซิดิว 1-50 จึงเทียบเท่ากัน:
example:2 example_example example:2:1-50 example:1-50_example:1-50 example:1:1-50_example:1:1-50
รูปแบบนี้ขยายออกไปในทำนองเดียวกันสำหรับการพับของเฮเทอโรเมอร์:
example1_example2
สมมติว่าคุณมีแผ่นตัวอย่างสองแผ่น config/sample_sheet1.csv และ config/sample_sheet2.csv ข้อมูลต่อไปนี้จะเทียบเท่ากับการคำนวณทั้งหมดเทียบกับทั้งหมดใน Sample_sheet1.csv:
input_files : - config/sample_sheet1.csv - config/sample_sheet1.csv
ในขณะที่ตัวอย่างด้านล่างจะเทียบเท่ากับการคำนวณแบบเลื่อนลงระหว่าง example_sheet1.csv และ example_sheet2.csv
input_files : - config/sample_sheet1.csv - config/sample_sheet2.csv
รูปแบบนี้สามารถขยายเป็นไฟล์ได้มากเท่าที่คุณต้องการ แต่โปรดจำไว้ว่าจำนวนพับจะเพิ่มขึ้นอย่างมาก
input_files : - config/sample_sheet1.csv - config/sample_sheet2.csv - ...
alphafold_data_directory นี่คือเส้นทางไปยังฐานข้อมูล alphafold ของคุณ
output_directory Snakemake จะเขียนเอาต์พุตไปป์ไลน์ไปยังไดเร็กทอรีนี้ หากไม่มีก็จะถูกสร้างขึ้น
save_msa, use_precomputed_msa,การคาดการณ์_per_model, number_of_recycles, report_cutoff อาร์กิวเมนต์บรรทัดคำสั่งที่ก่อนหน้านี้ถูก pases ไปที่ run_multimer_jobs.py ของ AlphaPulldown และ create_notebook.py (report_cutoff)
alphafold_inference_threads, alphafold_inference Slurm พารามิเตอร์เฉพาะที่ไม่จำเป็นต้องแก้ไขโดยผู้ใช้ที่ไม่ใช่ผู้เชี่ยวชาญ
only_generate_features หากตั้งค่าเป็น True หยุดทำงานหลังจากสร้างฟีเจอร์ และไม่ดำเนินการทำนายและรายงานโครงสร้าง
หลังจากทำตามขั้นตอนการติดตั้งและการกำหนดค่า คุณก็พร้อมที่จะรันไปป์ไลน์ Snakemake แล้ว โดยไปที่ไดเร็กทอรีไปป์ไลน์ที่โคลนแล้วรัน:
ทำงู --ใช้เอกพจน์ --singularity-args "-B /scratch:/scratch -B /g/kosinski:/g/kosinski --nv " --งาน 200 --รีสตาร์ทครั้งที่ 5 --profile slurm_noSidecar --รีรัน-ไม่สมบูรณ์ --rerun-ทริกเกอร์ mtime --latency-รอ 30 -n
ต่อไปนี้คือรายละเอียดว่าแต่ละอาร์กิวเมนต์ทำอะไรได้บ้าง:
--use-singularity
: เปิดใช้งานการใช้คอนเทนเนอร์ Singularity ซึ่งช่วยให้สามารถทำซ้ำและแยกสภาพแวดล้อมไปป์ไลน์ได้
--singularity-args
: ระบุข้อโต้แย้งที่ส่งผ่านโดยตรงไปยังภาวะเอกฐาน ในตัวอย่างที่ให้มา:
-B /scratch:/scratch
และ -B /g/kosinski:/g/kosinski
: สิ่งเหล่านี้เป็นจุดเชื่อม พวกเขาทำให้ไดเรกทอรีจากระบบโฮสต์ของคุณสามารถเข้าถึงได้ภายในคอนเทนเนอร์ Singularity --nv
ทำให้แน่ใจว่าคอนเทนเนอร์สามารถใช้งาน GPU ของโฮสต์ได้
--profile name_of_your_profile
: ระบุโปรไฟล์ Snakemake ที่จะใช้ (เช่น โปรไฟล์ SLURM ที่คุณตั้งค่าสำหรับการดำเนินการคลัสเตอร์)
--rerun-triggers mtime
: รันงานใหม่หากไฟล์เฉพาะ (ทริกเกอร์) ได้รับการแก้ไขเร็วกว่าเอาต์พุตของงาน ที่นี่ mtime
จะตรวจสอบเวลาแก้ไขไฟล์
--jobs 500
: อนุญาตให้ส่งงานได้สูงสุด 500 รายการไปยังคลัสเตอร์พร้อมกัน
--restart-times 10
: ระบุว่างานสามารถรีสตาร์ทได้โดยอัตโนมัติสูงสุด 10 ครั้งหากล้มเหลว
--rerun-incomplete
: บังคับให้รันงานใดๆ ที่ยังไม่สมบูรณ์ในการรัน Snakemake ครั้งก่อน
--latency-wait 30
: รอ 30 วินาทีหลังจากขั้นตอนเสร็จสิ้นเพื่อตรวจสอบการมีอยู่ของไฟล์เอาต์พุตที่คาดหวัง สิ่งนี้มีประโยชน์ในระบบไฟล์ที่มีค่าหน่วงเวลาสูง
-n
: ธงดรายรัน สิ่งนี้ทำให้ Snakemake แสดงคำสั่งที่จะรันโดยไม่ต้องดำเนินการจริง มันมีประโยชน์สำหรับการทดสอบ หากต้องการใช้งานไปป์ไลน์จริง เพียงลบแฟล็กนี้ออก
การดำเนินการคำสั่งด้านบนจะดำเนินการส่งงานต่อไปนี้ไปยังคลัสเตอร์:
AlphaPulldown สามารถใช้เป็นชุดสคริปต์สำหรับทุกขั้นตอนโดยเฉพาะ
create_individual_features.py
: สร้างการจัดตำแหน่งหลายลำดับ (MSA) ระบุเทมเพลตโครงสร้าง และจัดเก็บผลลัพธ์ในไฟล์ .pkl
คุณลักษณะโมโนเมอร์
run_multimer_jobs.py
: ดำเนินการทำนายโครงสร้าง
create_notebook.py
และ alpha-analysis.sif
: เตรียม Jupyter Notebook แบบโต้ตอบและตารางผลลัพธ์ ตามลำดับ
ขั้นแรก ให้ติดตั้ง Anaconda และสร้างสภาพแวดล้อม AlphaPulldown เพื่อรวบรวมการขึ้นต่อกันที่จำเป็น เราแนะนำให้ใช้ mamba เพื่อเร่งการแก้ไขการขึ้นต่อกัน:
conda สร้าง -n AlphaPulldown -c omnia -c bioconda -c conda-forge python==3.11 openmm==8.0 pdbfixer==1.9 kalign2 hhsuite hmmer modelcif
แหล่งที่มาเปิดใช้งาน AlphaPulldown
ซึ่งมักจะใช้งานได้ แต่ในบางระบบปฏิบัติการ ผู้ใช้อาจต้องการใช้เวอร์ชันอื่นหรือรุ่นที่ได้รับการปรับปรุงประสิทธิภาพของ HMMER และ HH-suite ที่ติดตั้งไว้แล้ว
เปิดใช้งานสภาพแวดล้อม AlphaPulldown และติดตั้ง AlphaPulldown:
แหล่งที่มาเปิดใช้งาน AlphaPulldown python3 -m pip ติดตั้ง alphapulldown
pip ติดตั้ง -U "jax [cuda12]"
บันทึก
สำหรับ AlphaFold เวอร์ชันเก่า : หากคุณไม่ได้อัปเดตฐานข้อมูลของคุณตามข้อกำหนดของ AlphaFold 2.3.0 คุณยังคงสามารถใช้ AlphaPulldown กับฐานข้อมูล AlphaFold เวอร์ชันเก่าของคุณได้ โปรดปฏิบัติตามคำแนะนำในการติดตั้งในสาขาเฉพาะ
ติดตั้งแพ็คเกจ CCP4 : หากต้องการติดตั้งซอฟต์แวร์ที่จำเป็นสำหรับขั้นตอนการวิเคราะห์ โปรดปฏิบัติตามคำแนะนำเหล่านี้:
นักเทียบท่าดึงเอกพจน์: //kosinskilab/fold_analysis:latest singularity build --sandboxfold_analysis_latest.sif# ดาวน์โหลดอันอันดับต้นๆ จาก https://www.ccp4.ac.uk/download/#os=linuxtar xvzf ccp4-9.0.003-linux64.tar.gzcd ccp4-9 cp bin/pisa bin/sc /ซอฟต์แวร์/ cp /lib/* <เขียนได้_image_dir>/ซอฟต์แวร์/lib64/ โครงสร้างเอกฐาน
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง PyTorch ที่สอดคล้องกับเวอร์ชัน CUDA ที่คุณมี ในที่นี้จะใช้ CUDA 11.7 และ PyTorch 1.13.0 เป็นตัวอย่าง:
pip ติดตั้ง torch==1.13.0+cu117 --extra-index-url https://download.pytorch.org/whl/cu117
คอมไพล์ UniCore
แหล่งที่มาเปิดใช้งาน AlphaPulldown โคลนคอมไพล์ https://github.com/dptech-corp/Uni-Core.gitcd Uni-Core หลาม setup.py ติดตั้ง --disable-cuda-ext # ทดสอบว่าติดตั้ง Unicore สำเร็จหรือไม่python -c "import unicore"
คุณอาจเห็นคำเตือนต่อไปนี้ แต่ก็ไม่เป็นไร:
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
ดาวน์โหลดจุดตรวจ PyTorch จาก Zenodo แล้วแตกไฟล์ จากนั้นคุณควรได้รับไฟล์ชื่อ: AlphaLink-Multimer_SDA_v3.pt
สำหรับนักพัฒนาที่ต้องการแก้ไขโค้ดของ AlphaPulldown และทดสอบการแก้ไขเท่านั้น โปรดเพิ่มคีย์ SSH ของคุณไปยังบัญชี GitHub ของคุณ
โคลน repo GitHub
git clone --recurse-submodules [email protected]:KosinskiLab/AlphaPulldown.gitcd AlphaPulldown git submodule เริ่มต้น อัพเดตโมดูลย่อย git
สร้างสภาพแวดล้อม Conda ตามที่อธิบายไว้ใน สร้างสภาพแวดล้อม Anaconda
ติดตั้งแพ็คเกจ AlphaPulldown และเพิ่มโมดูลย่อยลงในสภาพแวดล้อม Conda (จะไม่ทำงานหากคุณต้องการอัปเดตการอ้างอิง)
แหล่งที่มาเปิดใช้งาน AlphaPulldowncd AlphaPulldown pip ติดตั้ง .pip ติดตั้ง -e --no-deps pip ติดตั้ง -e ColabFold --no-deps pip ติดตั้ง -e alphafold --no-deps
คุณต้องทำเพียงครั้งเดียว
เมื่อคุณต้องการพัฒนา ให้เปิดใช้งานสภาพแวดล้อม แก้ไขไฟล์ และการเปลี่ยนแปลงควรได้รับการยอมรับโดยอัตโนมัติ
ทดสอบแพ็คเกจของคุณระหว่างการพัฒนาโดยใช้การทดสอบใน test/
เช่น:
pip ติดตั้ง pytest pytest -s ทดสอบ/ pytest -s ทดสอบ/test_predictions_slurm.py pytest -s test/test_features_with_templates.py::TestCreateIndividualFeaturesWithTemplates::test_1a_run_features_generation
ก่อนที่จะกดไปที่รีโมทหรือส่งคำขอดึง:
pip ติดตั้ง .pytest -s test/
เพื่อติดตั้งแพ็คเกจและทดสอบ Pytest สำหรับการทำนายจะใช้ได้ก็ต่อเมื่อ SLURM พร้อมใช้งาน ตรวจสอบไฟล์บันทึกที่สร้างขึ้นในไดเร็กทอรีปัจจุบันของคุณ
บันทึก
หากคุณทำงานกับโปรตีนจากสิ่งมีชีวิตจำลอง คุณสามารถดาวน์โหลดไฟล์คุณสมบัติได้โดยตรงจากฐานข้อมูลคุณสมบัติ AlphaPulldown และข้ามขั้นตอนนี้
นี่คือตัวอย่างทั่วไปของการใช้งาน create_individual_features.py
สำหรับข้อมูลเกี่ยวกับการรันงานเฉพาะหรือการดำเนินการแบบขนานบนคลัสเตอร์ โปรดดูส่วนที่เกี่ยวข้องของบทนี้
ในขั้นตอนนี้ คุณจะต้องจัดเตรียมไฟล์รูปแบบโปรตีน FASTA พร้อมด้วยลำดับโปรตีนทั้งหมดที่จะใช้สำหรับการทำนายที่ซับซ้อน
ตัวอย่างของไฟล์ FASTA ( sequences.fasta
):
>proteinA
SEQUENCEOFPROTEINA
>proteinB
SEQUENCEOFPROTEINB
เปิดใช้งานสภาพแวดล้อม AlphaPulldown และรันสคริปต์ create_individual_features.py
ดังนี้:
แหล่งที่มาเปิดใช้งาน AlphaPulldown create_individual_features.py --fasta_paths=--data_dir=<เส้นทางไปยังฐานข้อมูล alphafold> --output_dir= --max_template_date=<วันที่ที่คุณต้องการ รูปแบบเช่น: 2050-01-01>
แทนที่จะ
ให้ระบุเส้นทางไปยังไฟล์ FASTA อินพุตของคุณ คุณยังสามารถจัดเตรียมไฟล์ที่คั่นด้วยเครื่องหมายจุลภาคหลายไฟล์ได้
แทนที่จะให้
ให้ระบุพาธไปยังฐานข้อมูลพันธุกรรม (ดู 0. Alphafold-databases ของส่วนการติดตั้ง)
แทนที่จะ
ให้ระบุพาธไปยังไดเร็กทอรีเอาต์พุต ซึ่งไฟล์คุณลักษณะของคุณจะถูกบันทึกไว้
จำเป็นต้องมีวันที่ในแฟล็ก --max_template_date
เพื่อจำกัดการค้นหาโครงสร้างโปรตีนที่สะสมไว้ก่อนวันที่ที่ระบุ สคริปต์จะค้นหาเทมเพลตจากโครงสร้างที่มีอยู่ทั้งหมด เว้นแต่วันที่จะช้ากว่าวันที่อัปเดตล่าสุดของฐานข้อมูลจีโนมในพื้นที่ของคุณ
สคริปต์การคำนวณคุณสมบัติ create_individual_features.py
มี FLAGS ทางเลือกหลายรายการ:
--[no]save_msa_files
: โดยค่าเริ่มต้นคือ False เพื่อบันทึกขั้นตอนการจัดเก็บข้อมูล แต่สามารถเปลี่ยนเป็น True ได้ หากตั้งค่าเป็น True
โปรแกรมจะสร้างโฟลเดอร์เดี่ยวสำหรับโปรตีนแต่ละชนิด ไดเรกทอรีผลลัพธ์จะมีลักษณะดังนี้:
output_dir
|- proteinA.pkl
|- proteinA
|- uniref90_hits.sto
|- pdb_hits.sto
|- etc.
|- proteinB.pkl
|- proteinB
|- uniref90_hits.sto
|- pdb_hits.sto
|- etc.
หาก save_msa_files=False
ดังนั้น output_dir
จะมีลักษณะดังนี้:
output_dir
|- proteinA.pkl
|- proteinB.pkl
--[no]use_precomputed_msas
: ค่าเริ่มต้นคือ False
อย่างไรก็ตาม หากคุณมีไฟล์ MSA สำหรับโปรตีนของคุณอยู่แล้ว โปรดตั้งค่าพารามิเตอร์ให้เป็น True และจัดเรียงไฟล์ MSA ของคุณในรูปแบบด้านล่าง:
example_directory
|- proteinA
|- uniref90_hits.sto
|- pdb_hits.sto
|- ***.a3m
|- etc
|- proteinB
|- ***.sto
|- etc
จากนั้น ในบรรทัดคำสั่ง ให้ตั้งค่า output_dir=/path/to/example_directory
--[no]skip_existing
: ค่าเริ่มต้นเป็น False
แต่ถ้าคุณได้รันขั้นตอนที่ 1 แล้วสำหรับโปรตีนบางตัวและตอนนี้เพิ่มโปรตีนใหม่ลงในรายการ คุณสามารถเปลี่ยน skip_existing
เป็น True
ในบรรทัดคำสั่งเพื่อหลีกเลี่ยงการรันขั้นตอนเดิมซ้ำสำหรับขั้นตอนก่อนหน้า โปรตีนที่คำนวณได้
--seq_index
: ค่าเริ่มต้นคือ None
และโปรแกรมจะเรียกใช้การคาดการณ์ทีละไฟล์ในไฟล์ที่กำหนด อย่างไรก็ตาม คุณสามารถตั้ง seq_index
ให้เป็นตัวเลขอื่นได้ หากคุณต้องการรันอาร์เรย์ของงานแบบขนาน จากนั้นโปรแกรมจะรันเฉพาะงานที่เกี่ยวข้องซึ่งระบุโดย seq_index
เท่านั้น เช่น โปรแกรมจะคำนวณเฉพาะคุณสมบัติสำหรับโปรตีนตัวที่ 1 ในไฟล์ FASTA ของคุณหากตั้ง seq_index
เป็น 1 โปรดดูสคริปต์ Slurm sbatch ด้านบนเพื่อดูตัวอย่างวิธีใช้สำหรับการดำเนินการแบบขนาน ❗ seq_index
เริ่มต้นที่ 1.
--[no]use_mmseqs2
: ใช้ mmseqs2 จากระยะไกลหรือไม่ ค่าเริ่มต้นเป็นเท็จ
ธงที่เกี่ยวข้องกับโหมด TrueMultimer:
--path_to_mmt
: พาธไปยังไดเร็กทอรีที่มีไฟล์ mmCIF เทมเพลตมัลติเมอร์
--description_file
: พาธไปยังไฟล์ข้อความพร้อมคำอธิบายสำหรับการสร้างฟีเจอร์ โปรดทราบ ว่า คอลัมน์แรกจะต้องเป็นสำเนาคำอธิบายโปรตีนจากไฟล์ FASTA ของคุณทุกประการ โปรดพิจารณาย่อให้สั้นลงในไฟล์ FASTA โดยใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบเพื่อความสะดวก ชื่อเหล่านี้จะถูกใช้เพื่อสร้างไฟล์ดองที่มีคุณสมบัติโมโนเมอร์! description.csv สำหรับคอมเพล็กซ์ NS1-P85B ควรมีลักษณะดังนี้:
>sp|P03496|NS1_I34A1,3L4Q.cif,A
>sp|P23726|P85B_BOVIN,3L4Q.cif,C
ในตัวอย่างนี้ เราอ้างอิงโปรตีน NS1 เป็นสาย A และโปรตีน P85B เป็นสาย C ในแม่แบบมัลติเมอร์ 3L4Q.cif
โปรดทราบ ว่าเทมเพลตของคุณจะถูกเปลี่ยนชื่อเป็นโค้ด PDB ที่นำมาจาก _entry_id หากคุณใช้ไฟล์ *.pdb แทน *.cif AlphaPulldown จะพยายามแยกวิเคราะห์โค้ด PDB จากไฟล์ก่อน จากนั้นจะตรวจสอบว่าชื่อไฟล์มีความยาว 4 ตัวอักษรหรือไม่ หากไม่เป็นเช่นนั้น ระบบจะสร้างรหัสสุ่ม 4 ตัวอักษรและใช้เป็นรหัส PDB
--threshold_clashes
: เกณฑ์สำหรับ VDW ที่ทับซ้อนกันเพื่อระบุการปะทะกัน VDW ที่ทับซ้อนกันระหว่างสองอะตอมถูกกำหนดให้เป็นผลรวมของรัศมี VDW ลบด้วยระยะห่างระหว่างจุดศูนย์กลาง หากการทับซ้อนกันเกินเกณฑ์นี้ จะถือว่าอะตอมทั้งสองเกิดการปะทะกัน เกณฑ์ที่เป็นบวกคือระยะที่พื้นผิว VDW ได้รับอนุญาตให้แทรกซึมเข้าไปได้มากน้อยเพียงใด ก่อนที่จะพิจารณาว่าอะตอมจะปะทะกัน (ค่าเริ่มต้น: 1000 กล่าวคือ ไม่มีขีดจำกัด สำหรับขีดจำกัด ให้ใช้ 0.6-0.9)
--hb_allowance
: ค่าเผื่อเพิ่มเติมสำหรับพันธะไฮโดรเจน (ค่าเริ่มต้น: 0.4) ใช้สำหรับระบุสิ่งตกค้างจากการปะทะกันที่จะนำออกจากเทมเพลตมัลติเมอร์ ค่าเผื่อ > 0 สะท้อนถึงการสังเกตว่าอะตอมที่มีพันธะไฮโดรเจนร่วมกันสามารถเข้าใกล้กันมากกว่าที่คาดไว้จากรัศมี VDW ค่าเผื่อจะถูกหักออกเฉพาะสำหรับคู่ที่ประกอบด้วยผู้บริจาค (หรือไฮโดรเจนที่เกิดจากผู้บริจาค) และผู้ยอมรับ ซึ่งเทียบเท่ากับการใช้รัศมีที่เล็กลงเพื่อระบุลักษณะปฏิกิริยาระหว่างพันธะไฮโดรเจน
--plddt_threshold
: เกณฑ์สำหรับคะแนน pLDDT (ค่าเริ่มต้น: 0) ที่จะลบออกจากเทมเพลตมัลติเมอร์ (สิ่งตกค้างทั้งหมดที่มี pLDDT>plddt_threshold จะถูกลบออกและสร้างแบบจำลองตั้งแต่เริ่มต้น) สามารถใช้ได้เฉพาะเมื่อเทมเพลตมัลติเมอร์เป็นโมเดลที่สร้างโดย AlphaFold
--new_uniclust_dir
: โปรดใช้สิ่งนี้หากคุณต้องการเขียนทับเส้นทางเริ่มต้นไปยังฐานข้อมูล unilust
--[no]use_hhsearch
: ใช้ hhsearch แทน hmmsearch เมื่อค้นหาเทมเพลตโครงสร้าง ค่าเริ่มต้นเป็นเท็จ
--[no]multiple_mmts
: ใช้เทมเพลตมัลติเมอร์หลายรายการต่อเชน ค่าเริ่มต้นเป็นเท็จ
ผลลัพธ์ของการรัน create_individual_features.py
คือคุณลักษณะรูปแบบดองสำหรับโปรตีนแต่ละตัวจากไฟล์ FASTA อินพุต (เช่น sequence_name_A.pkl
และ sequence_name_B.pkl
) ที่จัดเก็บไว้ใน output_dir
บันทึก
ชื่อของผักดองจะเหมือนกับคำอธิบายของลำดับในไฟล์ FASTA (เช่น >protein_A
ในไฟล์ FASTA จะให้ค่า proteinA.pkl
) โปรดทราบว่าสัญลักษณ์พิเศษ เช่น | : ; #
หลังจาก >
จะถูกแทนที่ด้วย _
ดำเนินการขั้นตอนต่อไป 2.1 การวิ่งขั้นพื้นฐาน
หากคุณเรียกใช้ AlphaPulldown บนคลัสเตอร์คอมพิวเตอร์ คุณอาจต้องการดำเนินการสร้างคุณลักษณะแบบขนาน ที่นี่ เรามีตัวอย่างโค้ดที่เหมาะสำหรับคลัสเตอร์ที่ใช้ SLURM Workload Manager
สำหรับตัวอย่างต่อไปนี้ เราจะใช้ example_2_sequences.fasta
เป็นอินพุต
สร้างสคริปต์ create_individual_features_SLURM.sh
และวางโค้ดต่อไปนี้ลงไปโดยใช้ vi, nano หรือโปรแกรมแก้ไขข้อความอื่นๆ แทนที่พารามิเตอร์อินพุตด้วยอาร์กิวเมนต์ที่เหมาะสมสำหรับสคริปต์ create_individual_features.py
ตามที่อธิบายไว้ในการทำงานขั้นพื้นฐานหรือการเรียกใช้ประเภทอื่นใดที่คุณตั้งใจจะดำเนินการ:
#!/bin/bash#A การรันโดยทั่วไปจะใช้เวลาสองสามชั่วโมง แต่อาจนานกว่านั้นมาก#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 ตั้งค่าลำดับความสำคัญ#SBATCH --qos=low#จำกัด การรันไปยังโหนดเดียว#SBATCH -N 1#ปรับสิ่งนี้ขึ้นอยู่กับ node#SBATCH --ntasks=8#SBATCH --mem=64000โมดูลโหลด HMMER/3.4-gompi-2023a โหลดโมดูล HH-suite/3.3.0-gompi-2023aeval "$(conda shell.bash hook)" โหลดโมดูล CUDA/11.8.0 โหลดโมดูล cuDNN/8.7.0.84-CUDA-11.8.0 conda เปิดใช้งาน AlphaPulldown# ปรับแต่งพารามิเตอร์สคริปต์ต่อไปนี้สำหรับงานเฉพาะของคุณ:####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=2050-01-01 --skip_existing=จริง --seq_index=$SLURM_ARRAY_TASK_ID#####
ทำให้สคริปต์ปฏิบัติการได้โดยการรัน:
chmod +x create_individual_features_SLURM.sh
จากนั้น รันคำสั่งต่อไปนี้ โดยแทนที่
ด้วยพาธไปยังไฟล์ FASTA อินพุตของคุณ:
mkdir logs#Count จำนวนงานที่สอดคล้องกับจำนวนลำดับ:count=`grep ">"| wc -l`#รันอาร์เรย์งาน 100 งานในแต่ละครั้ง:sbatch --array=1-$count%100 create_individual_features_SLURM.sh
ตัวอย่างสำหรับสองไฟล์ (สำหรับไฟล์เพิ่มเติม ให้สร้าง count3
, count4
ฯลฯ ตัวแปรและเพิ่มลงในผลรวมของการนับ):
mkdir logs#Count จำนวนงานที่สอดคล้องกับจำนวนลำดับ:count1=`grep ">"| wc -l`count2=`grep ">" | wc -l`count=$(( $count1 + $count2 )) #เรียกใช้อาร์เรย์งาน ครั้งละ 100 งาน:sbatch --array=1-$count%100 create_individual_features_SLURM.sh
ดำเนินการขั้นตอนต่อไป 2.2 ตัวอย่างการรันด้วย SLURM (คลัสเตอร์ EMBL)
MMseqs2 เป็นอีกวิธีหนึ่งสำหรับการค้นหาที่คล้ายคลึงกันและการสร้าง MSA มันเสนอทางเลือกแทน HMMER และ HHblits เริ่มต้นที่ใช้โดย AlphaFold ผลลัพธ์ของแนวทางที่แตกต่างกันเหล่านี้อาจนำไปสู่การทำนายโครงสร้างโปรตีนที่แตกต่างกันเล็กน้อย เนื่องจากการเปลี่ยนแปลงของข้อมูลวิวัฒนาการที่บันทึกไว้ภายใน MSA AlphaPulldown รองรับการใช้งานการค้นหา MMseqs2 ที่ทำโดย ColabFold ซึ่งมีเว็บเซิร์ฟเวอร์สำหรับการสร้าง MSA ด้วย ดังนั้นจึงไม่จำเป็นต้องติดตั้งฐานข้อมูลในเครื่อง
อ้างอิง: หากคุณใช้ MMseqs2 โปรดอย่าลืมอ้างอิง: Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S, Steinegger M. ColabFold: ทำให้ทุกคนสามารถเข้าถึงการพับโปรตีนได้ วิธีธรรมชาติ (2022) ดอย: 10.1038/s41592-022-01488-1
ข้อควรระวัง: เพื่อหลีกเลี่ยงการโอเวอร์โหลดเซิร์ฟเวอร์ระยะไกล อย่าส่งงานจำนวนมากพร้อมกัน หากคุณต้องการคำนวณ MSA สำหรับหลายลำดับ โปรดใช้ MMseqs2 ภายในเครื่อง
หากต้องการรัน create_individual_features.py
โดยใช้ MMseqs2 จากระยะไกล ให้เพิ่ม --use_mmseqs2=True
:
แหล่งที่มาเปิดใช้งาน AlphaPulldown create_individual_features.py --fasta_paths=--data_dir=<เส้นทางไปยังฐานข้อมูล alphafold> --output_dir= --use_mmseqs2=จริง --max_template_date=<วันที่ที่คุณต้องการ รูปแบบเช่น: 2050-01-01>
หลังจากการรันสคริปต์เสร็จสิ้น output_dir
ของคุณจะมีลักษณะดังนี้:
output_dir
|-proteinA.a3m
|-proteinA_env/
|-proteinA.pkl
|-proteinB.a3m
|-proteinB_env/
|-proteinB.pkl
...
ดำเนินการขั้นตอนต่อไป 2.1 การวิ่งขั้นพื้นฐาน
AlphaPulldown ไม่มี อินเทอร์เฟซหรือโค้ดสำหรับรัน MMseqs2 ในเครื่อง และจะไม่ติดตั้ง MMseqs2 หรือโปรแกรมอื่นใดที่จำเป็น ผู้ใช้ต้องติดตั้ง MMseqs2, ฐานข้อมูล ColabFold, การค้นหา ColabFold และการอ้างอิงที่จำเป็นอื่นๆ และเรียกใช้การจัดตำแหน่ง MSA ก่อน ดูคำแนะนำตัวอย่างได้ใน ColabFold GitHub
สมมติว่าคุณรัน MMseqs2 ในเครื่องได้สำเร็จโดยใช้โปรแกรม colab_search
มันจะสร้างไฟล์ A3M สำหรับโปรตีนแต่ละชนิดที่คุณสนใจ ดังนั้น output_dir
ของคุณควรมีลักษณะดังนี้:
output_dir
|-0.a3m
|-1.a3m
|-2.a3m
|-3.a3m
...
ไฟล์ a3m เหล่านี้จาก colabfold_search
มีการตั้งชื่อไม่สะดวก ดังนั้นเราจึงได้จัดเตรียมสคริปต์ rename_colab_search_a3m.py
เพื่อช่วยคุณเปลี่ยนชื่อไฟล์เหล่านี้ทั้งหมด ดาวน์โหลดสคริปต์จาก https://github.com/KosinskiLab/AlphaPulldown/blob/main/alphapulldown/scripts/rename_colab_search_a3m.py และเรียกใช้:
ซีดี output_dir หลามเปลี่ยนชื่อ_colab_search_a3m.py path_to_fasta_file_you_used_as_input_for_colabfold_search
จากนั้น output_dir
ของคุณจะกลายเป็น:
output_dir
|-proteinA.a3m
|-proteinB.a3m
|-proteinC.a3m
|-proteinD.a3m
...
ที่นี่ proteinA
, proteinB
ฯลฯ สอดคล้องกับชื่อในไฟล์ FASTA อินพุตของคุณ (เช่น >proteinA
จะให้ proteinA.a3m
แก่คุณ >proteinB
จะให้ proteinB.a3m
แก่คุณ เป็นต้น)
หมายเหตุ: คุณยังสามารถจัดเตรียมไฟล์ MSA ที่คุณกำหนดเองในรูปแบบ
.a3m
แทนการใช้ไฟล์ที่สร้างโดย MMSeq2 หรือ HHMER มาตรฐาน วางไฟล์ที่มีชื่ออย่างเหมาะสมในไดเร็กทอรีเอาต์พุตและใช้โค้ดดังต่อไปนี้
หลังจากนี้ กลับไปที่ไดเร็กทอรีโปรเจ็กต์ของคุณด้วยไฟล์ FASTA ดั้งเดิม และชี้ไปที่ไดเร็กทอรีนี้ในคำสั่ง:
แหล่งที่มาเปิดใช้งาน AlphaPulldown create_individual_features.py --fasta_paths=--data_dir=<เส้นทางไปยังฐานข้อมูล alphafold> --output_dir= --skip_existing=เท็จ --use_mmseqs2=จริง --seq_index=<หมายเลขใดๆ ที่คุณต้องการหรือข้ามแฟล็กเพื่อเรียกใช้ทีละรายการ>
AlphaPulldown จะค้นหาไฟล์ a3m ที่เกี่ยวข้องของโปรตีนแต่ละไฟล์โดยอัตโนมัติ ในตอนท้าย output_dir
ของคุณจะมีลักษณะดังนี้:
output_dir
|-proteinA.a3m
|-proteinA.pkl
|-proteinB.a3m
|-proteinB.pkl
|-proteinC.a3m
|-proteinC.pkl
...
-