This is a test version of Biostars. For the public version, visit https://www.biostars.org.
How Do I Run Stride For Multiple Files?

Hello,

I would like to run stride(Protein secondary structure assignment http://webclu.bio.wzw.tum.de/stride/) for multiple files. I got the output for single file. But I get error when I use it for multiple files.

for single file  

./stride 1crn.ent >output

for multiplefiles    

 for i in pdbfiles/*.ent;
do
./stride $i $i.stride;
 done

Only one input file is allowed

I would like to know whether stride allows only single file? Is it possible to run stride with multiple files?

Your suggestions would be appreciated!!

protein

hey! How do I run the code from cmd of windows? It says the make.exe is not compatible for the 64-bits version! Thanks a bunch!

2 answers

I think the problem is you missed >, which signifies the output of the program. Looping over nothing has to do with single input, If a program doesn't allows multiple inputs, that why we make a loop to run it one by one. So, command would be :

for i in pdbfiles/*.ent; do ./stride $i > $i.stride; done

Cheers

yes, you are right. Thank you!!

You can also use the GNU/parallel command, which will run stride on multiple processes. This will be faster if you have more than one processor.

Example:

ls pdfiles/* | parallel 'stride {} > {}.stride'

Note that there is also another command called "parallel" in the moreutils package, included in most Linux distribution. The syntax of the GNU/parallel and the moreutils/parallel is slightly different, but you just have to read the man pages.

Log in to answer this question.