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
|
<HTML>
<HEAD>
<TITLE>Contributing</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
<LINK HREF="style_ini.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A href="index.html">Home</A> ·
<A href="classes.html">Classes</A> ·
<A href="annotated.html">Annotated Classes</A> ·
<A href="modules.html">Modules</A> ·
<A href="functions_func.html">Members</A> ·
<A href="namespaces.html">Namespaces</A> ·
<A href="pages.html">Related Pages</A>
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
<!-- Generated by Doxygen 1.8.5 -->
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Contributing </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h2 style="border-top:2px solid grey;">OpenMS</h2>
<ul>
<li>
<p class="startli"><b>I have written a class for OpenMS I want to contribute. What should I do?</b><br/>
Basically, you must conform to the OpenMS <a class="el" href="coding_conventions.html">Coding conventions</a> : </p>
<ol>
<li>
Coding style (brackets, variable names, etc.) must conform to the conventions. </li>
<li>
The class and all the members must be documented thoroughly. </li>
<li>
A class test must exists, which tests each public member function. </li>
<li>
You can check your code with the tool <code>tools/checker.php</code>. Call <code>php tools/checker.php</code> for detailed instructions. </li>
</ol>
<p class="endli">When this is done, you can either </p>
<ul>
<li>
post a patch to the mailing list or </li>
<li>
become a developer and commit your code to the SVN directly. </li>
</ul>
</li>
<li>
<b>I want to implement a new file adapter. What is to be done?</b><br/>
<ol>
<li>
First you should add a file adapter class to the <code>include/OpenMS/FORMAT/</code> and <code>source/FORMAT/</code> folders. The file adapter should implement a default constructor, a <code>load</code> method and a <code>store</code> method. Make sure your code conforms to the OpenMS <a class="el" href="coding_conventions.html">Coding conventions</a> . </li>
<li>
For automatic file type recognition, you need to <ul>
<li>
register your new file type at the <code>Type</code> enum in <code>/include/OpenMS/FORMAT/FileTypes.h</code>, </li>
<li>
flag the file type as supported in the <code>isSupported</code> method of <code>/source/FORMAT/FileHandler.C</code> and </li>
<li>
register the file extension in the <code>getTypeByFileName</code> method of <code>/source/FORMAT/FileHandler.C</code>. </li>
</ul>
</li>
<li>
If the new file is a peak or feature file format you should also add it to <code>loadExperiment</code> or <code>loadFeatures</code>, respectively, of the <code>FileHandler</code> class. </li>
<li>
To add the file format to the TOPPView open dialog, you have to modify the file <code>/source/APPLICATIONS/TOPPViewBase.C</code>. Add the file extensions to the <code>filter_all</code> and <code>filter_single</code> variables of the <code>getFileList_</code> method. </li>
<li>
To add your format to TOPP applications, add the file extension to the extensions list of the respective parameter:<br/>
e.g. <code>setValidStrings_("in_type", StringList::create("mzData,mzXML,mzML"));</code> in <code>FileInfo</code> </li>
</ol>
</li>
</ul>
<h2 style="border-top:2px solid grey;">TOPP</h2>
<p><b>I want to implement a new TOPP tool. What is to be done?</b><br/>
</p>
<ol>
<li>
Prepare testdata for blackbox testing and add the test to <code>source/TEST/TOPP/CMakeLists.txt</code>. Make sure that a test exists for each commandline option of the tool. </li>
<li>
Add your tool either in <code>source/APPLICATIONS/TOPP</code> or <code>source/APPLICATIONS/UTILS</code> (depending on its maturity) </li>
<li>
Add your tool to the list in the ToolHandler in <code>source/APPLICATIONS/ToolHandler.C</code> </li>
<li>
Insert your tool into the documentation in <code><a class="el" href="TOPP_8doxygen.html">doc/doxygen/public/TOPP.doxygen</a></code> </li>
</ol>
</div></div><!-- contents -->
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
<TABLE width="100%" border="0">
<TR>
<TD><font color="#c0c0c0">OpenMS / TOPP release 1.11.1</font></TD>
<TD align="right"><font color="#c0c0c0">Documentation generated on Thu Nov 14 2013 11:19:25 using doxygen 1.8.5</font></TD>
</TR>
</TABLE>
</BODY>
</HTML>
|