diff --git a/docs/articles/dm_documentation.html b/docs/articles/dm_documentation.html index 48c8b6f..ba94581 100644 --- a/docs/articles/dm_documentation.html +++ b/docs/articles/dm_documentation.html @@ -127,7 +127,7 @@

Columns that changed are i
-

Actual original data that we took to worked on +

Actual original data that we took to work on

only those 4 setcd animals

diff --git a/docs/articles/mi_documentation.html b/docs/articles/mi_documentation.html index 616388b..5c2eb11 100644 --- a/docs/articles/mi_documentation.html +++ b/docs/articles/mi_documentation.html @@ -95,11 +95,7 @@

Sep-10-2024

Original Data

-
##  [1] "STUDYID"  "DOMAIN"   "USUBJID"  "MISEQ"    "MIGRPID"  "MIREFID" 
-##  [7] "MISPID"   "MITESTCD" "MITEST"   "MIBODSYS" "MIORRES"  "MISTRESC"
-## [13] "MIRESCAT" "MISTAT"   "MIREASND" "MINAM"    "MISPEC"   "MIANTREG"
-## [19] "MISPCCND" "MISPCUFL" "MIMETHOD" "MILAT"    "MIDIR"    "MIEVAL"  
-## [25] "MISEV"    "MIDTHREL" "MIDTC"    "MIDY"
+

Columns that changed in original (red background) @@ -110,11 +106,6 @@

Columns that changed in

Synthetic Data

-
##  [1] "USUBJID"  "STUDYID"  "DOMAIN"   "MISEQ"    "MIGRPID"  "MIREFID" 
-##  [7] "MISPID"   "MITESTCD" "MITEST"   "MIBODSYS" "MIORRES"  "MISTRESC"
-## [13] "MIRESCAT" "MISTAT"   "MIREASND" "MINAM"    "MISPEC"   "MIANTREG"
-## [19] "MISPCCND" "MISPCUFL" "MIMETHOD" "MILAT"    "MIDIR"    "MIEVAL"  
-## [25] "MISEV"    "MIDTHREL" "MIDTC"    "MIDY"
diff --git a/docs/articles/tx_documentation.html b/docs/articles/tx_documentation.html index 90b8563..6bc679b 100644 --- a/docs/articles/tx_documentation.html +++ b/docs/articles/tx_documentation.html @@ -130,7 +130,7 @@

Columns that changed are i

-

Actual original data that we took to worked on +

Actual original data that we took to work on

only those 4 setcd animals

diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 79cd408..f81a990 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -11,5 +11,5 @@ articles: om_documentation: om_documentation.html ts_documentation: ts_documentation.html tx_documentation: tx_documentation.html -last_built: 2024-09-18T15:02Z +last_built: 2024-09-18T15:21Z diff --git a/docs/search.json b/docs/search.json index 6273e98..26b8c77 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -[{"path":"/articles/bayesian_regression_model.html","id":"bayesian-regression-model","dir":"Articles","previous_headings":"","what":"Bayesian Regression Model","title":"Bayesian Regression Model","text":"Bayesian Regression model used generating numerical synthetic data BW, LB OM domain. MCMCregress function MCMCpack R package MCMCpack: Markov Chain Monte Carlo R used build model.","code":""},{"path":"/articles/bayesian_regression_model.html","id":"example-for-lb-domain","dir":"Articles","previous_headings":"","what":"Example for LB Domain","title":"Bayesian Regression Model","text":"Variable full name - LBCAT (Category Lab Test) - LBTEST (Lab Test Examination Name) - LBTESTCD (Lab Test Examination Short Name) - LBSTRESN (Standardized Result Numeric Format) group Control, male rats chosen whrere value LBCAT variable CLINICAL CHEMISTRY. Mean LBTESTCD (PHOS, CA, CHOL, BIL, ALP etc) calculated group. let’s say following table represent Mean LBTESTCD. build model ALT, algorithmically chose two nearest value. case, chose PROT ALB Model Formula: MCMCpack::MCMCregress(\"ALT ~ PROT + ALB\", b0=0,B0=0.1, data= line) line table contain LBSTRESN (Standardized Result Numeric Format) LBTESTCD (Lab Test Examination Short Name) model output: NOTE: Error column removed table use calculation. used randomly chosen sample/row model output calculated synthetic ALT value specific animal. ALT = INTERCEPT + COF_PROT * PROT + COF_ALB * ALB noise added noise <- stats::rnorm(1,mean=0,sd=(standard_deviation_of_that_group_for_ALT) final_value = ALT + noise NOTE predicted value returned negative, algorithmically different sample chosen value re-calculated. try approach maximum ten times value returns negative. value returns negative ten try, absolute value negative value taken final value.","code":""},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"/articles/dm_documentation.html","id":"unique-setcd-in-original-data","dir":"Articles","previous_headings":"Original Data","what":"Unique setcd in original data","title":"Demographics (DM) domain","text":"","code":"## [1] \"01\" \"02\" \"03\" \"04\" \"05\" \"06\" \"07\" \"08\" \"09\" \"10\" \"13\" \"14\" \"15\" \"16\" \"17\" ## [16] \"18\" \"19\" \"20\" \"21\" \"22\""},{"path":"/articles/dm_documentation.html","id":"animals-taken-only-from-01-04-06-08","dir":"Articles","previous_headings":"Original Data","what":"Animals taken only from 01, 04, 06, 08","title":"Demographics (DM) domain","text":"","code":"## [1] \"01\" \"04\" \"06\" \"08\""},{"path":[]},{"path":[]},{"path":"/articles/dm_documentation.html","id":"columns-that-changed-are-in-blue-background-","dir":"Articles","previous_headings":"","what":"Columns that changed are in blue background.","title":"Demographics (DM) domain","text":"comparison original data synthetic data. Since, just took 4 set code set code availabe, lots empty value compare side side. column column comparison.","code":""},{"path":"/articles/dm_documentation.html","id":"actual-original-data-that-we-took-to-worked-on","dir":"Articles","previous_headings":"","what":"Actual original data that we took to worked on","title":"Demographics (DM) domain","text":"4 setcd animals","code":""},{"path":[]},{"path":"/articles/introduction.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Introduction","text":"Standard Exchange Nonclinical Data (SEND), developed Clinical Data Interchange Standards Consortium (CDISC), offers structured electronic format organize exchange nonclinical study data among sponsor companies, contract research organizations (CROs), health authorities. Test results, examinations, observations subjects nonclinical study represented series SEND domains. domain defined collection logically related observations common topic. Typically, domain represented single dataset. - Domain vs dataset. datasets structured flat files rows representing observations columns representing variables. can think domain just dataset table columns rows. domains like Trial Summary (TS) Trial Sets (TX) provide information trial design. Demographics (DM) provide information animal. hand, domain like Laboratory Test Results (LB) contain information laboratory test different end points. SENDsanitizer generate synthetic dataset Trial Summary (TS) Trial Sest (TX) Demographics (DM) Body Weight (BW) Laboratory Test Results (LB) Organ Measurements (OM) Microscopic Findings (MI) domain real data STUDYID column. Value (STUDYID) repalced randomly generated number synthetic data. Also, Dates replaced XXXX-XX-XX. SENDsanitizer either removes replaces (predefined text) potentially identifiable information TS, TX, DM domain. numberical results (BW, LB, OM domain), SENDsanitizer generate synthetic data using Bayesian regression model. details see Bayesian Regression Model Article MI documentation still progress","code":""},{"path":"/articles/lb_documentation.html","id":"original-data","dir":"Articles","previous_headings":"","what":"Original Data","title":"Laboratory Test (LB) domain","text":"","code":"## Warning in instance$preRenderHook(instance): It seems your data is too big for ## client-side DataTables. You may consider server-side processing: ## https://rstudio.github.io/DT/server.html"},{"path":"/articles/lb_documentation.html","id":"columns-that-changed-in-original-red-background","dir":"Articles","previous_headings":"","what":"Columns that changed in original (red background)","title":"Laboratory Test (LB) domain","text":"","code":"## Warning in instance$preRenderHook(instance): It seems your data is too big for ## client-side DataTables. You may consider server-side processing: ## https://rstudio.github.io/DT/server.html"},{"path":[]},{"path":[]},{"path":[]},{"path":"/articles/mi_documentation.html","id":"original-data","dir":"Articles","previous_headings":"","what":"Original Data","title":"Microscopic Findings (MI) domain","text":"","code":"## [1] \"STUDYID\" \"DOMAIN\" \"USUBJID\" \"MISEQ\" \"MIGRPID\" \"MIREFID\" ## [7] \"MISPID\" \"MITESTCD\" \"MITEST\" \"MIBODSYS\" \"MIORRES\" \"MISTRESC\" ## [13] \"MIRESCAT\" \"MISTAT\" \"MIREASND\" \"MINAM\" \"MISPEC\" \"MIANTREG\" ## [19] \"MISPCCND\" \"MISPCUFL\" \"MIMETHOD\" \"MILAT\" \"MIDIR\" \"MIEVAL\" ## [25] \"MISEV\" \"MIDTHREL\" \"MIDTC\" \"MIDY\""},{"path":[]},{"path":"/articles/mi_documentation.html","id":"synthetic-data","dir":"Articles","previous_headings":"","what":"Synthetic Data","title":"Microscopic Findings (MI) domain","text":"","code":"## [1] \"USUBJID\" \"STUDYID\" \"DOMAIN\" \"MISEQ\" \"MIGRPID\" \"MIREFID\" ## [7] \"MISPID\" \"MITESTCD\" \"MITEST\" \"MIBODSYS\" \"MIORRES\" \"MISTRESC\" ## [13] \"MIRESCAT\" \"MISTAT\" \"MIREASND\" \"MINAM\" \"MISPEC\" \"MIANTREG\" ## [19] \"MISPCCND\" \"MISPCUFL\" \"MIMETHOD\" \"MILAT\" \"MIDIR\" \"MIEVAL\" ## [25] \"MISEV\" \"MIDTHREL\" \"MIDTC\" \"MIDY\""},{"path":[]},{"path":"/articles/om_documentation.html","id":"original-data","dir":"Articles","previous_headings":"","what":"Original Data","title":"Organ Measurements (OM) Domain","text":"","code":"## [1] \"STUDYID\" \"DOMAIN\" \"USUBJID\" \"OMSEQ\" \"OMTESTCD\" \"OMTEST\" ## [7] \"OMORRES\" \"OMORRESU\" \"OMSTRESC\" \"OMSTRESN\" \"OMSTRESU\" \"OMSTAT\" ## [13] \"OMREASND\" \"OMSPEC\" \"OMANTREG\" \"OMSPCCND\" \"OMSPCUFL\" \"OMLAT\" ## [19] \"OMDIR\" \"OMPORTOT\" \"OMEXCLFL\" \"OMREASEX\" \"OMDTC\" \"OMDY\""},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"/articles/ts_documentation.html","id":"values-of-the-column-that-changed-","dir":"Articles","previous_headings":"","what":"Values of the column that changed.","title":"Trial Summary (TS) Domain","text":"STUDYID TSVAL column value differ original data. Blue background represents values replaced synthetic value. empty, ’s mean value removed (otherword, replaced empty string(’’)). Red text TSPARMCD just visual guide changes TSVAL.","code":""},{"path":[]},{"path":[]},{"path":[]},{"path":"/articles/tx_documentation.html","id":"unique-setcd-set-code-in-original-data","dir":"Articles","previous_headings":"Trial Sets (TX) Domains > Original Data","what":"unique setcd (set code) in original data","title":"Trial Sets (TX) Domain","text":"","code":"## [1] \"01\" \"03\" \"02\" \"04\" \"05\" \"06\" \"07\" \"08\" \"10\" \"09\" \"13\" \"15\" \"14\" \"16\" \"17\" ## [16] \"18\" \"19\" \"20\" \"22\" \"21\""},{"path":"/articles/tx_documentation.html","id":"animals-taken-only-from-01-04-06-08-set-code-setcd","dir":"Articles","previous_headings":"Trial Sets (TX) Domains > Original Data","what":"Animals taken only from 01, 04, 06, 08 set code (SETCD)","title":"Trial Sets (TX) Domain","text":"","code":"## [1] \"01\" \"04\" \"06\" \"08\""},{"path":[]},{"path":[]},{"path":"/articles/tx_documentation.html","id":"columns-that-changed-are-in-blue-background-","dir":"Articles","previous_headings":"Trial Sets (TX) Domains","what":"Columns that changed are in blue background.","title":"Trial Sets (TX) Domain","text":"comparison original data synthetic data. Since, just took 4 set code set code availabe, lots empty value compare side side.","code":""},{"path":"/articles/tx_documentation.html","id":"actual-original-data-that-we-took-to-worked-on","dir":"Articles","previous_headings":"Trial Sets (TX) Domains","what":"Actual original data that we took to worked on","title":"Trial Sets (TX) Domain","text":"4 setcd animals","code":""},{"path":[]},{"path":"/articles/tx_documentation.html","id":"column-by-column-comparison","dir":"Articles","previous_headings":"Trial Sets (TX) Domains","what":"Column by Column Comparison","title":"Trial Sets (TX) Domain","text":"red background data totally removed. green replaced skyblue.","code":""},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Yousuf Ali. Maintainer, author. Susan Butler. Author. Kevin Snyder. Author. FDA. Copyright holder.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Ali Y, Butler S, Snyder K (2024). SENDsanitizer: Generate Synthetic SEND Data. R package version 0.0.0.9000, https://github.com/phuse-org/SENDsanitizer.","code":"@Manual{, title = {SENDsanitizer: Generate Synthetic SEND Data}, author = {Yousuf Ali and Susan Butler and Kevin Snyder}, year = {2024}, note = {R package version 0.0.0.9000}, url = {https://github.com/phuse-org/SENDsanitizer}, }"},{"path":"/index.html","id":"sendsanitizer","dir":"","previous_headings":"","what":"Generate Synthetic SEND Data","title":"Generate Synthetic SEND Data","text":"SENDsanitizer R package generate synthetic data real data.","code":""},{"path":"/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Generate Synthetic SEND Data","text":"Standard Exchange Nonclinical Data (SEND), developed Clinical Data Interchange Standards Consortium (CDISC), offers structured electronic format organize exchange nonclinical study data among sponsor companies, contract research organizations (CROs), health authorities. SENDsanitizer R package designed generate synthetic SEND-formatted data modifying real SEND-formatted datasets. anonymizes data replacing sensitive information like dates specific details predefined text, ensuring identities traced. Additionally, potentially identifiable data elements removed entirely maintain privacy. numerical values, SENDsanitizer generates synthetic data using Bayesian regression model.","code":""},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Generate Synthetic SEND Data","text":"Development version can installed GitHub.","code":"# install devtools if already not installed install.packages(\"devtools\") #install toxSummary package devtools::install_github('phuse-org/SENDsanitizer')"},{"path":"/index.html","id":"to-generate-one-synthetic-study-dataset-from-one-real-study","dir":"","previous_headings":"Installation","what":"To generate one synthetic study dataset from one real study","title":"Generate Synthetic SEND Data","text":"","code":"library(SENDsanitizer) SENDsanitizer::sanitize(path='path/to/directory/of/xpt/files/of/study/', where_to_save='path/to/directory/where/generated/files/should/be/saved/')"},{"path":"/index.html","id":"to-generate-one-synthetic-study-dataset-from-multiple-real-study","dir":"","previous_headings":"Installation","what":"To generate one synthetic study dataset from multiple real study","title":"Generate Synthetic SEND Data","text":"","code":"library(SENDsanitizer) study_01 <- 'path/to/directory/of/xpt/files/of/study_01/' study_02 <- 'path/to/directory/of/xpt/files/of/study_02/' multiple_studies <- c(study_01,study_02) SENDsanitizer::sanitize(path= multiple_studies, where_to_save='path/to/directory/where/generated/files/should/be/saved/')"},{"path":"/index.html","id":"install-from-cloned-repo","dir":"","previous_headings":"Installation","what":"Install from cloned repo","title":"Generate Synthetic SEND Data","text":"Clone GitHub repo set repo working directory. Notes Example SEND Studies: recommended use multiple example studies better results. SEND format example studies must similar arms/dosing regimens (option include exclude recovery animals), SEND Version, SSTYP species. script checks values similar provide errors based conditions met.","code":"devtools::load_all(\".\") SENDsanitizer::sanitize(path='path/to/directory/of/xpt/files/of/study/', where_to_save='path/to/directory/where/generated/files/should/be/saved/')"},{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2023 Food Drug Administration/Oak Ridge Institute Science Education Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"/reference/sanitize.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to generate synthetic SEND data — sanitize","title":"Function to generate synthetic SEND data — sanitize","text":"function generate synthetic SEND data real SEND data.","code":""},{"path":"/reference/sanitize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to generate synthetic SEND data — sanitize","text":"","code":"sanitize( path, where_to_save = NULL, recovery = FALSE, number = 1, write_xpt = TRUE, setcd = NULL, test_original = FALSE )"},{"path":"/reference/sanitize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to generate synthetic SEND data — sanitize","text":"path Mandatory Path real data/xpt files located, directory contains xpt files, one multiple directory can given. where_to_save mandatory save generated xpt files. directory. recovery optional Whether recovery animal data generated. Default FALSE. FALSE, recovery animal data generated. number mandatory, default 1 many studies generate. Currently work 1 write_xpt mandatory, boolean write file . TRUE, xpt file created. Default TRUE. setcd optional, vector one control Low dose High dose, function give error. User can choose setcd use. recovery FALSE, provide c('1','2','3','4') setcd like . recovery TRUE, also add setcd recovery group c('1','2','3','4','1R','2R','3R','4R') test_original mandatory, boolean print dataset original value generated value. just comparison purpose. RStudio IDE, can see datasets visually inspect. default FALSE.","code":""},{"path":"/reference/sanitize.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to generate synthetic SEND data — sanitize","text":"","code":"if (FALSE) { # To generate one synthetic study dataset from one real study SENDsanitizer::sanitize(path='path/to/directory/of/xpt/files/of/study/', where_to_save='path/to/directory/where/generated/files/should/be/saved/') # To generate one synthetic study dataset from multiple real studies study_01 <- 'path/to/directory/of/xpt/files/of/study_01/' study_02 <- 'path/to/directory/of/xpt/files/of/study_02/' multiple_studies <- c(study_01,study_02) SENDsanitizer::sanitize(path= multiple_studies, where_to_save='path/to/directory/where/generated/files/should/be/saved/') }"},{"path":"/reference/sanitize_batch.html","id":null,"dir":"Reference","previous_headings":"","what":"Run function — sanitize_batch","title":"Run function — sanitize_batch","text":"Run function","code":""},{"path":"/reference/sanitize_batch.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Run function — sanitize_batch","text":"","code":"sanitize_batch( path, number = 1, recovery = FALSE, where_to_save = NULL, study_batch = 2 )"},{"path":"/reference/sanitize_batch.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Run function — sanitize_batch","text":"path Mandatory path real data located, directory number mandatory, default 1 many studies generate recovery optional recovery where_to_save optional directory path given, fake/generate study data save directory given path argument study_batch mandatory, fefault 2 interger value","code":""}] +[{"path":"/articles/bayesian_regression_model.html","id":"bayesian-regression-model","dir":"Articles","previous_headings":"","what":"Bayesian Regression Model","title":"Bayesian Regression Model","text":"Bayesian Regression model used generating numerical synthetic data BW, LB OM domain. MCMCregress function MCMCpack R package MCMCpack: Markov Chain Monte Carlo R used build model.","code":""},{"path":"/articles/bayesian_regression_model.html","id":"example-for-lb-domain","dir":"Articles","previous_headings":"","what":"Example for LB Domain","title":"Bayesian Regression Model","text":"Variable full name - LBCAT (Category Lab Test) - LBTEST (Lab Test Examination Name) - LBTESTCD (Lab Test Examination Short Name) - LBSTRESN (Standardized Result Numeric Format) group Control, male rats chosen whrere value LBCAT variable CLINICAL CHEMISTRY. Mean LBTESTCD (PHOS, CA, CHOL, BIL, ALP etc) calculated group. let’s say following table represent Mean LBTESTCD. build model ALT, algorithmically chose two nearest value. case, chose PROT ALB Model Formula: MCMCpack::MCMCregress(\"ALT ~ PROT + ALB\", b0=0,B0=0.1, data= line) line table contain LBSTRESN (Standardized Result Numeric Format) LBTESTCD (Lab Test Examination Short Name) model output: NOTE: Error column removed table use calculation. used randomly chosen sample/row model output calculated synthetic ALT value specific animal. ALT = INTERCEPT + COF_PROT * PROT + COF_ALB * ALB noise added noise <- stats::rnorm(1,mean=0,sd=(standard_deviation_of_that_group_for_ALT) final_value = ALT + noise NOTE predicted value returned negative, algorithmically different sample chosen value re-calculated. try approach maximum ten times value returns negative. value returns negative ten try, absolute value negative value taken final value.","code":""},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"/articles/dm_documentation.html","id":"unique-setcd-in-original-data","dir":"Articles","previous_headings":"Original Data","what":"Unique setcd in original data","title":"Demographics (DM) domain","text":"","code":"## [1] \"01\" \"02\" \"03\" \"04\" \"05\" \"06\" \"07\" \"08\" \"09\" \"10\" \"13\" \"14\" \"15\" \"16\" \"17\" ## [16] \"18\" \"19\" \"20\" \"21\" \"22\""},{"path":"/articles/dm_documentation.html","id":"animals-taken-only-from-01-04-06-08","dir":"Articles","previous_headings":"Original Data","what":"Animals taken only from 01, 04, 06, 08","title":"Demographics (DM) domain","text":"","code":"## [1] \"01\" \"04\" \"06\" \"08\""},{"path":[]},{"path":[]},{"path":"/articles/dm_documentation.html","id":"columns-that-changed-are-in-blue-background-","dir":"Articles","previous_headings":"","what":"Columns that changed are in blue background.","title":"Demographics (DM) domain","text":"comparison original data synthetic data. Since, just took 4 set code set code availabe, lots empty value compare side side. column column comparison.","code":""},{"path":"/articles/dm_documentation.html","id":"actual-original-data-that-we-took-to-work-on","dir":"Articles","previous_headings":"","what":"Actual original data that we took to work on","title":"Demographics (DM) domain","text":"4 setcd animals","code":""},{"path":[]},{"path":"/articles/introduction.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Introduction","text":"Standard Exchange Nonclinical Data (SEND), developed Clinical Data Interchange Standards Consortium (CDISC), offers structured electronic format organize exchange nonclinical study data among sponsor companies, contract research organizations (CROs), health authorities. Test results, examinations, observations subjects nonclinical study represented series SEND domains. domain defined collection logically related observations common topic. Typically, domain represented single dataset. - Domain vs dataset. datasets structured flat files rows representing observations columns representing variables. can think domain just dataset table columns rows. domains like Trial Summary (TS) Trial Sets (TX) provide information trial design. Demographics (DM) provide information animal. hand, domain like Laboratory Test Results (LB) contain information laboratory test different end points. SENDsanitizer generate synthetic dataset Trial Summary (TS) Trial Sest (TX) Demographics (DM) Body Weight (BW) Laboratory Test Results (LB) Organ Measurements (OM) Microscopic Findings (MI) domain real data STUDYID column. Value (STUDYID) repalced randomly generated number synthetic data. Also, Dates replaced XXXX-XX-XX. SENDsanitizer either removes replaces (predefined text) potentially identifiable information TS, TX, DM domain. numberical results (BW, LB, OM domain), SENDsanitizer generate synthetic data using Bayesian regression model. details see Bayesian Regression Model Article MI documentation still progress","code":""},{"path":"/articles/lb_documentation.html","id":"original-data","dir":"Articles","previous_headings":"","what":"Original Data","title":"Laboratory Test (LB) domain","text":"","code":"## Warning in instance$preRenderHook(instance): It seems your data is too big for ## client-side DataTables. You may consider server-side processing: ## https://rstudio.github.io/DT/server.html"},{"path":"/articles/lb_documentation.html","id":"columns-that-changed-in-original-red-background","dir":"Articles","previous_headings":"","what":"Columns that changed in original (red background)","title":"Laboratory Test (LB) domain","text":"","code":"## Warning in instance$preRenderHook(instance): It seems your data is too big for ## client-side DataTables. You may consider server-side processing: ## https://rstudio.github.io/DT/server.html"},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"/articles/om_documentation.html","id":"original-data","dir":"Articles","previous_headings":"","what":"Original Data","title":"Organ Measurements (OM) Domain","text":"","code":"## [1] \"STUDYID\" \"DOMAIN\" \"USUBJID\" \"OMSEQ\" \"OMTESTCD\" \"OMTEST\" ## [7] \"OMORRES\" \"OMORRESU\" \"OMSTRESC\" \"OMSTRESN\" \"OMSTRESU\" \"OMSTAT\" ## [13] \"OMREASND\" \"OMSPEC\" \"OMANTREG\" \"OMSPCCND\" \"OMSPCUFL\" \"OMLAT\" ## [19] \"OMDIR\" \"OMPORTOT\" \"OMEXCLFL\" \"OMREASEX\" \"OMDTC\" \"OMDY\""},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"/articles/ts_documentation.html","id":"values-of-the-column-that-changed-","dir":"Articles","previous_headings":"","what":"Values of the column that changed.","title":"Trial Summary (TS) Domain","text":"STUDYID TSVAL column value differ original data. Blue background represents values replaced synthetic value. empty, ’s mean value removed (otherword, replaced empty string(’’)). Red text TSPARMCD just visual guide changes TSVAL.","code":""},{"path":[]},{"path":[]},{"path":[]},{"path":"/articles/tx_documentation.html","id":"unique-setcd-set-code-in-original-data","dir":"Articles","previous_headings":"Trial Sets (TX) Domains > Original Data","what":"unique setcd (set code) in original data","title":"Trial Sets (TX) Domain","text":"","code":"## [1] \"01\" \"03\" \"02\" \"04\" \"05\" \"06\" \"07\" \"08\" \"10\" \"09\" \"13\" \"15\" \"14\" \"16\" \"17\" ## [16] \"18\" \"19\" \"20\" \"22\" \"21\""},{"path":"/articles/tx_documentation.html","id":"animals-taken-only-from-01-04-06-08-set-code-setcd","dir":"Articles","previous_headings":"Trial Sets (TX) Domains > Original Data","what":"Animals taken only from 01, 04, 06, 08 set code (SETCD)","title":"Trial Sets (TX) Domain","text":"","code":"## [1] \"01\" \"04\" \"06\" \"08\""},{"path":[]},{"path":[]},{"path":"/articles/tx_documentation.html","id":"columns-that-changed-are-in-blue-background-","dir":"Articles","previous_headings":"Trial Sets (TX) Domains","what":"Columns that changed are in blue background.","title":"Trial Sets (TX) Domain","text":"comparison original data synthetic data. Since, just took 4 set code set code availabe, lots empty value compare side side.","code":""},{"path":"/articles/tx_documentation.html","id":"actual-original-data-that-we-took-to-work-on","dir":"Articles","previous_headings":"Trial Sets (TX) Domains","what":"Actual original data that we took to work on","title":"Trial Sets (TX) Domain","text":"4 setcd animals","code":""},{"path":[]},{"path":"/articles/tx_documentation.html","id":"column-by-column-comparison","dir":"Articles","previous_headings":"Trial Sets (TX) Domains","what":"Column by Column Comparison","title":"Trial Sets (TX) Domain","text":"red background data totally removed. green replaced skyblue.","code":""},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Yousuf Ali. Maintainer, author. Susan Butler. Author. Kevin Snyder. Author. FDA. Copyright holder.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Ali Y, Butler S, Snyder K (2024). SENDsanitizer: Generate Synthetic SEND Data. R package version 0.0.0.9000, https://github.com/phuse-org/SENDsanitizer.","code":"@Manual{, title = {SENDsanitizer: Generate Synthetic SEND Data}, author = {Yousuf Ali and Susan Butler and Kevin Snyder}, year = {2024}, note = {R package version 0.0.0.9000}, url = {https://github.com/phuse-org/SENDsanitizer}, }"},{"path":"/index.html","id":"sendsanitizer","dir":"","previous_headings":"","what":"Generate Synthetic SEND Data","title":"Generate Synthetic SEND Data","text":"SENDsanitizer R package generate synthetic data real data.","code":""},{"path":"/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Generate Synthetic SEND Data","text":"Standard Exchange Nonclinical Data (SEND), developed Clinical Data Interchange Standards Consortium (CDISC), offers structured electronic format organize exchange nonclinical study data among sponsor companies, contract research organizations (CROs), health authorities. SENDsanitizer R package designed generate synthetic SEND-formatted data modifying real SEND-formatted datasets. anonymizes data replacing sensitive information like dates specific details predefined text, ensuring identities traced. Additionally, potentially identifiable data elements removed entirely maintain privacy. numerical values, SENDsanitizer generates synthetic data using Bayesian regression model.","code":""},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Generate Synthetic SEND Data","text":"Development version can installed GitHub.","code":"# install devtools if already not installed install.packages(\"devtools\") #install toxSummary package devtools::install_github('phuse-org/SENDsanitizer')"},{"path":"/index.html","id":"to-generate-one-synthetic-study-dataset-from-one-real-study","dir":"","previous_headings":"Installation","what":"To generate one synthetic study dataset from one real study","title":"Generate Synthetic SEND Data","text":"","code":"library(SENDsanitizer) SENDsanitizer::sanitize(path='path/to/directory/of/xpt/files/of/study/', where_to_save='path/to/directory/where/generated/files/should/be/saved/')"},{"path":"/index.html","id":"to-generate-one-synthetic-study-dataset-from-multiple-real-study","dir":"","previous_headings":"Installation","what":"To generate one synthetic study dataset from multiple real study","title":"Generate Synthetic SEND Data","text":"","code":"library(SENDsanitizer) study_01 <- 'path/to/directory/of/xpt/files/of/study_01/' study_02 <- 'path/to/directory/of/xpt/files/of/study_02/' multiple_studies <- c(study_01,study_02) SENDsanitizer::sanitize(path= multiple_studies, where_to_save='path/to/directory/where/generated/files/should/be/saved/')"},{"path":"/index.html","id":"install-from-cloned-repo","dir":"","previous_headings":"Installation","what":"Install from cloned repo","title":"Generate Synthetic SEND Data","text":"Clone GitHub repo set repo working directory. Notes Example SEND Studies: recommended use multiple example studies better results. SEND format example studies must similar arms/dosing regimens (option include exclude recovery animals), SEND Version, SSTYP species. script checks values similar provide errors based conditions met.","code":"devtools::load_all(\".\") SENDsanitizer::sanitize(path='path/to/directory/of/xpt/files/of/study/', where_to_save='path/to/directory/where/generated/files/should/be/saved/')"},{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2023 Food Drug Administration/Oak Ridge Institute Science Education Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"/reference/sanitize.html","id":null,"dir":"Reference","previous_headings":"","what":"Function to generate synthetic SEND data — sanitize","title":"Function to generate synthetic SEND data — sanitize","text":"function generate synthetic SEND data real SEND data.","code":""},{"path":"/reference/sanitize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Function to generate synthetic SEND data — sanitize","text":"","code":"sanitize( path, where_to_save = NULL, recovery = FALSE, number = 1, write_xpt = TRUE, setcd = NULL, test_original = FALSE )"},{"path":"/reference/sanitize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Function to generate synthetic SEND data — sanitize","text":"path Mandatory Path real data/xpt files located, directory contains xpt files, one multiple directory can given. where_to_save mandatory save generated xpt files. directory. recovery optional Whether recovery animal data generated. Default FALSE. FALSE, recovery animal data generated. number mandatory, default 1 many studies generate. Currently work 1 write_xpt mandatory, boolean write file . TRUE, xpt file created. Default TRUE. setcd optional, vector one control Low dose High dose, function give error. User can choose setcd use. recovery FALSE, provide c('1','2','3','4') setcd like . recovery TRUE, also add setcd recovery group c('1','2','3','4','1R','2R','3R','4R') test_original mandatory, boolean print dataset original value generated value. just comparison purpose. RStudio IDE, can see datasets visually inspect. default FALSE.","code":""},{"path":"/reference/sanitize.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Function to generate synthetic SEND data — sanitize","text":"","code":"if (FALSE) { # To generate one synthetic study dataset from one real study SENDsanitizer::sanitize(path='path/to/directory/of/xpt/files/of/study/', where_to_save='path/to/directory/where/generated/files/should/be/saved/') # To generate one synthetic study dataset from multiple real studies study_01 <- 'path/to/directory/of/xpt/files/of/study_01/' study_02 <- 'path/to/directory/of/xpt/files/of/study_02/' multiple_studies <- c(study_01,study_02) SENDsanitizer::sanitize(path= multiple_studies, where_to_save='path/to/directory/where/generated/files/should/be/saved/') }"},{"path":"/reference/sanitize_batch.html","id":null,"dir":"Reference","previous_headings":"","what":"Run function — sanitize_batch","title":"Run function — sanitize_batch","text":"Run function","code":""},{"path":"/reference/sanitize_batch.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Run function — sanitize_batch","text":"","code":"sanitize_batch( path, number = 1, recovery = FALSE, where_to_save = NULL, study_batch = 2 )"},{"path":"/reference/sanitize_batch.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Run function — sanitize_batch","text":"path Mandatory path real data located, directory number mandatory, default 1 many studies generate recovery optional recovery where_to_save optional directory path given, fake/generate study data save directory given path argument study_batch mandatory, fefault 2 interger value","code":""}] diff --git a/vignettes/articles/dm_documentation.Rmd b/vignettes/articles/dm_documentation.Rmd index d4da43a..650abd8 100644 --- a/vignettes/articles/dm_documentation.Rmd +++ b/vignettes/articles/dm_documentation.Rmd @@ -113,7 +113,7 @@ DT::datatable(dm_merge_full,options = list(pageLength=20)) |> backgroundColor = 'skyblue') ``` -## Actual original data that we took to worked on +## Actual original data that we took to work on only those 4 setcd animals ```{r} diff --git a/vignettes/articles/mi_documentation.Rmd b/vignettes/articles/mi_documentation.Rmd index 228ea57..3ed8ea7 100644 --- a/vignettes/articles/mi_documentation.Rmd +++ b/vignettes/articles/mi_documentation.Rmd @@ -37,7 +37,6 @@ mi_org <- haven::read_xpt(fs::path(path,file_org)) #| echo=FALSE mi_org <- as.data.frame(mi_org) DT::datatable(mi_org,options = list(pageLength = 10)) -colnames(mi_org) ``` ## Columns that changed in original (red background) @@ -64,7 +63,6 @@ mi_fake <- haven::read_xpt(fs::path(path,file_fake)) #| echo=FALSE mi_fake <- as.data.frame(mi_fake) data.table::setDT(mi_fake) -colnames(mi_fake) data.table::setcolorder(mi_fake,'USUBJID', after = 'DOMAIN') DT::datatable(mi_fake,options = list(pageLength = 10)) ``` diff --git a/vignettes/articles/tx_documentation.Rmd b/vignettes/articles/tx_documentation.Rmd index bfba269..7cacdf6 100644 --- a/vignettes/articles/tx_documentation.Rmd +++ b/vignettes/articles/tx_documentation.Rmd @@ -77,7 +77,8 @@ DT::datatable(tx_fake,options = list(pageLength = -1)) #| echo=FALSE DT::datatable(tx_fake,options = list(pageLength= -1)) |> DT::formatStyle(colnames(tx_fake), valueColumns = 'SETCD', - backgroundColor = styleEqual(c('01','04','06','08'),c('#a8d5ba','#fbcccf','#d2deeb','#d3d8c4'))) + backgroundColor = styleEqual(c('01','04','06','08'), + c('#a8d5ba','#fbcccf','#d2deeb','#d3d8c4'))) ``` ```{r} @@ -115,7 +116,7 @@ DT::datatable(tx_merge_full,options = list(pageLength=20)) |> ## ) ``` -## Actual original data that we took to worked on +## Actual original data that we took to work on only those 4 setcd animals ```{r}