1

Je veux exécuter un script shell (BLAST + dans NCBI) dans R avec la commande system(), mais il semble utiliser un seul thread même si je mets plusieurs threads dans le script shell. Que dois-je faire pour utiliser plusieurs threads dans ce cas?Exécuter un script shell en R avec multithreading

Le code est system("blastp -query query.fasta -db db.fasta -num_threads 16 -outfmt \"6 qseqid sseqid pident ppos evalue bitscore qcovs\" -out out.tsv")

Comment puis-je obtenir cette course avec 16 cœurs en R? Merci!

Répondre

0

Avec parallèle:

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) 
+0

Qu'est-ce que 1: 4? –

+0

Le nombre de cœurs alloués pour la fonction syscall –