Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Docker-in-Docker (DinD) capabilities of public runners deactivated.
More info
Open sidebar
VEBER Philippe
codepi
Commits
50a9e4b5
Commit
50a9e4b5
authored
Jul 20, 2018
by
Carine Rey
Browse files
add final sens spe plot
parent
c7f806b1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
68 additions
and
6 deletions
+68
-6
lib/pipeline.ml
lib/pipeline.ml
+8
-4
lib/post_analyses.ml
lib/post_analyses.ml
+60
-2
No files found.
lib/pipeline.ml
View file @
50a9e4b5
...
...
@@ -265,7 +265,7 @@ let validation_main ~outdir ?(indir = "") ?(ns = 0) ?(np = 2) ?(mem = 2) ~previe
let
simu_dataset_l
=
derive_sim
~
tree_dir
~
trees
~
profile_fn
~
preview
~
use_concat
~
ns
~
no_Ne
~
no_HaPC
in
let
post_analyses_simu
=
Post_analyses
.
post_analyses_simu_of_simu_dataset_l
~
simu_dataset_l
in
let
repo_of_post_analyses_simu
=
Post_analyses
.
repo_of_post_analyses_simu
~
post_analyses_simu
in
let
repo_per_tree_simu
=
List
.
map
trees
~
f
:
(
fun
tree
->
let
repo_
and_post_analyses_
per_tree_simu
=
List
.
map
trees
~
f
:
(
fun
tree
->
(*to keep together all models per tree*)
let
trees
=
[
tree
]
in
let
tree_prefix
=
Filename
.
chop_extension
tree
in
let
dataset_l
=
...
...
@@ -283,9 +283,13 @@ let validation_main ~outdir ?(indir = "") ?(ns = 0) ?(np = 2) ?(mem = 2) ~previe
Repo
.
shift
tree_prefix
(
Post_analyses
.
repo_of_post_analyses_res
~
prefix
:
tree_prefix
~
post_analyses_res
);
]
|>
List
.
concat
in
repo_per_tree
)
|>
List
.
concat
(
repo_per_tree
,
post_analyses_res
)
)
in
let
all_repo_per_tree_simu
=
List
.
map
repo_and_post_analyses_per_tree_simu
~
f
:
(
fun
(
r
,
p
)
->
r
)
|>
List
.
concat
in
let
all_post_analyses_per_tree
=
List
.
map
repo_and_post_analyses_per_tree_simu
~
f
:
(
fun
(
r
,
p
)
->
p
)
in
let
profile
=
Filename
.
chop_extension
profile_fn
in
let
repo_post_analyses_all_trees
=
Post_analyses
.
repo_post_analyses_all_trees_of_all_post_analyses_per_tree
~
all_post_analyses_per_tree
~
profile
in
(* real trees *)
let
indir_dataset_l
=
if
indir
=
""
then
[]
else
parse_input_data
indir
in
let
dataset_l
=
indir_dataset_l
in
...
...
@@ -300,7 +304,7 @@ let validation_main ~outdir ?(indir = "") ?(ns = 0) ?(np = 2) ?(mem = 2) ~previe
repo_of_dataset_results_l
~
dataset_results_l
;
]
|>
List
.
concat
in
let
repo
=
repo_of_post_analyses_simu
@
repo_real_trees
@
repo_per_tree_simu
in
let
repo
=
repo_of_post_analyses_simu
@
repo_real_trees
@
all_
repo_per_tree_simu
@
repo_post_analyses_all_trees
in
Repo
.
build
~
outdir
~
np
~
mem
:
(
`GB
mem
)
~
logger
repo
let
simulation_command
=
...
...
lib/post_analyses.ml
View file @
50a9e4b5
...
...
@@ -7,11 +7,13 @@ open File_formats
open
Convergence_detection
type
post_analyses_dir
type
sens_spe_t_choices_plot
type
t_choices
=
{
t_choices_complete
:
text_file
workflow
;
t_choices_max
:
text_file
workflow
;
t_choices_plot
:
text_file
workflow
;
tree_prefix
:
string
;
}
type
auto_t_plot
=
{
...
...
@@ -24,6 +26,7 @@ type auto_t_plot = {
type
post_analyses_res
=
{
t_choices
:
t_choices
option
;
auto_t_plot_l
:
auto_t_plot
list
option
;
dataset_results_l
:
dataset_res
list
;
}
type
simu_infos
=
{
...
...
@@ -106,7 +109,8 @@ let get_t_choices ~(dataset_results_l: dataset_res list) : t_choices option =
let
t_choices_max
=
t_choices_dir
/
selector
[
"out.max_per_meth.tsv"
]
in
let
t_choices_complete
=
t_choices_dir
/
selector
[
"out.complete.tsv"
]
in
let
t_choices_plot
=
t_choices_dir
/
selector
[
"out.pdf"
]
in
Some
{
t_choices_max
;
t_choices_complete
;
t_choices_plot
}
let
tree_prefix
=
h0
.
tree_prefix
in
Some
{
t_choices_max
;
t_choices_complete
;
t_choices_plot
;
tree_prefix
}
|
_
->
None
...
...
@@ -144,7 +148,7 @@ let get_simu_infos ~(dataset:Dataset.t) =
let
post_analyses_res_of_dataset_results_l
~
dataset_results_l
=
let
t_choices
=
get_t_choices
~
dataset_results_l
in
let
auto_t_plot_l
=
plot_det_meth_res_auto_t
~
t_choices
~
dataset_results_l
in
{
t_choices
;
auto_t_plot_l
}
{
t_choices
;
auto_t_plot_l
;
dataset_results_l
}
let
post_analyses_simu_of_simu_dataset_l
~
simu_dataset_l
=
let
simu_infos_l
=
List
.
map
simu_dataset_l
~
f
:
(
fun
dataset
->
...
...
@@ -156,6 +160,60 @@ let post_analyses_simu_of_simu_dataset_l ~simu_dataset_l =
let
simu_infos_plot
=
group_simu_infos
~
simu_infos_l
/
selector
[
"out.pdf"
]
in
{
simu_infos_l
;
simu_infos_plot
}
let
plot_sens_spe_t_choices
~
t_choices_l
~
dataset_results_l
~
profile
:
sens_spe_t_choices_plot
directory
workflow
=
let
env
=
docker_image
~
account
:
"carinerey"
~
name
:
"r_basics"
~
tag
:
"07162018"
()
in
let
t_choices_dir
=
tmp
//
"t_choices_dir"
in
let
merged_results_dir
=
tmp
//
"merged_results_dir"
in
let
out
=
dest
//
"out"
in
let
cmd_cp_t_choices_l
=
List
.
map
t_choices_l
~
f
:
(
fun
t_choices
->
cmd
"cp"
[
dep
t_choices
.
t_choices_max
;
t_choices_dir
//
(
t_choices
.
tree_prefix
^
".tsv"
)]
)
in
let
cmd_cp_merged_results_l
=
List
.
map
dataset_results_l
~
f
:
(
fun
dataset_results
->
cmd
"cp"
[
dep
dataset_results
.
merged_results
;
merged_results_dir
//
(
dataset_results
.
tree_prefix
^
"@"
^
dataset_results
.
model_prefix
^
".tsv"
)]
)
in
workflow
~
descr
:
"post_analyses.plot_sens_spe_all_trees"
[
docker
env
(
and_list
([
[
mkdir_p
dest
];
[
mkdir_p
t_choices_dir
];
[
mkdir_p
merged_results_dir
];
cmd_cp_t_choices_l
;
cmd_cp_merged_results_l
;
[
cmd
"Rscript"
[
file_dump
(
string
Scripts
.
plot_sens_spe_all_trees
)
;
opt
"--input_dir"
ident
t_choices_dir
;
opt
"--input_dir2"
ident
merged_results_dir
;
opt
"--profil"
string
profile
;
opt
"--out "
ident
out
;
];]
]
|>
List
.
concat
)
)
]
let
repo_post_analyses_all_trees_of_all_post_analyses_per_tree
~
profile
~
all_post_analyses_per_tree
=
let
t_choices_l
=
List
.
map
all_post_analyses_per_tree
~
f
:
(
fun
post_analyses_res
->
match
post_analyses_res
.
t_choices
with
|
Some
w
->
[
w
]
|
None
->
[]
)
|>
List
.
concat
in
let
dataset_results_l
=
List
.
map
all_post_analyses_per_tree
~
f
:
(
fun
post_analyses_res
->
post_analyses_res
.
dataset_results_l
)
|>
List
.
concat
in
let
sens_spe_t_choices_plot
=
plot_sens_spe_t_choices
~
t_choices_l
~
dataset_results_l
~
profile
in
Repo
.[
item
[
"sens_spe.pdf"
]
(
sens_spe_t_choices_plot
/
selector
[
"out.sens_spe_auto_t.pdf"
]);
item
[
"all_t_choices.pdf"
]
(
sens_spe_t_choices_plot
/
selector
[
"out.max_t_per_tree.pdf"
]);
item
[
"sens_spe.tsv"
]
(
sens_spe_t_choices_plot
/
selector
[
"out.sens_spe_auto_t.tsv"
]);
item
[
"all_t_choices.tsv"
]
(
sens_spe_t_choices_plot
/
selector
[
"out.max_t_per_tree.tsv"
]);
]
let
repo_of_post_analyses_simu
~
post_analyses_simu
=
[
Repo
.[
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment