struct
type t = {
name: string;
parameters: (string * string) list
}
let name t = t.name
let to_json {name; parameters}: Yojson.Basic.json =
`Assoc [
"name", `String name;
"parameters",
`Assoc (List.map parameters ~f:(fun (a, b) -> a, `String b));
]
let generate_config_file ~path config : KEDSL.Program.t =
let open KEDSL in
Program.(
shf "echo '[user]' > %s" path
&& chain
(List.map config.parameters (fun (k, v) ->
shf "echo '%s = %s' >> %s" k v path))
)
let default =
{ name = "default";
parameters = [
"isSkipDepthFilters", "0";
"maxInputDepth", "10000";
"depthFilterMultiple", "3.0";
"snvMaxFilteredBasecallFrac", "0.4";
"snvMaxSpanningDeletionFrac", "0.75";
"indelMaxRefRepeat", "8";
"indelMaxWindowFilteredBasecallFrac", "0.3";
"indelMaxIntHpolLength", "14";
"ssnvPrior", "0.000001";
"sindelPrior", "0.000001";
"ssnvNoise", "0.0000005";
"sindelNoise", "0.0000001";
"ssnvNoiseStrandBiasFrac", "0.5";
"minTier1Mapq", "40";
"minTier2Mapq", "5";
"ssnvQuality_LowerBound", "15";
"sindelQuality_LowerBound", "30";
"isWriteRealignedBam", "0";
"binSize", "25000000";
"extraStrelkaArguments", "--eland-compatibility";
]}
let test1 =
{ name = "test1";
parameters = [
"isSkipDepthFilters", "0";
"maxInputDepth", "10000";
"depthFilterMultiple", "3.0";
"snvMaxFilteredBasecallFrac", "0.4";
"snvMaxSpanningDeletionFrac", "0.75";
"indelMaxRefRepeat", "8";
"indelMaxWindowFilteredBasecallFrac", "0.3";
"indelMaxIntHpolLength", "14";
"ssnvPrior", "0.000001";
"sindelPrior", "0.000001";
"ssnvNoise", "0.0000005";
"sindelNoise", "0.0000001";
"ssnvNoiseStrandBiasFrac", "0.5";
"minTier1Mapq", "40";
"minTier2Mapq", "5";
"ssnvQuality_LowerBound", "15";
"sindelQuality_LowerBound", "30";
"isWriteRealignedBam", "0";
"binSize", "25000000";
"extraStrelkaArguments", "--eland-compatibility";
"priorSomaticSnvRate", "1e-06";
"germlineSnvTheta", "0.001";
]}
let empty_exome =
{ name = "empty-exome";
parameters = [
"isSkipDepthFilters", "1";
]}
let exome_default =
{ name = "exome-default";
parameters = [
"isSkipDepthFilters", "1";
"maxInputDepth", "10000";
"depthFilterMultiple", "3.0";
"snvMaxFilteredBasecallFrac", "0.4";
"snvMaxSpanningDeletionFrac", "0.75";
"indelMaxRefRepeat", "8";
"indelMaxWindowFilteredBasecallFrac", "0.3";
"indelMaxIntHpolLength", "14";
"ssnvPrior", "0.000001";
"sindelPrior", "0.000001";
"ssnvNoise", "0.0000005";
"sindelNoise", "0.0000001";
"ssnvNoiseStrandBiasFrac", "0.5";
"minTier1Mapq", "40";
"minTier2Mapq", "5";
"ssnvQuality_LowerBound", "15";
"sindelQuality_LowerBound", "30";
"isWriteRealignedBam", "0";
"binSize", "25000000";
"extraStrelkaArguments", "--eland-compatibility";
]}
end