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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
#ifndef FREEBAYES_PARAMETERS_H
#define FREEBAYES_PARAMETERS_H
#include <cstdio>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <map>
#include <getopt.h>
#include <stdlib.h>
#include <fastahack/split.h>
#include "version_git.h"
#include "Utility.h"
using namespace std;
// Encapsulates tracking and parsing of command line program parameters
class Parameters {
friend ostream &operator<<(ostream &out, const Parameters &p);
public:
// i/o parameters:
string bam; // -b --bam
vector<string> bams;
bool useStdin; // -c --stdin
string fasta; // -f --fasta-reference
string targets; // -t --targets
vector<string> regions; // -r --region
string samples; // -s --samples
string populationsFile;
string cnvFile;
//string log;
string output; // -v --vcf
string outputFile;
bool gVCFout; // -l --gvcf
int gVCFchunk;
bool gVCFNoChunk;
string variantPriorsFile;
string haplotypeVariantFile;
bool reportAllHaplotypeAlleles;
bool reportMonomorphic;
bool boundIndels;
bool onlyUseInputAlleles;
string alleleObservationBiasFile;
bool standardGLs;
int baseQualityCap;
double probContamination;
string contaminationEstimateFile;
// operation parameters
bool useDuplicateReads; // -E --use-duplicate-reads
bool suppressOutput; // -S --suppress-output
int useBestNAlleles; // -n --use-best-n-alleles
bool forceRefAllele; // -F --force-reference-allele
bool useRefAllele; // -U --use-reference-allele
bool diploidReference; // -H --haploid-reference
bool allowIndels; // -I --allow-indels
bool leftAlignIndels; // -O --left-align-indels
bool allowMNPs; // -X --allow-mnps
bool allowComplex; // -X --allow-complex
bool strictVCF;
int maxComplexGap;
//int maxHaplotypeLength;
int minRepeatSize;
double minRepeatEntropy;
bool usePartialObservations;
bool allowSNPs; // -I --no-snps
bool pooledDiscrete;
bool pooledContinuous;
bool ewensPriors;
bool permute; // --permute
bool useMappingQuality; //
bool useMinIndelQuality;
bool obsBinomialPriors;
bool alleleBalancePriors;
bool hwePriors;
bool reportGenotypeLikelihoodMax;
int genotypingMaxIterations;
int genotypingMaxBandDepth;
bool excludePartiallyObservedGenotypes;
bool excludeUnobservedGenotypes;
float genotypeVariantThreshold;
int siteSelectionMaxIterations;
bool allSites; // TODO
double limitGL; // minimum GL that is output
int minPairedAltCount;
double minAltMeanMapQ;
int minAltQSum;
int MQR; // -M --reference-mapping-quality
int BQR; // -B --reference-base-quality
int ploidy; // -p --ploidy
int MQL0; // -m --min-mapping-quality
int BQL0; // -q --min-base-quality
int minSupportingMappingQualitySum; // -R --min-supporting-mapping-quality
int minSupportingAlleleQualitySum; // -S --min-supporting-base-quality
int BQL2; // -Q --mismatch-base-quality-threshold
int RMU; // -U --read-mismatch-limit
float readMaxMismatchFraction; // -z --read-max-mismatch-fraction
int readSnpLimit; // -$ --read-snp-limit
int readIndelLimit; // -e --read-indel-limit
int IDW; // -I --indel-exclusion-window
long double TH; // -T --theta
long double PVL; // -P --pvar
// -K --posterior-integration-depth
int posteriorIntegrationDepth;
bool calculateMarginals;
string algorithm;
double RDF; // -D --read-dependence-factor
long double diffusionPriorScalar; // -V --diffusion-prior-scalar
int WB; // -W --posterior-integration-bandwidth
// XXX adjusting this to anything other than 1 may have bad consequences
// for large numbers of samples
int TB; // -Y --posterior-integration-depth
bool includeMonoB;
int TR;
int I;
long double minAltFraction; // -F --min-alternate-fraction
int minAltCount; // -C --min-alternate-count
int minAltTotal; // -G --min-alternate-total
int minCoverage; // -! --min-coverage
int limitCoverage; // -+ --limit-coverage
int skipCoverage; // -g --skip-coverage
int trimComplexTail; // -. --trim-complex-tail
int debuglevel; // -d --debug increments
bool debug; // set if debuglevel >=1
bool debug2; // set if debuglevel >=2
bool showReferenceRepeats;
// functions
Parameters(int argc, char** argv);
void usage(char **argv);
void simpleUsage(char **argv);
// reporting
string commandline;
};
#endif
|