Hi Joel,
Thanks for providing the amended version of BranchSiteREL. I am struggling to have it work in a wrapper. With my wrapper, it processes the first alignment fine, but it when it gets to the second, I have errors. All the files seem to run fine if I am not using the wrapper.
Here is the error output:
Code:Not a valid (or duplicate) option: 'tree/01g00300.CDS.tree' passed to ChoiceList (with multiple selections) 'Choose the foreground branch' using redirected stdin input
Function call stack
1 : Choice List for Choose the foreground branch with choice list:NO_SKIP. Store result in stOption
Standard input redirect:
04 : TESTBRANCH
05 :
06 : /output/01g00300.CDS.out
-------
2 : ExecuteAFile from file fileToExe using basepath /. reading input from inputRedirect
{"01":"Universal",
"04":"TESTBRANCH",
"05":"",
"02":"/aln/01g00300.CDS.nex",
"03":"/tree/01g00300.CDS.tree",
"06":"/output/01g00300.CDS.out"}
And here is the wrapper:
Code:fileToExe = HYPHY_BASE_DIRECTORY + "TemplateBatchFiles" + DIRECTORY_SEPARATOR + "BranchSiteRELMarked.bf";
/* a list of file paths */
SetDialogPrompt ( "Provide a list of files to process:" );
fscanf ( PROMPT_FOR_FILE, "Lines", _inDirectoryPaths );
fprintf (stdout, "[READ ", Columns (_inDirectoryPaths), " file path lines]\n");
inputRedirect = {};
inputRedirect["01"]="Universal";
inputRedirect["04"]="TESTBRANCH";
inputRedirect["05"]="";
for ( _fileLine = 0; _fileLine < Columns ( _inDirectoryPaths ); _fileLine = _fileLine + 1 ) {
inputRedirect["02"]="/aln/"+_inDirectoryPaths[ _fileLine ]+".nex";
inputRedirect["03"]="/tree/"+_inDirectoryPaths[ _fileLine ]+".tree";
inputRedirect["06"]="/out/"+_inDirectoryPaths[ _fileLine ]+".bsm";
ExecuteAFile ( fileToExe, inputRedirect );
}
Do you have any thoughts about what I'm doing wrong here?
Thank you.