Thank you! It is really helpful.
Hi everyone,
I am using muscle for multi-sequence alignment. My problem is I have several thousand input files, and need to run them in batch.
muscle3.8.31_i86linux64 -in a1.fa -out a1.afa
muscle3.8.31_i86linux64 -in a2.fa -out a2.afa
...........
muscle3.8.31_i86linux64 -in a3000.fa -out a3000.afa
Could anyone help me with a command to run them in batch? Thank you very much!
1 answer
using GNU parallel:
ls *.fa | parallel muscle3.8.31_i86linux64 -in {} -out {.}.afa
Using make with option -j (not tested):
%.afa:%.fa
muscle3.8.31_i86linux64 -in $< -out $@
INPUT=$(shell ls *.fa)
.PHONY:all
all: $(patsubst %.fa,%.afa,${INPUT} )
Further help needed: bash: parallel: command not found... Thanks a lot!
I have sorted out the problem. Need to install GNU parallele. Thanks!
Hi, I would like to run this but with mafft alingment. I searched in the parallel manual and several variations, I guess this is not an issue with the dot in the replacement string, I removed and it didn't work.
The simple strategy is mafft seq.fa > align.fa so I tried ls *.fa | parallel linsi {} > ../{} to throw the results in a folder above. How could I fix this? Thanks
Hi, I would like to run this but with mafft alingment. I searched in the parallel manual and several variations, I guess this is not an issue with the dot in the replacement string, I removed and it didn't work. The simple strategy is mafft seq.fa > align.fa so I tried ls *.fa | parallel linsi {} > ../{} to throw the results in a folder above. How could I fix this? Thanks
Hi,I have a similar question about "ls *.fa | parallel linsi {} > ../{}". Have you solved it ?
Log in to answer this question.