Generating docs

From Powers Wiki

MVAPACK's uses GNU Texinfo for documentation. The end goal is to generate a .pdf file that contains all of the information for each function as well as general usage, pipelines and examples. This guide is NOT designed to cover all the details of writing GNU Texinfo and its syntax, but just how the documentation for this project works and how to build new pdf's for future releases.

In general there are two parts to documentation source, being the Texinfo found in each of the files contained within mvapack/inst/ and the main file found in mvapack/doc/mvapack.tex . This page covers how to change these types of Texinfo entries as well as making the .pdf itself.


Making the pdf

To make the documentation, first cd into your mvapack/ directory. Next, you will run the following command:

> bin/doc

This will build the documentation and save it to mvapack/doc/mvapack.pdf , assuming the build finished successfully.

Function file Texinfo

Whenever a new function file is made in mvapack/inst/ , the following code should be copy and pasted to the top of the function file, with your name and email subbed in below. This first part is just the licensing agreement/disclaimer. It does not change from file to file but changes from user to user.

## Copyright (C) 2021 University of Nebraska Board of Regents.
## Written by FIRSTNAME LASTNAME <uname@huskers.unl.edu>.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; If not, see <http://www.gnu.org/licenses/>.

This second part is different for each file


## -*- texinfo -*-
## @anchor{create_eics}
## @deftypefn {Function File} create_eics (@var{fname}, @var{outdir}, @var{mz_min}=50, @var{mz_max}=2000, @var{eic_width}=0.05, @var{min_intensity}=1000, @var{filt_type}='base_peak', @var{cutoff}=0.001)
##
## Creates extracted ion chromatograms (EICs) from the data in the file specified by @var{fname}. 
## If and when multiple data points exist at the same retention time, the one with higher intensity will be kept.
## This code relies on C++ bindings that must be compiled for this functionality to work.
## Detail on the input parameters is provided below:
## 
## - EICs will be made from @var{mz_min} to @var{mz_max}
##
## - EICs have dalton width of @var{eic_width} and  are saved to the @var{outdir} directory. Note that any existing files in @var{outdir} are deleted and it is created if it does not already exist.
##
## - @var{min_intensity} denotes the lowest max intensity an EIC must have to be saved.
## 
## - @var{filt_type} indicates the type of raw data filtration to be carried out. Valid options are 'base_peak' or 'absolute'.
##
## - @var{cutoff} indicates the cutoff that will be used to filter the raw data. For 'base_peak' mode, this decimal will be multiplied by the base peak to get a cutoff whereas for 'absolute', it is the specified value.
##
## @end deftypefn

MVAPACK

extra