forked from RAHenriksen/NGSNGS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNGSNGS_cli.h
51 lines (50 loc) · 3.44 KB
/
NGSNGS_cli.h
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
#ifndef NGSNGSCLI_H
#define NGSNGSCLI_H
#include <cstdlib>
#include <ctime>
#include <cstring>
#include "HelpPage.h"
enum outputformat_e {unknownT, faT, fagzT, fqT, fqgzT, samT, bamT,cramT };
enum seqtype_e {unknownTT, SE,PE};
enum dist_e {unknownDist,Uni,Norm,LogNorm,Pois,Exp,Gam};
enum poly_nt {unknownNt,A,G,C,T,N};
typedef struct{
int SamplThreads; //sampling threads, used internally by pthread_create
int CompressThreads; //compression threads, used external by bgzf_mt and set_hts_options
size_t nreads; //Number of reads to simulate
double coverage; //Depth of coverage across the entire genome, estimated from rlen, flen, genomsize
int Glob_seed; //Local seeds are computed from the global. Only one seed needs to be supplied
outputformat_e OutFormat ; //fq, fq.gz, fa, fa.gz, sam, bam, cram
char *OutName; //prefix for output name
char *DumpFile; //prefix for internal file recording potential variations to reference genome
char *IndelDumpFile; //prefix for internal file recording of sequencing errors specific for indels
char *Reference; //full filename for reference fasta
seqtype_e seq_type; //singleend or paired end.
char *Adapter1; //actual adapter sequence, R1, not flipped, reversed or completemented
char *Adapter2; //actual adapter sequence, R2, not flipped, reversed or completemented
char *QualProfile1; //filename for quality prof, for R1 or SE
char *QualProfile2; //filename for quality prof, for R2 used only in PE
int FixedQual;
char *SubProfile; //filename for misincorperation, typespecific and position specific
int DoSeqErr; //adding potential sequencing errors
char *Briggs; //the four briggs parameters for the none biotin model
char *BriggsBiotin; //the four briggs parameters in relation to Biotin
int Duplicates; //for the none biotin model, four potential fragments with independent deamination pattern are possible to generate, default PCR=1
int CycleLength; //cycle length with the maximum number of nucleotides to be generated, independent of the fragment length
int LowerLimit; //lower limit of fragment lengths, with some distributions perhaps having values in the pdf below 0, default of 30 due to the deamination
int Length; //fragment length when fixed
char *LengthFile; //filename for distribution of frag lengths
char *LengthDist; //name of pdf used for simulating fraglengths (incl parameters)
char *Poly; //poly-X tail, added after the adapter sequence if output reade are lower than inferred cycle length, e.g. -p G or -p A
char *Chromosomes; //subsetting chromosome of interested, -chr chrX
int rng_type; //pseudo-random number generator type, drand48 or rand or drand48_r etc
char *vcffile; //filename for bcf
char *CommandRun; //actual command run in same order
int HeaderIndiv; //samplename from VCF/BCF file
int Align; //Storing sequence reads with- or without alignment information in the sequence alignment map/format
size_t KstrBuf; //buffer size for kstring length
char *Indel; //adding stochastic indels
}argStruct;
argStruct *getpars(int argc,char ** argv);
void argStruct_destroy(argStruct *mypars);
#endif