open Core open Bistro.Std open Bistro.EDSL open Bistro_bioinfo.Std open File_formats let env = docker_image ~account:"carinerey" ~name:"tdg09_python" ~tag:"v1.1.2fixed.31082018" () let tdg09 ~(faa:aminoacid_fasta workflow) ~(tree:_ workflow) : [`tdg09] directory workflow = let tdg09_out = dest // "tdg09.yaml" in let tmp_ali_phy = dest // "tmp_ali.phy" in let tmp_tree = dest // "tmp.nw" in let package = tmp // "diffsel_script_utils.py" in let script = tmp // "try_again.py" in workflow ~descr:"convergence_detection.run_tdg09" [ docker env ( and_list [ mkdir_p dest ; mkdir_p tmp ; cd tmp ; cmd "python" [ file_dump (string Scripts.rename_input_tree_ali_tdg09) ; opt "-t" dep tree; opt "-a" dep faa; opt "-out_a " ident tmp_ali_phy; opt "-out_t " ident tmp_tree; ]; cmd "cp" [ file_dump (string Scripts.diffsel_script_utils) ; package] ; cmd "cp" [ file_dump (string Scripts.try_again) ; script] ; cmd "java" ~stdout:tdg09_out [ string "-cp /tdg09/tdg09.jar tdg09.Analyse"; opt "-tree" ident tmp_tree; opt "-alignment" ident tmp_ali_phy ; opt "-threads" int 1 ; opt "-groups" string "XE ME" ; ] ] ) ] let results run_tdg09 : text_file workflow = let tdg09_out = run_tdg09 / selector [ "tdg09.yaml" ] in workflow ~descr:"convergence_detection.parse_tdg09" [ cmd "python" ~env [ file_dump (string Scripts.parse_results_tdg09) ; opt "-tdg09" dep tdg09_out; opt "-o" ident dest; ] ]