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
bc34bfc2
Commit
bc34bfc2
authored
Aug 20, 2018
by
Philippe Veber
Browse files
removed API calls from Service
parent
e98068ed
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
81 additions
and
8 deletions
+81
-8
lib/pipeline.ml
lib/pipeline.ml
+18
-8
lib/time_logger.ml
lib/time_logger.ml
+63
-0
No files found.
lib/pipeline.ml
View file @
bc34bfc2
...
@@ -319,11 +319,12 @@ let derive_profile ?(indir = "") ?(ns = 0) ~preview ~fast_mode ~no_Ne ~ne_test ~
...
@@ -319,11 +319,12 @@ let derive_profile ?(indir = "") ?(ns = 0) ~preview ~fast_mode ~no_Ne ~ne_test ~
|>
Repo
.
shift
tree_prefix
|>
Repo
.
shift
tree_prefix
|>
Repo
.
shift
"Results_per_tree"
|>
Repo
.
shift
"Results_per_tree"
in
in
(
repo_per_tree
,
post_analyses_res
)
(
repo_per_tree
,
post_analyses_res
,
dataset_results_l
)
)
)
in
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_repo_per_tree_simu
=
List
.
concat_map
repo_and_post_analyses_per_tree_simu
~
f
:
(
fun
(
r
,
_
,
_
)
->
r
)
in
let
all_post_analyses_per_tree
=
List
.
map
repo_and_post_analyses_per_tree_simu
~
f
:
(
fun
(
r
,
p
)
->
p
)
in
let
all_post_analyses_per_tree
=
List
.
map
repo_and_post_analyses_per_tree_simu
~
f
:
(
fun
(
_
,
p
,
_
)
->
p
)
in
let
all_dataset_results
=
List
.
concat_map
repo_and_post_analyses_per_tree_simu
~
f
:
(
fun
(
_
,
_
,
d
)
->
d
)
in
let
profile_prefix
=
profile
.
profile_n
in
let
profile_prefix
=
profile
.
profile_n
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_prefix
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_prefix
in
let
repo_post_analyses_all_trees
=
if
only_simu
then
let
repo_post_analyses_all_trees
=
if
only_simu
then
...
@@ -331,15 +332,23 @@ let derive_profile ?(indir = "") ?(ns = 0) ~preview ~fast_mode ~no_Ne ~ne_test ~
...
@@ -331,15 +332,23 @@ let derive_profile ?(indir = "") ?(ns = 0) ~preview ~fast_mode ~no_Ne ~ne_test ~
else
else
repo_post_analyses_all_trees
repo_post_analyses_all_trees
in
in
let
repo
=
repo_of_post_analyses_simu
@
all_repo_per_tree_simu
@
repo_post_analyses_all_trees
in
let
repo
=
Repo
.
shift
profile_prefix
repo
repo_of_post_analyses_simu
@
all_repo_per_tree_simu
@
repo_post_analyses_all_trees
|>
Repo
.
shift
profile_prefix
in
object
method
repo
=
repo
method
dataset_results
=
all_dataset_results
end
let
time_logger
=
Time_logger
.
create
()
let
logger
=
let
logger
=
Logger
.
tee
[
Logger
.
tee
[
Console_logger
.
create
()
;
Console_logger
.
create
()
;
Dot_output
.
create
"dag.dot"
;
(*dot -Tpdf example/dag.dot -o dag.pdf*)
Dot_output
.
create
"dag.dot"
;
(*dot -Tpdf example/dag.dot -o dag.pdf*)
Bistro_utils
.
Html_logger
.
create
"report.html"
;
Bistro_utils
.
Html_logger
.
create
"report.html"
;
time_logger
#
logger
;
]
]
let
detection_main
~
outdir
~
indir
?
(
np
=
2
)
?
(
mem
=
2
)
~
preview
~
fast_mode
()
=
let
detection_main
~
outdir
~
indir
?
(
np
=
2
)
?
(
mem
=
2
)
~
preview
~
fast_mode
()
=
...
@@ -360,7 +369,7 @@ let validation_main ~outdir ?(indir = "") ?(ns = 0) ?(np = 2) ?(mem = 2) ~previe
...
@@ -360,7 +369,7 @@ let validation_main ~outdir ?(indir = "") ?(ns = 0) ?(np = 2) ?(mem = 2) ~previe
(* simulated trees *)
(* simulated trees *)
let
nb_sites
=
if
ns
=
0
then
(
if
preview
then
20
else
50
)
else
ns
in
let
nb_sites
=
if
ns
=
0
then
(
if
preview
then
20
else
50
)
else
ns
in
let
profile
=
Profile
.
profile_l_of_splitted_profile
~
nb_cat
:
3
~
nb_sites
profile_fn
in
let
profile
=
Profile
.
profile_l_of_splitted_profile
~
nb_cat
:
3
~
nb_sites
profile_fn
in
let
sim_repo_l
=
derive_profile
~
indir
~
ns
~
preview
~
fast_mode
~
no_Ne
~
ne_test
~
no_HaPC
~
tree_dir
~
profile
~
use_concat
~
only_simu
()
in
let
sim_repo_l
=
derive_profile
~
indir
~
ns
~
preview
~
fast_mode
~
no_Ne
~
ne_test
~
no_HaPC
~
tree_dir
~
profile
~
use_concat
~
only_simu
()
in
(* real trees *)
(* real trees *)
let
indir_dataset_l
=
if
indir
=
""
then
[]
else
parse_input_data
indir
in
let
indir_dataset_l
=
if
indir
=
""
then
[]
else
parse_input_data
indir
in
let
dataset_l
=
indir_dataset_l
in
let
dataset_l
=
indir_dataset_l
in
...
@@ -375,8 +384,9 @@ let validation_main ~outdir ?(indir = "") ?(ns = 0) ?(np = 2) ?(mem = 2) ~previe
...
@@ -375,8 +384,9 @@ let validation_main ~outdir ?(indir = "") ?(ns = 0) ?(np = 2) ?(mem = 2) ~previe
repo_of_dataset_results_l
~
dataset_results_l
;
repo_of_dataset_results_l
~
dataset_results_l
;
]
|>
List
.
concat
]
|>
List
.
concat
in
in
let
repo
=
(
Repo
.
shift
"Simulated_datasets"
sim_repo_l
)
@
(
Repo
.
shift
"Real_datasets"
repo_real_trees
)
in
let
repo
=
(
Repo
.
shift
"Simulated_datasets"
sim_repo_l
#
repo
)
@
(
Repo
.
shift
"Real_datasets"
repo_real_trees
)
in
Repo
.
build
~
outdir
~
np
~
mem
:
(
`GB
mem
)
~
logger
repo
Repo
.
build
~
outdir
~
np
~
mem
:
(
`GB
mem
)
~
logger
repo
;
time_logger
#
report
sim_repo_l
#
dataset_results
(
Filename
.
concat
outdir
"elapsed_time.tsv"
)
let
simulation_command
=
let
simulation_command
=
let
open
Command
.
Let_syntax
in
let
open
Command
.
Let_syntax
in
...
...
lib/time_logger.ml
0 → 100644
View file @
bc34bfc2
open
Core
open
Bistro_engine
type
stats
=
{
elapsed_time
:
float
;
}
let
create
()
=
object
(
self
)
val
started
=
String
.
Table
.
create
()
val
table
=
String
.
Table
.
create
()
method
event
config
t
=
function
|
Scheduler
.
Task_started
(
task
,
_
)
->
String
.
Table
.
set
started
(
Task
.
id
task
)
t
|
Task_ended
(
Step_result
{
step
})
->
let
id
=
step
.
id
in
let
start_time
=
String
.
Table
.
find_exn
started
id
in
String
.
Table
.
set
table
id
{
elapsed_time
=
t
-.
start_time
;
}
|
Task_ended
(
Input_check
_
|
Select_check
_
|
Map_command_result
_
)
|
Init
_
|
Task_ready
_
|
Task_skipped
_
->
()
method
elapsed_time
:
'
a
.
'
a
Bistro
.
workflow
->
float
=
fun
w
->
(
String
.
Table
.
find_exn
table
(
Bistro
.
Workflow
.
id
w
))
.
elapsed_time
method
elapsed_time_of_result
:
Convergence_detection
.
result
->
string
*
float
option
=
let
f
w
=
let
id
=
Bistro
.
Workflow
.
id
w
in
id
,
Option
.
map
(
String
.
Table
.
find
table
(
Bistro
.
Workflow
.
id
w
))
~
f
:
(
fun
x
->
x
.
elapsed_time
)
in
function
|
`Pcoc
w
|
`Pcoc_gamma
w
|
`Pcoc_C60
w
->
f
w
|
`Diffsel
w
->
f
w
|
`Identical_LG
w
|
`Identical_WAG
w
->
f
w
|
`Topological_LG
w
|
`Topological_WAG
w
->
f
w
|
`Tdg09
w
->
f
w
|
`Multinomial
w
->
f
w
|
`Msd
(
w
,
_
)
->
f
w
method
stop
=
()
method
wait4shutdown
=
Lwt
.
return
()
method
logger
=
(
self
:>
Scheduler
.
logger
)
method
report
detection_results
fn
=
List
.
map
detection_results
~
f
:
(
fun
(
dataset_res
:
Convergence_detection
.
dataset_res
)
->
let
tree_name
=
dataset_res
.
tree_prefix
in
let
model_name
=
dataset_res
.
model_prefix
in
List
.
map
dataset_res
.
res_by_tools
~
f
:
(
fun
r
->
let
meth_name
=
Convergence_detection
.
meth_string_of_result
r
in
let
id
,
elapsed_time
=
self
#
elapsed_time_of_result
r
in
String
.
concat
~
sep
:
"
\t
"
[
tree_name
;
model_name
;
meth_name
;
id
;
Option
.
value_map
~
f
:
Float
.
to_string
~
default
:
"NA"
elapsed_time
]
)
)
|>
List
.
concat
|>
Out_channel
.
write_lines
fn
end
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