-
Notifications
You must be signed in to change notification settings - Fork 5
Home
The layout for creating a project depending on Proteowizard(pwiz) is described here . Code conventions and more details about pwiz subfolders are also described in this webpage.
The root sources directory looks like this:
root
build [everything is built here]
doc [documentation]
example_data [some example data files]
libraries [3rd party library archives]
pwiz [main source tree -- all Apache licensed]
pwiz_aux [non-Apache licensed contributed code]
pwiz_tools [source code for tools]
pwiz_mzdb [source code for writing/reading mzDB files]
The pwiz-mzdb
contains several directories:
mzdb
lib [static libraries dependancies + source code of some libs]
reader [source code for reading mzDB files]
threading [source code threading queues]
utils [source code used in both 'reader' and 'writer']
writer [source code for writing mzDB files]
raw2mzDB.cpp entry point
pwiz-mzdb depends on pwiz for its data model, which is statically linked during link phase. There are also additional dependancies such as:
- sqlite (included in last versions of pwiz)
- getopt_pp: a library for reading command line arguments
- kyoto_cabinet: only used for during signal reconstruction process, i.e. conversion of mzDB to mzML for example.
- pugixml: library for reading/writing XML data (i.e. param tree).
These library which source code is available in pwiz_mzdb/mzdb/lib
are compiled then statically linked.
We also have a major dependancy on Ceres-solver developed at Google. Due to the difficulty of compiling it on Windows, a static library is provided and linked directly. Ceres has been compiled in release mode: no debug information are included, i.e. building raw2mzDB in debug mode will fail.
see the doxygen doc
directory inside pwiz_mzdb
WARNING: pwiz-mzdb uses C++ 11 features, which means it requires at least msvc-10.
At the root of the pwiz project layout there is 'quickbuild.bat/sh'. In order to compile the project:
quickbuild.bat --i-agree-to-the-vendor-licenses
All compilation directives are in the Jamroot.jam.
You can specify a sub project to do incremental compiling.
quickbuild.bat pwiz_tools --i-agree-to-the-vendor-licenses
If the target is 64-bits architecture, the flag address-model must be set to 64:
quickbuild.bat address-model=64 pwiz_tools --i-agree-to-the-vendor-licenses
warning: MSVC express edition until 12 does not provide 64 bits compilers. Using address-model
will result in a compilation failure.
Linkage options, compilation options can be set:
quickbuild.bat <cxxflags>'/Oxa' <linkflags>'/LTCG' pwiz_tools --i-agree-to-the-vendor-licenses
You can also specify the release mode using <variant> set to 'release' or 'debug'. A special compiler can be used using: <toolset>:
quickbuild.bat address-model=64 <toolset>msvc-10 <cxxflags>'/Oxa' <linkflags>'/LTCG' pwiz_tools --i-agree-to-the-vendor-licenses
Just click file
->new project
->import from existing sources
setting the root of the project. It generates a file .includes
declarating the headers the project uses. It lacks VC headers so the line C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/include
must be added to get good completion.
Should work pretty well. Click file
->new
->from existing sources
. Then, let you guide through project wizard.
pwiz-mzdb is used in the Proline project, a software for analysing mass spectrometry proteomics data.
This project is supported by
-
Omics Services
<img src="http://omics-services.com/images/logo_omics_services.png" alt="Omics Services" width="100 />