-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathpandaxs.1
47 lines (40 loc) · 2.56 KB
/
pandaxs.1
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
.\" Authors: Andre Masella
.TH pandaxs 1 "June 2011" "2.0" "USER COMMANDS"
.SH NAME
pandaxs \- PAired-eND Assembler for DNA sequences plugin compiler
.SH SYNOPSIS
.B pandaxs
.I source.c
.I FLAGS
.SH DESCRIPTION
PANDASEQ assembles paired-end Illumina reads into sequences, trying to correct for errors and uncalled bases. Sequences can be validated by arbitrary user modules.
.B pandaxs
facilitiates the compilation of such modules using GNU
.BR libtool(1)
and the installed compiler.
.SH OPTIONS
.TP
source.c
A C program source, with the structure defined below, to be compiled.
.TP
FLAGS
If the module requires libraries or other C files, they may be included. In fact, any typical CFLAGS or LDFLAGS may be included.
.SH UNDERSTANDING VALIDATION
Essentially, PANDAseq will assemble a sequence and then send the output to each validation module the user has specified with the \fB-C\fR option. Each module can then analyse the reconstruction and elect to keep or discard the sequence. Modules are given two options: \fBCHECK\fR and \fBPRECHECK\fR, which are done after and before sequence reconstruction, respectively. If a sequence can be discarded using only the information from the FASTQ file (i.e., the header and the reads), then a discard from a \fBPRECHECK\fR will be much faster as PANDAseq need not go to the time of assembling the sequence.
Validation modules are not permitted to modify the sequence.
.SH STRUCTURE
Writing a module requires familiarity with the C programming language. Various macros are available to assist in creating correct output. Generally:
.IP 1.
Copy the \fBsample.c\fR included in the \fBshare/doc/pandaseq\fR directory.
.IP 2.
Modify it to do your desired validation. You may included any needed libraries.
.IP 3.
Use \fBpandaxs\fR to compile and install your module, linking against any needed libraries.
.P
In multi-threaded situations, \fIno\fR guarantees are made about multiple entries into your functions, the module must be re-entrant or do any locking. Memory management is not handled, though \fBCLEANUP\fR will be called if \fBINIT\fR has been called. It is possible that \fBINIT\fR will be called again.
Sequences will not necessarily be presented in order in multi-threaded conditions and the sequences of multiple files can be intermingled. In this way, both \fBafter\fR and \fBbefore\fR are broken.
Modules are checked for ABI compatibility. A module will fail to load if the PANDAseq ABI has changed since it was compiled.
There is no standard for the format of arguments to modules, but spaces are best avoided.
.SH SEE ALSO
.BR libtool (1),
.BR pandaseq (1).