สคริปต์บางตัวสำหรับดาวน์โหลดจีโนมของแบคทีเรียและเชื้อราจาก NCBI หลังจากที่พวกเขาปรับโครงสร้าง FTP เมื่อไม่นานมานี้
ไอเดียถูกขโมยไปอย่างไร้ยางอายจากสคริปต์ดาวน์โหลด Kraken ของ Mick Watson ซึ่งสามารถพบได้ใน repo GitHub ของ Mick อย่างไรก็ตาม สคริปต์ของ Mick เขียนด้วยภาษา Perl สำหรับการสร้างฐานข้อมูล Kraken โดยเฉพาะ (ตามที่โฆษณาไว้)
นี่คือชุดสคริปต์ที่เน้นไปที่การดาวน์โหลดจีโนมจริง
pip ติดตั้ง ncbi-genome-download.php
หรืออีกทางหนึ่ง โคลนที่เก็บนี้จาก GitHub จากนั้นรัน (ในสภาพแวดล้อมเสมือนของ Python)
การติดตั้ง pip
หากวิธีนี้ล้มเหลวใน Python เวอร์ชันเก่า ให้ลองอัปเดตเครื่องมือ pip
ก่อน:
pip ติดตั้ง -- อัปเกรด pip
จากนั้นรันการติดตั้ง ncbi-genome-download
อีกครั้ง
อีกทางหนึ่ง ncbi-genome-download
จะถูกบรรจุใน conda
อ้างอิงถึงไซต์ Anaconda/miniconda เพื่อติดตั้งการแจกจ่าย (แนะนำเป็นอย่างยิ่ง) เมื่อติดตั้งแล้ว เราสามารถทำได้:
conda ติดตั้ง -c bioconda ncbi-genome-ดาวน์โหลด
ncbi-genome-download
ได้รับการพัฒนาและทดสอบกับรุ่น Python เท่านั้นที่ยังอยู่ภายใต้การสนับสนุนอย่างแข็งขันโดยโครงการ Python ในขณะนี้หมายถึงเวอร์ชัน 3.7, 3.8, 3.9, 3.10 และ 3.11 โดยเฉพาะอย่างยิ่ง ไม่มีความพยายามในการทดสอบภายใต้ Python เวอร์ชันเก่ากว่า 3.7
หากระบบของคุณติดอยู่กับ Python เวอร์ชันเก่า ให้พิจารณาใช้เครื่องมือเช่น Homebrew เพื่อรับเวอร์ชันที่อัปเดตมากขึ้น
ncbi-genome-download
0.2.12 เป็นเวอร์ชันสุดท้ายที่รองรับ Python 2
หากต้องการดาวน์โหลดจีโนม RefSeq ของแบคทีเรียทั้งหมดในรูปแบบ GenBank จาก NCBI ให้ดำเนินการดังต่อไปนี้:
แบคทีเรียดาวน์โหลด ncbi-genome
การดาวน์โหลดหลายกลุ่มก็สามารถทำได้เช่นกัน:
ncbi-genome-ดาวน์โหลดแบคทีเรีย,ไวรัส
หมายเหตุ : หากต้องการดูกลุ่มที่มีอยู่ทั้งหมด โปรดดู ncbi-genome-download --help
หรือใช้ all
เพื่อตรวจสอบกลุ่มทั้งหมด การตั้งชื่อกลุ่มที่เฉพาะเจาะจงมากขึ้นจะลดขนาดการดาวน์โหลดและเวลาที่ต้องใช้ในการค้นหาลำดับการดาวน์โหลด
หากคุณใช้การเชื่อมต่อที่รวดเร็วพอสมควร คุณอาจต้องการลองดาวน์โหลดหลายรายการพร้อมกัน:
แบคทีเรียดาวน์โหลด ncbi-genome - ขนาน 4
หากต้องการดาวน์โหลดจีโนม GenBank ของเชื้อราทั้งหมดจาก NCBI ในรูปแบบ GenBank ให้รัน:
ncbi-genome-download --section เชื้อรา genbank
หากต้องการดาวน์โหลดจีโนม RefSeq ของไวรัสทั้งหมดในรูปแบบ FASTA ให้รัน:
ncbi-genome-download -- จัดรูปแบบไวรัสอย่างรวดเร็ว
สามารถดาวน์โหลดได้หลายรูปแบบโดยระบุรายการรูปแบบหรือเพียงดาวน์โหลดทุกรูปแบบ:
ncbi-genome-download -- จัดรูปแบบ fasta,assembly-report viral ncbi-genome-download -- จัดรูปแบบไวรัสทั้งหมด
หากต้องการดาวน์โหลดเฉพาะจีโนม RefSeq ของแบคทีเรียที่เสร็จสมบูรณ์ในรูปแบบ GenBank ให้รัน:
ncbi-genome-download --assembly-level แบคทีเรียที่สมบูรณ์
สามารถดาวน์โหลดแอสเซมบลีหลายระดับพร้อมกันได้โดยระบุรายการ:
ncbi-genome-download --assembly-levels สมบูรณ์, แบคทีเรียโครโมโซม
หากต้องการดาวน์โหลดเฉพาะจีโนมอ้างอิงของแบคทีเรียจาก RefSeq ในรูปแบบ GenBank ให้รัน:
ncbi-genome-download --refseq-categories อ้างอิงแบคทีเรีย
หากต้องการดาวน์โหลดจีโนม RefSeq ของแบคทีเรียในสกุล Streptomyces ให้เรียกใช้:
ncbi-genome-download --genera Streptomyces แบคทีเรีย
หมายเหตุ : นี่เป็นการจับคู่สตริงอย่างง่ายกับชื่อสิ่งมีชีวิตที่ NCBI ให้ไว้เท่านั้น
คุณยังสามารถใช้สิ่งนี้ร่วมกับเคล็ดลับเล็กน้อยในการดาวน์โหลดจีโนมของสปีชีส์บางชนิดได้เช่นกัน:
ncbi-genome-download --genera แบคทีเรีย "Streptomyces coelicolor"
หมายเหตุ : คำพูดมีความสำคัญ นี่เป็นการจับคู่สตริงอย่างง่ายกับชื่อสิ่งมีชีวิตที่ NCBI มอบให้
เป็นไปได้หลายสกุล:
ncbi-genome-download --genera "Streptomyces coelicolor, Escherichia coli" แบคทีเรีย
คุณยังสามารถใส่ชื่อสกุลลงในไฟล์ได้ หนึ่งสิ่งมีชีวิตต่อบรรทัด เช่น:
สเตรปโตมีเซส อะมีโคลาโทซิส
จากนั้น ส่งเส้นทางไปยังไฟล์นั้น (เช่น my_genera.txt
) ไปยังตัวเลือก --genera
ดังนี้:
ncbi-genome-download --genera my_genera.txt แบคทีเรีย
หมายเหตุ : คำสั่งด้านบนจะดาวน์โหลดจีโนม Streptomyces และ Amycolatopsis ทั้งหมดจาก RefSeq
คุณสามารถทำให้การจับคู่สตริงไม่ชัดเจนโดยใช้ตัวเลือก --fuzzy-genus
สิ่งนี้มีประโยชน์หากคุณต้องการจับคู่ค่าที่อยู่ตรงกลางของชื่อสิ่งมีชีวิต NCBI เช่น:
ncbi-genome-download --genera coelicolor -- แบคทีเรียสกุลฟัซซี่
หมายเหตุ : คำสั่งข้างต้นจะดาวน์โหลดจีโนมของแบคทีเรียทั้งหมดที่มี "coelicolor" ที่ใดก็ได้ในชื่อสิ่งมีชีวิตจาก RefSeq
หากต้องการดาวน์โหลดจีโนม RefSeq ของแบคทีเรียตามรหัสอนุกรมวิธานสายพันธุ์ NCBI ให้เรียกใช้:
ncbi-genome-download --species-taxids แบคทีเรีย 562 ตัว
หมายเหตุ : คำสั่งด้านบนจะดาวน์โหลดจีโนม RefSeq ทั้งหมดที่เป็นของ Escherichia coli
หากต้องการดาวน์โหลดจีโนม RefSeq ของแบคทีเรียโดยเฉพาะตามรหัสอนุกรมวิธาน NCBI ให้รัน:
ncbi-genome-download --taxids แบคทีเรีย 511145
หมายเหตุ : คำสั่งด้านบนจะดาวน์โหลดจีโนม RefSeq ที่เป็นของ Escherichia coli str ชั้น K-12 MG1655 .
นอกจากนี้ยังสามารถดาวน์โหลด Taxid หรือ Taxid หลายประเภทได้โดยระบุตัวเลขในรายการโดยคั่นด้วยเครื่องหมายจุลภาค:
ncbi-genome-download --taxids 9606,9685 -- โครโมโซมระดับแอสเซมบลีของสัตว์มีกระดูกสันหลัง_สัตว์เลี้ยงลูกด้วยนม
หมายเหตุ : คำสั่งด้านบนจะดาวน์โหลดจีโนมอ้างอิงสำหรับแมวและมนุษย์
นอกจากนี้ คุณยังสามารถใส่แท็กแท็กหรือแท็กซิดหลายประเภทลงในไฟล์ได้ หนึ่งรายการต่อบรรทัด และส่งชื่อไฟล์นั้นไปยังพารามิเตอร์ --species-taxids
หรือ --taxids
ตามลำดับ
สมมติว่าคุณมีไฟล์ my_taxids.txt
ซึ่งมีเนื้อหาดังต่อไปนี้:
9606
9685
คุณสามารถดาวน์โหลดจีโนมอ้างอิงสำหรับแมวและมนุษย์ได้ดังนี้:
ncbi-genome-download --taxids my_taxids.txt --assembly-levels โครโมโซมสัตว์มีกระดูกสันหลัง_แมมมาเลียน
เป็นไปได้ที่จะสร้างโครงสร้างไดเร็กทอรีที่มนุษย์สามารถอ่านได้ควบคู่ไปกับการมิเรอร์เค้าโครงที่ใช้โดย NCBI:
ncbi-genome-download -- แบคทีเรียที่มนุษย์สามารถอ่านได้
ซึ่งจะใช้ลิงก์เพื่อชี้ไปยังไฟล์ที่เหมาะสมในโครงสร้างไดเร็กทอรี NCBI ดังนั้นจึงช่วยประหยัดพื้นที่ไฟล์ โปรดทราบว่าระบบไฟล์ Windows บางระบบไม่รองรับลิงก์และ Windows เวอร์ชันเก่าบางเวอร์ชัน
นอกจากนี้ยังสามารถเรียกใช้การดาวน์โหลดก่อนหน้านี้อีกครั้งด้วยตัวเลือก --human-readable
ในกรณีนี้ ncbi-genome-download
จะไม่ดาวน์โหลดไฟล์จีโนมใหม่ใดๆ และเพียงสร้างโครงสร้างไดเร็กทอรีที่มนุษย์สามารถอ่านได้ โปรดทราบว่าหากไฟล์ใดๆ มีการเปลี่ยนแปลงในด้าน NCBI การดาวน์โหลดไฟล์จะถูกทริกเกอร์
มีตัวเลือก "ทดลองรัน" เพื่อแสดงว่าส่วนการเข้าถึงใดที่จะดาวน์โหลด โดยพิจารณาจากตัวกรองของคุณ:
ncbi-genome-download -- แบคทีเรียแบบแห้ง
หากคุณต้องการกรองคอลัมน์ "ความสัมพันธ์ต่อประเภทวัสดุ" ของไฟล์สรุปแอสเซมบลี คุณสามารถใช้ตัวเลือก --type-materials
ค่าที่เป็นไปได้คือ "any", "all", "type", "reference", "synonym", "proxytype" และ/หรือ "neotype" "any" จะรวมแอสเซมบลีที่ไม่เกี่ยวข้องกับค่าวัสดุประเภทที่กำหนดไว้ "all" จะดาวน์โหลดเฉพาะแอสเซมบลีที่มีค่าที่กำหนดเท่านั้น สามารถระบุค่าได้หลายค่า โดยคั่นด้วยเครื่องหมายจุลภาค:
ncbi-genome-download -- ประเภทวัสดุ อ้างอิง
ตามค่าเริ่มต้น ncbi-genome-download จะแคชไฟล์สรุปแอสเซมบลีสำหรับกลุ่มอนุกรมวิธานตามลำดับเป็นเวลาหนึ่งวัน คุณสามารถข้ามการใช้ไฟล์แคชได้โดยใช้ตัวเลือก --no-cache
ผลลัพธ์ของ --help
ยังแสดงไดเร็กทอรีแคชด้วย หากคุณต้องการลบไฟล์แคชใด ๆ
หากต้องการดูภาพรวมของตัวเลือกทั้งหมด ให้เรียกใช้
ดาวน์โหลด ncbi-genome --help
คุณยังสามารถใช้เป็นการเรียกเมธอดได้:
นำเข้า ncbi_genome_download เป็น ngdngd.download()
ส่งผ่านอาร์กิวเมนต์คำหลักหลามตามที่อธิบายไว้ข้างต้นหรือใน --help
หากต้องการระบุกลุ่มอนุกรมวิธาน เช่น แบคทีเรีย ให้ใช้คีย์เวิร์ด groups
หากต้องการระบุรูปแบบไฟล์ เช่น ตัวเลือก --format
CLI ให้ใช้ file_formats
คำหลักอื่นๆ ทั้งหมดควรตรงกับตัวเลือก CLI โดยมี -
แปลงเป็น _
โปรดทราบว่าเนื่องจากการเรียกใช้เมธอดเป็นไปตามตรรกะเดียวกันกับ CLI ข้อมูลรายการจึงควรถูกส่งผ่านเป็นสตริง โดยคั่นด้วยเครื่องหมายจุลภาคแต่ไม่ต้องเว้นวรรค เช่นเดียวกับในบรรทัดคำสั่ง
gimme_taxa.py
สคริปต์นี้ช่วยให้คุณทราบว่า TaxID ใดที่จะส่งไปยัง ngd
และจะเขียนไฟล์ธรรมดาหนึ่งรายการต่อบรรทัดเพื่อส่งผ่าน มันใช้ชุดเครื่องมือ ete3
ดังนั้นโปรดไปที่ไซต์ของพวกเขาเพื่อติดตั้งการขึ้นต่อกันหากยังไม่เป็นที่พอใจ
คุณสามารถค้นหาฐานข้อมูลโดยใช้ TaxID เฉพาะหรือชื่อทางวิทยาศาสตร์ ฟังก์ชันหลักของสคริปต์คือการส่งคืนแท็กซ่าย่อยทั้งหมดของแท็กซ่าพาเรนต์ที่ระบุ สคริปต์มีตัวเลือกมากมายสำหรับข้อมูลที่จะเขียนในเอาต์พุต
การร้องขอพื้นฐานอาจมีลักษณะดังนี้:
# ดึงข้อมูลแท็กซ่าที่สืบทอดมาทั้งหมดสำหรับ Escherichia (taxid 561):python gimme_taxa.py -o ~/mytaxafile.txt 561# หรือเพียงระบุแท็กซอน namepython gimme_taxa.py -o all_descendent_taxids.txt Escherichia# คุณสามารถระบุแท็กซ่าหลายรายการและ/หรือ เนมสไพธอน gimme_taxa.py -o all_descendent_taxids.txt 561,Methanobrevibacter
ในการใช้งานครั้งแรก ฐานข้อมูล sqlite ขนาดเล็กจะถูกสร้างขึ้นในโฮมไดเร็กตอรี่ของคุณตามค่าเริ่มต้น (เปลี่ยนตำแหน่งด้วยแฟล็ก --database
) คุณสามารถอัพเดตฐานข้อมูลนี้ได้โดยใช้แฟล็ก --update
โปรดทราบว่าหากฐานข้อมูลไม่อยู่ในโฮมไดเร็กตอรี่ของคุณ คุณต้องระบุด้วย --database
ไม่เช่นนั้นฐานข้อมูลใหม่จะถูกสร้างขึ้นในโฮมไดเร็กตอรี่ของคุณ
หากต้องการดูความช่วยเหลือทั้งหมด:
หลาม gimme_taxa.py หลาม gimme_taxa.py -h หลาม gimme_taxa.py --help
หากต้องการใช้สคริปต์ gimme_taxa.py
กับตัวเลือก --taxids
ของ ncbi-genome-download
คุณต้องเรียก gimme_taxa.py
ด้วยตัวเลือก -j
เช่นนี้:
gimme_taxa.py -j -o my_taxids.txt Escherichia ncbi-genome-download --taxids แบคทีเรีย my_taxids.txt
ncbi-genome-download
คุณสามารถอ้างอิง ncbi-genome-download
ผ่านการฝาก Zenodo ภายใต้ DOI: 10.5281/zenodo.8192432 หรือ DOI เฉพาะสำหรับเวอร์ชันที่คุณใช้
รหัสทั้งหมดมีให้ใช้งานภายใต้ Apache License เวอร์ชัน 2 โปรดดูรายละเอียดในไฟล์ LICENSE