สร้างระบบเช่นทำให้มักมีการใช้ในการสร้างขั้นตอนการทำงานที่ซับซ้อนเช่น ในรส & nbsp;. snakemake มีจุดมุ่งหมายเพื่อลดความซับซ้อนของการสร้างขั้นตอนการทำงานโดยการให้โดเมนสะอาดและทันสมัยภาษาสเปคที่เฉพาะเจาะจง (DSL) ในสไตล์หลามร่วมกับสภาพแวดล้อมในการดำเนินการอย่างรวดเร็วและสะดวกสบาย
การติดตั้ง
- เมื่อวันที่อูบุนตู 12.04 คุณสามารถติดตั้งแพคเกจ Debian python3-snakemake ที่มีอยู่ในพื้นที่เก็บข้อมูล Launchpad ของเรา
- เมื่อวันที่ระบบอื่น ๆ ที่คุณต้องการติดตั้งการทำงานของงูหลาม> = 3.2 ขึ้นอยู่กับระบบของคุณแล้วคุณสามารถติดตั้ง snakemake โดยการออกทั้ง easy_install snakemake หรือ easy_install3 snakemake ในบรรทัดคำสั่ง หากคุณไม่ได้มีสิทธิ์ของผู้ดูแลระบบ, มีลักษณะที่โต้แย้ง --user ของ easy_install
- สุดท้าย snakemake สามารถติดตั้งได้ด้วยตนเองโดยการดาวน์โหลดแหล่งเก็บรหัสจาก pypi
การใช้งาน
Snakemake มี DSL ง่ายที่จะอธิบายขั้นตอนการทำงานที่สร้างแฟ้มในขั้นตอนต่อมาหลาย
ตัวอย่าง = ["01", "02"]
# เลือกกำหนดไดเรกทอรีที่ทำงานควรจะทำ
workdir: "เส้นทาง / เพื่อ / workdir"
# ที่คล้ายกันที่จะทำให้กำหนดกฎหุ่นที่ทำหน้าที่เป็นสร้างเป้าหมาย
กฎทั้งหมด:
& nbsp; ป้อนข้อมูล "diffexpr.tsv" ...
กฎสรุป:
& nbsp; ป้อนข้อมูล: "{} ตัวอย่าง .mapped.bam" .format (ตัวอย่าง = s) สำหรับในตัวอย่าง
& nbsp; เอาท์พุท: "diffexpr.tsv"
& nbsp; ทำงาน:
& nbsp; # ... ให้รหัสหลามบางอย่างที่จะผลิตออกจากไฟล์ข้อมูล
& nbsp; # e.g ไฟล์ที่จะนำเข้าสู่ระบบตามดัชนี
& nbsp; ป้อนข้อมูล [1]
& nbsp; # เข้าถึงค่าตัวแทน
& nbsp; wildcards.sample
& nbsp; # ได้อย่างง่ายดายเรียกใช้คำสั่งโดยอัตโนมัติโดยใช้เปลือกหอยเปลือกเริ่มต้นของคุณในขณะที่มีการเข้าถึงโดยตรง
& nbsp; # ทุกตัวแปรท้องถิ่นและระดับโลกผ่านทางรูปแบบประโยค
& nbsp; หัวข้อ = 6
& nbsp; เปลือก ("somecommand --threads หัวข้อ {} {อินพุต [0]} {เอาท์พุท [0]}")
กฎ map_reads:
& nbsp; # กำหนดชื่อไฟล์อินพุทและเอาท์พุท
& nbsp; ป้อนข้อมูล: อ่าน = "{} ตัวอย่าง .fastq" hg19 = "hg19.fasta"
& nbsp; # ไฟล์ที่ส่งออกจะเป็นเครื่องหมายป้องกันการเขียนหลังจากการสร้าง
& nbsp; การส่งออก: แมป = ป้องกัน ("{} ตัวอย่าง .mapped.sai")
& nbsp; # เลือกกำหนดข้อความที่แสดงแทนคำอธิบายกฎทั่วไปในการดำเนินการของกฎ:
& nbsp; ข้อความ: "แมปเพื่ออ่าน {} input.hg19"
& nbsp; หัวข้อ: 8
& nbsp; เปลือก:
& nbsp; # โดยตรงให้คำสั่งเชลล์ (ในสตริงหลายสายหรือเดี่ยว) ถ้าไวยากรณ์หลามไม่จำเป็นต้อง
& nbsp; # อีกครั้งตัวแปรท้องถิ่นและทั่วโลกสามารถเข้าถึงได้ผ่านรูปแบบประโยค
& nbsp; # นอกจากนี้จำนวนของหัวข้อที่ใช้โดยกฎสามารถระบุได้ กำหนดการ snakemake เพื่อให้แน่ใจว่ากฎจะทำงานกับจำนวนที่ระบุของหัวข้อถ้าแกนพอที่จะให้บริการผ่านทางเลือกบรรทัดคำสั่ง -j
& nbsp; "" "
& nbsp; BWA aln -t หัวข้อ {} {} {input.hg19 input.reads}> {} output.mapped
& nbsp; บาง --other --command
& nbsp; "" "
รับ "Snakefile" ด้วยเช่นไวยากรณ์เวิร์กโฟลว์สามารถดำเนินการได้ (เช่นการใช้ถึง 6 กระบวนการขนาน) โดย issueing:
& nbsp; snakemake -j6 -s Snakefile
สำหรับรายละเอียดเพิ่มเติมโปรดดูกวดวิชา
คุณสมบัติ .
- กำหนดขั้นตอนการทำงานในลักษณะที่เป็นข้อความโดยการเขียนกฎระเบียบวิธีการสร้างผลผลิต ไฟล์จากไฟล์ข้อมูลในไวยากรณ์ตามหลามง่าย ในทางตรงกันข้ามกับ GNU ให้ (ซึ่งเป็นหลักในการสร้างระบบ) snakemake ช่วยให้กฎที่จะสร้างไฟล์ที่ส่งออกหลาย.
- Snakemake คำนวณโดยอัตโนมัติซึ่งกฎระเบียบจะต้องมีการดำเนินการเพื่อสร้างผลลัพธ์ที่ต้องการ.
- เปลือกทั้งสองตามกฎระเบียบเช่นเดียวกับไวยากรณ์หลามเต็มรูปแบบภายในกฎได้รับการสนับสนุน คำสั่งเชลล์มีการเข้าถึงโดยตรงไปยังทุกตัวแปรหลามประเทศและทั่วโลก.
- เช่น GNU ทำให้ snakemake สามารถกำหนดเวลาการประหารชีวิตกฎขนานที่เป็นไปได้ นอกจากขนานกฎอินเตอร์สามารถใช้ร่วมกับกฎภายในขนาน (หัวข้อเช่น) และ snakemake เพื่อให้แน่ใจว่าจำนวนของแกนที่ใช้ไม่เกินกว่าค่าที่กำหนด.
- ไฟล์ที่สามารถทำเครื่องหมายเป็นชั่วคราว (เช่นพวกเขาสามารถลบครั้งเดียวไม่จำเป็นต้องเพิ่มเติมใด ๆ ) หรือป้องกัน (เช่นที่พวกเขาจะได้รับการป้องกันการหลังจากการสร้าง).
- การป้อนข้อมูลและไฟล์ที่ส่งออกสามารถมีหลายชื่อสัญลักษณ์.
- ไฟล์เข้าและส่งออกสามารถตั้งชื่อเพื่อให้พวกเขาที่อยู่ภายในกฎจะกลายเป็นประโยชน์.
- แผนที่เช่นลดการทำงานสามารถทำได้โดยการใช้ง่ายต่อการอ่านรายชื่อหลามไวยากรณ์เข้าใจ.
- ในฐานะที่เป็นคุณลักษณะทดลอง snakemake สามารถทำงานในคลัสเตอร์โดยระบุส่งคำสั่ง (เช่น qsub สำหรับ Sun กริดเครื่องยนต์).
ต้องการ
- หลาม
ความคิดเห็นที่ไม่พบ