From daffa46999850691803b8b27dffaaff991e8b337 Mon Sep 17 00:00:00 2001 From: Kiweler Date: Tue, 18 Jun 2019 11:49:01 +0200 Subject: [PATCH] fjson jpg --- vignettes/fjson_screenshot.JPG | Bin 0 -> 42970 bytes vignettes/manipulate_term_match_table.md | 190 +++++++++++++++++++++++ 2 files changed, 190 insertions(+) create mode 100644 vignettes/fjson_screenshot.JPG create mode 100644 vignettes/manipulate_term_match_table.md diff --git a/vignettes/fjson_screenshot.JPG b/vignettes/fjson_screenshot.JPG new file mode 100644 index 0000000000000000000000000000000000000000..041f392680509f60a8108da4d7333cfddb4a0219 GIT binary patch literal 42970 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 [1] "term" "term_verbose" "origin" "handle_type" + #> [5] "handle" "example" + +The first column of the resulting table is always the `term`. It is a +short and unique description of the row. While the second, +`term_verbose` contains a more detailed and readable title. + + head(tmt_LC_pump[1:2]) + #> term + #> 1 hplc_instrument + #> 2 hplc_vendor + #> 3 hplc_model + #> 4 hplc_column + #> 5 hplc_mobilephases + #> 6 hplc_samplevolume + #> term_verbose + #> 1 High Performance Liquid Chromatography (HPLC) Instrument + #> 2 HPLC Vendor + #> 3 HPLC Model + #> 4 Chromatography Column + #> 5 Chromatography Mobile Phases + #> 6 Injected Sample Volume + +The third collumn `origin` contains keys determining which requirements +to satisfy. These keys were read in the function +`create_term_matching_table()` and compared to the value of +`origin_key`. + + head(tmt_LC_pump[3]) + #> origin + #> 1 author;miape;jpr_guidelines_ms + #> 2 author;miape;jpr_guidelines_ms + #> 3 author;miape;jpr_guidelines_ms + #> 4 author;miape;jpr_guidelines_ms + #> 5 author;miape;jpr_guidelines_ms + #> 6 author;miape + +In the fourth column `handle_type` specifys how to interpret the fifth +column `handle`. `"list_path"` indicates that `handle` is a path in the +flattened json. `"literal"` leads to just copy the value of `handle`. +With "parameter" the row stays empty because the information is not +represented in the json. + + head(tmt_LC_pump[4:5]) + #> handle_type handle + #> 1 list_path Instruments.Thermo EASY-nLC.InstrumentFriendName + #> 2 literal Thermo Scientific + #> 3 parameter + #> 4 parameter + #> 5 parameter + #> 6 list_path Instruments.Thermo EASY-nLC.Method.Sample pickup.Volume [µl] + +The last column shows an example of which value the row could have. + + head(tmt_LC_pump[c(2,6)]) + #> term_verbose + #> 1 High Performance Liquid Chromatography (HPLC) Instrument + #> 2 HPLC Vendor + #> 3 HPLC Model + #> 4 Chromatography Column + #> 5 Chromatography Mobile Phases + #> 6 Injected Sample Volume + #> example + #> 1 Thermo EASY-nLC + #> 2 Thermo Scientific + #> 3 + #> 4 + #> 5 + #> 6 4.00 + +Create an own combination of the available requirements +------------------------------------------------------- + +First extract a term matching table for the used instruments without +specifying the origin key. + + full_tmt <- create_term_match_table( + instrument_list = c("Thermo EASY-nLC", "Q Exactive - Orbitrap_MS")) + # no origin key set + +Now it is possible to subset or delete some rows with r tools. + + sub_rows <- c(1, 6:8, 10) # wanted rows + subset_tmt <- full_tmt[sub_rows,] + + head(subset_tmt) + #> term + #> 1 hplc_instrument + #> 6 hplc_samplevolume + #> 7 hplc_gradient + #> 8 ms_instrument + #> 10 ms_model + #> term_verbose + #> 1 High Performance Liquid Chromatography (HPLC) Instrument + #> 6 Injected Sample Volume + #> 7 Chromatography Gradient + #> 8 Mass Spectrometer (MS) + #> 10 MS Model + #> origin handle_type + #> 1 author;miape;jpr_guidelines_ms list_path + #> 6 author;miape list_path + #> 7 author;miape;jpr_guidelines_ms function + #> 8 author;miape;jpr_guidelines_ms list_path + #> 10 author;miape;jpr_guidelines_ms literal + #> handle + #> 1 Instruments.Thermo EASY-nLC.InstrumentFriendName + #> 6 Instruments.Thermo EASY-nLC.Method.Sample pickup.Volume [µl] + #> 7 document_easy_nlc_gradient + #> 8 Instruments.Q Exactive - Orbitrap MS.InstrumentFriendName + #> 10 QExactive + #> example + #> 1 Thermo EASY-nLC + #> 6 4.00 + #> 7 + #> 8 Q Exactive - Orbitrap MS + #> 10 QExactive + +New rows can be added. It is mandatory to fill in `term_verbose`, +`handle_type` and `handle` in their specific column. `term_verbose` +should be a short desription for the column as it will show up as key in +the final table. + +If `handle` contains a string that just needs to be copied to the output +table the collumn `handle_type` should contain `"literal"`. + + # create row + new_row <- data.frame(term = "example_line", + term_verbose = "Example line", # Term in the final table + origin = "", + handle_type = "literal", + handle = "this will be the value", # Value in the final table + example = "") + # add to subset + subset_tmt <- rbind(subset_tmt, new_row) + +If the row is meant to show an entry of the json `handle_type` needs to +be `"list_path"` and `handle` should contain the path to the information +in the flattened json after the group number. + + # create the flattened json (explained in using_MARMoSET) + flat_json <- flatten_json(json = MARMoSET::testfile_json) + + # choose/search for item of the flattened list, get path without group number. + fj_path <- stringi::stri_subset(names(flat_json), regex = "Flush") %>% + stringi::stri_replace_all_regex(pattern = "^Group.[:digit:].", replacement = "") + + # create row + new_row <- data.frame(term = "second_example_line", + term_verbose = "Second example, Autosampler flush volume", # Term in the final table + origin = "", + handle_type = "list_path", + handle = fj_path, # Value in the final table + example = "") + # add to subset + subset_tmt <- rbind(subset_tmt, new_row) + +This so changed term matching table can be used with the function +`match_terms()`. + + subset_table <- one_group_match_terms(flat_json = flat_json, + term_matching_table = subset_tmt, + group_number = 1) + subset_table[5:7,] + #> Term Value + #> 5 MS Model QExactive + #> 6 Example line this will be the value + #> 7 Second example, Autosampler flush volume 100.00