-
Notifications
You must be signed in to change notification settings - Fork 1
/
doc_developers.html
240 lines (214 loc) · 14.3 KB
/
doc_developers.html
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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="Michael Doshi">
<title>ProteoWizard: Documentation</title>
<!-- Bootstrap Core CSS -->
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
<!-- Theme CSS -->
<link href="css/main.css" rel="stylesheet">
<link href="css/template.css" rel="stylesheet">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-54926454-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-54926454-1');
</script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-custom navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
Menu <i class="fa fa-bars"></i>
</button>
<a href="index.html" class="navbar-left page-scroll">
<img src="img/proteowizard-logo.jpg">
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse navbar-right navbar-main-collapse">
<ul class="nav navbar-nav">
<li>
<a href="projects.html">Projects</a>
</li>
<li>
<a href="download.html">Download</a>
</li>
<li>
<a href="publications.html">Publications</a>
</li>
<li>
<a href="team.html">Team</a>
</li>
<li>
<a class="dropdown-toggle" data-toggle="dropdown">Documentation<span class="caret"></span></button></a>
<ul class="dropdown-menu dropdown-menu-custom">
<li><a href="doc_users.html">Users</a></li>
<li><a href="doc_developers.html">Developers</a></li>
<!-- TODO: Add Tutorials page -->
<!--<li><a href="tutorials.html">Tutorials</a></li>-->
<li><a href="faq.html">FAQ</a></li>
</ul>
</li>
<li>
<a href="support.html">Support</a>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<!-- Info Section -->
<section id="info" class="container content-section">
<div class="row">
<div class="col-xs-10 col-xs-offset-1">
<h1>Documentation for Developers</h1>
<!--<h2 id="subheading">A developer's guide to ProteoWizard</h2>-->
<p>This page offers an overview of the ProteoWizard project. It provides a layout of the files included in the ProteoWizard download and an outline of the various ProteoWizard projects. Please visit our <a href="faq.html">FAQ</a> and <a href="support.html">Support</a> pages if you have any questions.</p>
<p>For full code documentation, please visit the <a href="http://proteowizard.sourceforge.net/dox/index.html">Source Code</a> pages.</p>
<h2>Getting Started</h2>
<p>Below are a couple of documents you might find useful when starting to develop with ProteoWizard.</p>
<ul class="list-unstyled">
<li>
<ul>
<li>
<a href="docs/pwiz-checkout-quickbuild-msvs-run.pdf">ProteoWizard Build Run Direct from MSVS</a>
</li>
<li>
<a href="docs/pwiz-checkout-quickbuild-run.pdf">ProteoWizard Checkout and Quickbuild run</a>
</li>
<li>
<a href="docs/pwiz-build-direct-from-msvs.pdf">ProteoWizard Checkout Quickbuild MSVS run</a>
</li>
</ul>
</li>
</ul>
<h2>Directory Layout</h2>
<ul class="list-unstyled">
<li>
[root]
<ul>
<li>build [everything is built here]</li>
<li>doc [documentation]</li>
<li>example_data [some example data files]</li>
<li>libraries [3rd party library archives]</li>
<li>pwiz [main source tree -- all Apache licensed]</li>
<li>pwiz_aux [non-Apache licensed contributed code]</li>
<li>pwiz_tools [source code for tools]</li>
</ul>
</li>
</ul>
<h2>Project Layout</h2>
<p>Here is an outline of the various ProteoWizard projects, organized by dependency level. There may be dependencies within a given level, but there should never be any up-level dependencies. Unless otherwise noted, all projects are cross-platform. Each project's source files are contained in the subdirectory of pwiz of the same name.</p>
<ul class="list-unstyled">
<li>
level 0 (pwiz/utility)
<ul>
<li>math: Mathematics classes (linear algebra, statistics, special mathematical functions)</li>
<li>misc: Miscellaneous standalone utility classes (Base64, SHA-1, 2D drawing, unit testing)</li>
<li>minimxml: XML parsing and writing</li>
<li>proteome: Chemical formula, peptide, and isotope calculations.</li>
<li>vendor_api: Vendor-specific API wrappers (Windows only)</li>
</ul>
</li>
<li>
level 1 (pwiz/data)
<ul>
<li>msdata: Mass spec file format abstraction layer.</li>
<li>misc: Library containing classes for handling FT transient data, complex frequency data, MS1 peak data.</li>
<li>vendor_readers: Vendor-specific Reader implementations</li>
</ul>
</li>
<li>
level 2 (pwiz/analysis)
<ul>
<li>chromatogram_processing: Chromatogram analysis</li>
<li>frequency: Library of routines for frequency-domain peak detection.</li>
<li>passive: Event-driven analysis modules</li>
<li>peakdetect: General interface for peak detection</li>
<li>peptideid: Modules handling peptide id info abstraction and parsing</li>
<li>spectrum_processing: Spectrum analysis</li>
</ul>
</li>
<li>
level 3 (pwiz_tools)
<ul>
<li>commandline: Command-line tools</li>
<li>SeeMS: Graphic data visualization program (Windows only)</li>
</ul>
</li>
</ul>
<h2>Code Conventions</h2>
<p>A code module consists of an interface (Foo.hpp), implementation (Foo.cpp), and a unit test (FooTest.cpp). The interface should be self-documenting, with optional inclusion of comment markup for automated documentation tools (e.g. Doxygen). The unit test serves two purposes:</p>
<ul class="list-unstyled">
<li>
<ol>
<li>To exercise the module's interface and validate its behavior independent of other modules.</li>
<li>To document the intended usage of the code module.</li>
</ol>
</li>
</ul>
<p>Clients of a code module should never need to look at the implementation for questions about usage.</p>
</div>
</div>
</section>
<!-- Footer -->
<footer>
<div class="container text-center">
<div class="row">
<div class="col-xs-8 col-xs-offset-2 col-sm-10 col-sm-offset-1">
<div class="row">
<div class="col-sm-4">
<h3>Contribute</h3>
<p>Pull requests to our <a href="https://github.com/ProteoWizard/pwiz">GitHub repository</a> are always welcome! To get involved more formally, please email <a href="mailto:[email protected]" target="_top"><b>[email protected]</b></a></p>
</div>
<div class="col-sm-4">
<h3>Contact Us</h3>
<p>3155 Porter Drive<br>Palo Alto, CA 94304</p>
</div>
<div class="col-sm-4">
<h3>Donate</h3>
<p>If you would like to support the efforts of ProteoWizard, you can donate <a href="http://giving.stanford.edu/goto/mallickgift" target="_blank"><b>HERE</b></a>. Thank you so much for your support!</p>
</div>
</div>
</div>
</div>
<p>Copyright ©2016 ProteoWizard. All rights reserved.</p>
</div>
</footer>
<!-- Banner -->
<div id="sourceforge-banner">
<a href="http://sourceforge.net"><img src="https://sflogo.sourceforge.net/sflogo.php?group_id=216483&type=11" width="120" height="30" border="0" alt="Website hosted by SourceForge.net. Fast, secure and Free Open Source software downloads" /></a>
<a href="https://github.com/ProteoWizard/pwiz">
<svg height="28" viewBox="0 0 10 16" version="1.1" width="40" aria-hidden="true" style="vertical-align: middle;"><path fill-rule="evenodd" fill="white" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg>
<svg height="30" viewBox="25 0 1 15" version="1.1" width="107" aria-hidden="true" style="vertical-align: middle;"><path fill-rule="evenodd" fill="white" d="M18.53 12.03h-.02c.009 0 .015.01.024.011h.006l-.01-.01zm.004.011c-.093.001-.327.05-.574.05-.78 0-1.05-.36-1.05-.83V8.13h1.59c.09 0 .16-.08.16-.19v-1.7c0-.09-.08-.17-.16-.17h-1.59V3.96c0-.08-.05-.13-.14-.13h-2.16c-.09 0-.14.05-.14.13v2.17s-1.09.27-1.16.28c-.08.02-.13.09-.13.17v1.36c0 .11.08.19.17.19h1.11v3.28c0 2.44 1.7 2.69 2.86 2.69.53 0 1.17-.17 1.27-.22.06-.02.09-.09.09-.16v-1.5a.177.177 0 0 0-.146-.18zm23.696-2.2c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25zm2.43-.16c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88zm-8.72-3.61H33.84c-.11 0-.17.08-.17.19v5.44s-.55.39-1.3.39-.97-.34-.97-1.09V6.25c0-.09-.08-.17-.17-.17h-2.14c-.09 0-.17.08-.17.17v5.11c0 2.2 1.23 2.75 2.92 2.75 1.39 0 2.52-.77 2.52-.77s.05.39.08.45c.02.05.09.09.16.09h1.34c.11 0 .17-.08.17-.17l.02-7.47c0-.09-.08-.17-.19-.17zm-23.7-.01h-2.13c-.09 0-.17.09-.17.2v7.34c0 .2.13.27.3.27h1.92c.2 0 .25-.09.25-.27V6.23c0-.09-.08-.17-.17-.17zm-1.05-3.38c-.77 0-1.38.61-1.38 1.38 0 .77.61 1.38 1.38 1.38.75 0 1.36-.61 1.36-1.38 0-.77-.61-1.38-1.36-1.38zm16.49-.25h-2.11c-.09 0-.17.08-.17.17v4.09h-3.31V2.6c0-.09-.08-.17-.17-.17h-2.13c-.09 0-.17.08-.17.17v11.11c0 .09.09.17.17.17h2.13c.09 0 .17-.08.17-.17V8.96h3.31l-.02 4.75c0 .09.08.17.17.17h2.13c.09 0 .17-.08.17-.17V2.6c0-.09-.08-.17-.17-.17zM8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17z"></path></svg>
</a>
</div>
<!-- jQuery -->
<script src="vendor/jquery/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="vendor/bootstrap/js/bootstrap.min.js"></script>
<!-- Plugin JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
<!-- Theme JavaScript -->
<script src="js/main.js"></script>
</body>
</html>