-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.html
More file actions
223 lines (220 loc) · 11 KB
/
Copy pathREADME.html
File metadata and controls
223 lines (220 loc) · 11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<meta name="generator" content="litedown 0.8">
<title></title>
<style type="text/css">
body {
font-family: sans-serif;
max-width: 800px;
margin: auto;
padding: 1em;
line-height: 1.5;
print-color-adjust: exact;
-webkit-print-color-adjust: exact;
}
body, .abstract, code, .footnotes, footer, #refs, .caption { font-size: .9em; }
li li { font-size: .95em; }
ul:has(li > input[type="checkbox"]) { list-style: none; padding-left: 1em; }
*, :before, :after { box-sizing: border-box; }
a { color: steelblue; }
pre, img { max-width: 100%; }
pre { white-space: pre-wrap; word-break: break-word; }
pre code { display: block; padding: 1em; overflow-x: auto; }
code { font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace; }
:not(pre, th) > code, code[class], div > .caption { background: #f8f8f8; }
pre > code:is(:not([class]), .language-plain, .language-none, .plain), .box, .figure, .table { background: inherit; border: 1px solid #eee; }
pre > code {
&.message { border-color: #9eeaf9; }
&.warning { background: #fff3cd; border-color: #fff3cd; }
&.error { background: #f8d7da; border-color: #f8d7da; }
}
.fenced-chunk { border-left: 1px solid #666; }
.code-fence {
opacity: .4;
border: 1px dashed #666;
border-left: 2px solid;
&:hover { opacity: inherit; }
}
.box, .figure, .table, table { margin: 1em auto; }
div > .caption { padding: 1px 1em; }
.figure { p:has(img, svg), pre:has(svg) { text-align: center; } }
.flex-col { display: flex; justify-content: space-between; }
table {
&:only-child:not(.table > *) { margin: auto; }
th, td { padding: 5px; font-variant-numeric: tabular-nums; }
thead, tfoot, tr:nth-child(even) { background: whitesmoke; }
thead th { border-bottom: 1px solid #ddd; }
&:not(.datatable-table) {
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
}
blockquote {
color: #666;
margin: 0;
padding: 1px 1em;
border-left: .5em solid #eee;
}
hr, .footnotes::before { border: 1px dashed #ddd; }
.frontmatter { text-align: center; }
#TOC {
a { text-decoration: none; }
ul { list-style: none; padding-left: 1em; }
& > ul { padding: 0; }
ul ul { border-left: 1px solid lightsteelblue; }
}
.body h2 { border-bottom: 1px solid #666; }
.body .appendix, .appendix ~ h2 { border-bottom-style: dashed; }
.main-number::after { content: "."; }
span[class^="ref-number-"] { font-weight: bold; }
.ref-number-fig::after, .ref-number-tab::after { content: ":"; }
.cross-ref-chp::before { content: "Chapter "; }
.cross-ref-sec::before { content: "Section "; }
.cross-ref-fig::before, .ref-number-fig::before { content: "Figure "; }
.cross-ref-tab::before, .ref-number-tab::before { content: "Table "; }
.cross-ref-eqn::before, .MathJax_ref:has(mjx-mtext > mjx-c + mjx-c)::before { content: "Equation "; }
.abstract, #refs {
&::before { display: block; margin: 1em auto; font-weight: bold; }
}
.abstract::before { content: "Abstract"; text-align: center; }
#refs::before { content: "Bibliography"; font-size: 1.5em; }
.ref-paren-open::before { content: "("; }
.ref-paren-close::after { content: ")"; }
.ref-semicolon::after { content: "; "; }
.ref-and::after { content: " and "; }
.ref-et-al::after { content: " et al."; font-style: italic; }
.footnote-ref a {
&::before { content: "["; }
&::after { content: "]"; }
}
section.footnotes {
margin-top: 2em;
&::before { content: ""; display: block; max-width: 20em; }
}
.fade {
background: repeating-linear-gradient(135deg, white, white 30px, #ddd 32px, #ddd 32px);
opacity: 0.6;
}
@media print {
body { max-width: 100%; }
tr, img { break-inside: avoid; }
}
@media only screen and (min-width: 992px) {
body:not(.pagesjs) pre:has(.line-numbers):not(:hover) { white-space: pre; }
}
</style>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xiee/utils@1.14.24/css/prism-xcode.min.css">
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-core.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
</head>
<body>
<div class="frontmatter">
</div>
<div class="body">
<h2 id="sec:code-and-data-for-information-content-informed-kendall-tau-correlation-methodology-interpreting-missing-values-in-metabolomics-as-potentially-useful-information">Code and Data for Information-Content-Informed Kendall-tau Correlation Methodology: Interpreting Missing Values in Metabolomics as Potentially Useful Information</h2>
<p><a href = "https://doi.org/10.5281/zenodo.18625643"><img src="https://zenodo.org/badge/DOI/10.5281/zenodo.18625643.svg" alt="Zenodo Repository"></a></p>
<p><a href="https://doi.org/10.5281/zenodo.18625643"><img src="https://zenodo.org/badge/DOI/10.5281/zenodo.18625643.svg" alt="DOI" /></a></p>
<p>This repository contains the code and partial data for the manuscript:</p>
<p><strong>Information-Content-Informed Kendall-tau Correlation Methodology: Interpreting Missing Values in Metabolomics as Potentially Useful Information</strong>, R.M. Flight, P.S. Bhatt, and H.N.B. Moseley.</p>
<h2 id="sec:manuscripts">Manuscripts</h2>
<ul>
<li><a href="https://moseleybioinformaticslab.github.io/manuscript.ICIKendallTauMetabolomics/ici_kt_manuscript.html">Main Manuscript - HTML</a></li>
<li><a href="https://moseleybioinformaticslab.github.io/manuscript.ICIKendallTauMetabolomics/ici_kt_manuscript_mdpi.docx">Main Manuscript - Word</a></li>
<li><a href="https://moseleybioinformaticslab.github.io/manuscript.ICIKendallTauMetabolomics/supplemental_materials.html">Supplemental Materials - HTML</a></li>
<li><a href="https://moseleybioinformaticslab.github.io/manuscript.ICIKendallTauMetabolomics/supplemental_materials.docx">Supplemental Materials - Word</a></li>
</ul>
<h2 id="sec:grant-support">Grant Support</h2>
<p>This work was supported by the following grants:</p>
<ul>
<li>NSF 2020026 (PI Moseley);</li>
<li>NIH 1R03LM014928-01 (PI Moseley);</li>
<li>NSF ACI1626364 (Griffioen, Moseley);</li>
<li>P30 CA177558 (PI Evers) via the Markey Cancer Center Biostatistics and Bioinformatics Shared Resource Facility (MCC BB-SRF);</li>
<li>P20 GM121327 (PD St. Clair);</li>
<li>P42 ES007380 (PI Pennell) via the Data Management and Analysis Core (DMAC).</li>
</ul>
<h2 id="sec:license">License</h2>
<p>The contents of this work are licensed under a CC-BY license.
If you use any content, you must give attribution to this original work.</p>
<h2 id="sec:r-packages-needed">R Packages Needed</h2>
<p>The repository used R 4.4.1, and {renv} 1.0.10
For all of the other packages needed, see the file <code>renv.lock</code>.</p>
<p>To setup to be able to rerun everything here, you can clone the repo from <a href="https://github.com/MoseleyBioinformaticsLab/manuscript.ICIKendallTauMetabolomics">github</a> or download it from <a href="https://doi.org/10.5281/zenodo.18625643">Zenodo</a>:</p>
<pre><code># clone from github
git clone https://github.com/MoseleyBioinformaticsLab/manuscript.ICIKendallTauMetabolomics.git
</code></pre>
<pre><code># download from zenodo
wget 'https://zenodo.org/records/19112314/files/MoseleyBioinformaticsLab/manuscript.ICIKendallTauMetabolomics-v_0.3.zip?download=1' --output-document=manuscript.ICIKendallTauMetabolomics.zip
unzip manuscript.ICIKendallTauMetabolomics.zip
</code></pre>
<pre><code>cd manuscript.ICIKendallTauMetabolomics
</code></pre>
<p>Start an R session, and make sure <code>renv</code> is installed.</p>
<pre><code class="language-r"># make sure renv is installed
install.packages("renv")
# restore the packages
renv::restore()
</code></pre>
<p>The {ICIKendallTau} package on GitHub you want to use is the 1.2.16 release.
This is available on zenodo as well.</p>
<pre><code class="language-r">renv::install("moseleybioinformaticslab/ICIKendallTau@v_1.2.16")
</code></pre>
<p>Or:</p>
<pre><code>wget 'https://zenodo.org/records/18675151/files/MoseleyBioinformaticsLab/ICIKendallTau-v_1.2.16.zip?download=1' --output-document=ICIKendallTau-v_1.2.16.zip
unzip ICIKendallTau-v_1.2.16.zip
cd ICIKendallTau-v_1.2.16
</code></pre>
<p>Then start an R session from within the directory, and install it.</p>
<pre><code class="language-r">remotes::install_local()
</code></pre>
<h2 id="sec:obtaining-targets-cache-and-supporting-datasets">Obtaining targets Cache and Supporting Datasets</h2>
<p>To rerun the analyses, you will need at least the Metabolomics Workbench (MW) datasets and the compound annotations, all hosted on Zenodo.
We also include the instructions to download the original <code>targets</code> cache so you can avoid recomputing everything if you like.</p>
<pre><code># required
mkdir mwtab
cd mwtab
wget https://zenodo.org/records/19115655/files/mwbench.tgz?download=1 --output-document=mwbench.tgz
tar -xzf mwbench.tgz
cd ..
# required
mkdir predicted_annotations
cd predicted_annotations
wget https://zenodo.org/records/19115655/files/predicted_annotations.tgz?download=1 --output-document=predicted_annotations.tgz
tar -xzf predicted_annotations.tgz
cd ..
# optional, but suggested
# Note this is 26GB, it will take some time to download!
cd manuscript.ICIKendallTauMetabolomics
wget https://zenodo.org/records/19115655/files/icikt_metabolomics_targets.tgz?download=1 --output-document=icikt_metabolomics_targets.tgz
tar -xzf icikt_metabolomics_targets.tgz
cd ..
</code></pre>
<p>From within the manuscript project, you will want to link to the MW datasets and the annotations.</p>
<pre><code>cd manuscript.ICIKendallTauMetabolomics
ln -s mwtab path/to/mwtab
ln -s predicted_annotations path/to/predicted_annotations/annotations
</code></pre>
<p>Now you can start R, and hopefully nothing is outdated.</p>
<pre><code class="language-r">targets::tar_source(c("R", "./packages.R"))
tar_outdated()
</code></pre>
<h2 id="sec:rerunning">Rerunning</h2>
<p>This project consists of 91,669 targets for the analysis.
This is because I really wasn’t thinking when I designed it, and didn’t think to group the MW datasets into batches to be processed.
It made my life easier, but that is a <strong>lot</strong> of things, even though 61,637 are <code>NULL</code> objects that still have to be checked whenever you do anything involving the workflow beyond loading things.</p>
<h3 id="sec:manuscript-and-supplemental-materials">Manuscript and Supplemental Materials</h3>
<p>This is why the manuscript and supplemental materials <strong>are not</strong> actual targets of the workflow.
If you just want to check them, then you can do:</p>
<pre><code class="language-r">rmarkdown::render("docs/supplemental_materials.Rmd", output_format = "rmarkdown::html_document", knit_root_dir = getwd())
rmarkdown::render("docs/ici_kt_manuscript.Rmd", output_format = "rmarkdown::html_document", knit_root_dir = getwd())
</code></pre>
<h3 id="sec:everything-else">Everything Else</h3>
<p>You might want to uncomment at the top of the <code>_targets.R</code> file to use some multiprocessing, and watch your RAM useage.</p>
<pre><code class="language-r">targets::tar_make()
</code></pre>
</div>
</body>
</html>