Skip to content

Commit

Permalink
fix study xlsx reader creating empty lists
Browse files Browse the repository at this point in the history
  • Loading branch information
HLWeil committed Dec 2, 2022
1 parent 372e07f commit 8f63206
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
23 changes: 22 additions & 1 deletion src/ISADotNet.XLSX/AssayFile/Assay.fs
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,14 @@ module Assay =

let processes = Process.fromSparseMatrix processNameRoot matrixHeaders sparseMatrix
let characteristics = API.ProcessSequence.getCharacteristics processes
Assay.create(CharacteristicCategories = characteristics,ProcessSequence = Seq.toList processes)
let assay =
match characteristics,processes with
| [],[] -> Assay.create()
| [],ps -> Assay.create(ProcessSequence = ps)
| cs,[] -> Assay.create(CharacteristicCategories = cs)
| cs,ps -> Assay.create(CharacteristicCategories = cs,ProcessSequence = ps)

assay

/// Returns an assay from a sequence of sparseMatrix representations of assay.xlsx sheets
///
Expand Down Expand Up @@ -192,4 +198,19 @@ module Assay =
wb.Value.Parse().ToFile(p)
with
| err -> failwithf "Could not write Assay to Xlsx file in path \"%s\": \n\t%s" p err.Message

let updateFile (p : string) (contacts : Person list) (assay : Assay) =
try
let a = QueryModel.QAssay.fromAssay assay
let wb =
workbook {
for (i,s) in List.indexed a.Sheets do QSheet.toSheet i s
sheet "Assay" {
for r in MetaData.toDSLSheet assay contacts do r
}
}

wb.Value.Parse().ToFile(p)
with
| err -> failwithf "Could not write Assay to Xlsx file in path \"%s\": \n\t%s" p err.Message
/// ----> Bis hier
8 changes: 6 additions & 2 deletions src/ISADotNet.XLSX/StudyFile/Study.fs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@ module Study =
let characteristics = API.ProcessSequence.getCharacteristics processes
let factors = API.ProcessSequence.getFactors processes
let protocols = API.ProcessSequence.getProtocols processes
Study.create(CharacteristicCategories = characteristics,Factors = factors, Protocols = protocols, ProcessSequence = processes)
let units = API.ProcessSequence.getUnits processes |> List.distinct
Study.make None None None None None None None None None None (Option.fromValueWithDefault [] protocols) None (Option.fromValueWithDefault [] processes) None (Option.fromValueWithDefault [] factors) (Option.fromValueWithDefault [] characteristics) (Option.fromValueWithDefault [] units) None

//Study.create(CharacteristicCategories = characteristics,Factors = factors, Protocols = protocols, ProcessSequence = processes)

/// Returns a study from a sequence of sparseMatrix representations of study.xlsx sheets
///
Expand All @@ -43,7 +46,8 @@ module Study =
let characteristics = API.ProcessSequence.getCharacteristics processes
let factors = API.ProcessSequence.getFactors processes
let protocols = API.ProcessSequence.getProtocols processes
Study.create(CharacteristicCategories = characteristics,Factors = factors, Protocols = protocols, ProcessSequence = processes)
let units = API.ProcessSequence.getUnits processes |> List.distinct
Study.make None None None None None None None None None None (Option.fromValueWithDefault [] protocols) None (Option.fromValueWithDefault [] processes) None (Option.fromValueWithDefault [] factors) (Option.fromValueWithDefault [] characteristics) (Option.fromValueWithDefault [] units) None

// Diesen Block durch JS ersetzen ---->

Expand Down

0 comments on commit 8f63206

Please sign in to comment.