diff --git a/runs/FSharpArcCapsule.yml b/runs/FSharpArcCapsule.yml new file mode 100644 index 0000000000000000000000000000000000000000..5da154dc5032f90c826819412e2c351b94019c0c --- /dev/null +++ b/runs/FSharpArcCapsule.yml @@ -0,0 +1,7 @@ +scriptFile: + class: File + path: ../workflows/FSharpArcCapsule/script.fsx +firstArg: + class: File + path: ../assays/measurement1/dataset/table.csv +secondArg: ./result.csv diff --git a/workflows/FSharpArcCapsule.cwl b/workflows/FSharpArcCapsule.cwl new file mode 100644 index 0000000000000000000000000000000000000000..9e14f7430066fc86d42f1b3365c69e78691668ef --- /dev/null +++ b/workflows/FSharpArcCapsule.cwl @@ -0,0 +1,31 @@ +cwlVersion: v1.2 +class: CommandLineTool +hints: + DockerRequirement: + dockerPull: mcr.microsoft.com/dotnet/sdk:6.0 +requirements: + EnvVarRequirement: + envDef: + - envName: DOTNET_NOLOGO + envValue: "true" + NetworkAccess: + networkAccess: true +baseCommand: [dotnet, fsi] +inputs: + scriptFile: + type: File + inputBinding: + position: 1 + firstArg: + type: File + inputBinding: + position: 2 + secondArg: + type: string + inputBinding: + position: 3 +outputs: + output: + type: File + outputBinding: + glob: "*.csv" \ No newline at end of file diff --git a/workflows/FSharpArcCapsule/script.fsx b/workflows/FSharpArcCapsule/script.fsx index 6248b03e0eba9e1de06673d52dc5d9609bef746a..f4deb9029c503abfe59d9f87df893eb4225ecf59 100644 --- a/workflows/FSharpArcCapsule/script.fsx +++ b/workflows/FSharpArcCapsule/script.fsx @@ -3,9 +3,13 @@ open FSharp.Data +let args : string array = fsi.CommandLineArgs |> Array.tail +let first = args.[0] +let second = args.[1] + let data = CsvFile - .Load("/arc/assays/measurement1/dataset/table.csv") + .Load(first) .Cache() let r = @@ -15,4 +19,4 @@ let r = yield sprintf "%f" ((row.["value_1"].AsFloat()) + (row.["value_2"].AsFloat())) ] -System.IO.File.WriteAllLines("/arc/runs/fsResult1/result.csv",r) \ No newline at end of file +System.IO.File.WriteAllLines(second,r) \ No newline at end of file