溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux上的并行軟件ParaFly怎么用

發(fā)布時(shí)間:2021-12-10 11:08:50 來(lái)源:億速云 閱讀:363 作者:柒染 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)linux上的并行軟件ParaFly怎么用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。     

很多時(shí)候生信工作者處理多個(gè)文件,對(duì)每個(gè)文件做的操作都是一樣的,這個(gè)時(shí)候,寫一個(gè)for循環(huán)串行處理可能就行了。但有時(shí)候串行操作耗時(shí)較久,例如做個(gè)bwa mem比對(duì),如果一個(gè)一個(gè)文件處理,時(shí)間就是累加的。

一般我們都是在服務(wù)器上跑任務(wù),服務(wù)器都是多核心多線程的,再不濟(jì)也是自己的多核多線程筆記本,其實(shí)可以讓任務(wù)并行的跑起來(lái)。

例如使用htop查看,下面是40核的服務(wù)器,空閑的核需要的時(shí)候利用起來(lái)比較好,省時(shí)省力:


linux上的并行軟件ParaFly怎么用


今天給大家介紹一個(gè)很好用的小工具ParaFly,只需要很簡(jiǎn)單的操作就可以讓linux上的任務(wù)并行化。      
linux上的并行軟件ParaFly怎么用  

linux上的并行軟件ParaFly怎么用


linux上的并行軟件ParaFly怎么用


首先使用anconda3安裝ParaFly,

$ conda install -c bioconda parafly
 

查看一下怎么用:

$ ParaFly -h
############################################################ Usage: ParaFly (opts)## Required: #   -c <str>              :filename containing list of bash-style commands to execute.#   -CPU <int>            :number_of_threads## Optional:#   -shuffle              :randomly shuffles the command order. #   -failed_cmds <str>    :filename to capture failed commands.  default("FailedCommands")#   -v                    :simple progress monitoring.#   -vv                   :increased verbosity in progress monitoring.###########################################################
Note: This process creates a file named based >with a .completed extension.This enables a resume functionality, where if rerun, only those commands not completed successfully will be reprocessed.
 


linux上的并行軟件ParaFly怎么用


可以看出必須參數(shù)(Required)只有2個(gè),說(shuō)明這個(gè)工具使用起來(lái)非常簡(jiǎn)單。事實(shí)上,只需要把需要操作的命令寫在一個(gè)文件里面,使用-c指定這個(gè)文件,-CPU指定并行的總核數(shù)(需要同時(shí)執(zhí)行幾條命令)即可。

默認(rèn)成功執(zhí)行的命令,對(duì)應(yīng)的命令行會(huì)輸出到文件名加.completed后綴的文件,沒(méi)有成功執(zhí)行的命令會(huì)輸出到FailedCommands文件。


ParaFly: Simple parallel unix command processing using OpenMPParaFly provides a simple mechanism for running a predefined list of unix commands in parallel using multithreading. Failed processes are captured and reported. Successfully executed processes are noted. If the process is rerun, >or failed processes will be executed.
 


簡(jiǎn)單舉個(gè)例子:

fastq-dump拆分三個(gè)SRA文件,可以把這三條命令寫到fastq_dump.txt文件里面:

$ cat fastq_dump.txtfastq-dump --split-3 SRR1510125.1fastq-dump --split-3 SRR1004284.1fastq-dump --split-3 SRR1004285.1
 


之后使用ParaFly并行化:

$ ParaFly -c fastq_dump.txt -CPU 3
 


服務(wù)器會(huì)同時(shí)用三個(gè)核分別來(lái)運(yùn)行這三條命令,ParaFly結(jié)果文件:

$ cat fastq_dump.txt.completedfastq-dump --split-3 SRR1004285.1fastq-dump --split-3 SRR1004284.1fastq-dump --split-3 SRR1510125.1


總體來(lái)看ParaFly方便易學(xué),比linux自帶的parallel更易上手,大家在linux上做多任務(wù)處理時(shí)可以考慮加入它的使用,會(huì)大大的縮短數(shù)據(jù)處理時(shí)間。

關(guān)于linux上的并行軟件ParaFly怎么用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI