我想用命令system()在R中运行一个shell脚本(NCBI中的BLAST +),但是即使我在shell脚本中设置多个线程,它似乎只使用一个线程。在这种情况下,我该怎么做才能使用多个线程?
代码是
system("blastp -query query.fasta -db db.fasta -num_threads 16 -outfmt \"6 qseqid sseqid pident ppos evalue bitscore qcovs\" -out out.tsv")
如何在R中使用16个内核运行?谢谢!
答案 0 :(得分:1)
并行:
library(parallel)
ncore = 4
syscall = system("blastp -query query.fasta -db db.fasta -num_threads 16 -outfmt \"6 qseqid sseqid pident ppos evalue bitscore qcovs\" -out out.tsv")
mclapply(1:ncore,syscall,mc.cores=ncore)