#ifndef FREEBAYES_RESULTDATA_H #define FREEBAYES_RESULTDATA_H #include #include #include #include "Genotype.h" #include "Allele.h" #include "Utility.h" #include "AlleleParser.h" #include #include "version_git.h" #include "Result.h" #include "NonCall.h" using namespace std; // for sorting data likelihoods class DataLikelihoodCompare { public: bool operator()(const pair& a, const pair& b) { return a.second > b.second; } }; // maps sample names to results class Results : public map { public: void update(SampleDataLikelihoods& likelihoods) { for (SampleDataLikelihoods::iterator s = likelihoods.begin(); s != likelihoods.end(); ++s) { vector& sdls = *s; string& name = sdls.front().name; Result& result = (*this)[name]; result.clear(); for (vector::iterator s = sdls.begin(); s != sdls.end(); ++s) { result.push_back(*s); } } } vcflib::Variant& vcf( vcflib::Variant& var, // variant to update BigFloat pHom, long double bestComboOddsRatio, //long double alleleSamplingProb, Samples& samples, string refbase, vector& altAlleles, map repeats, int genotypingIterations, vector& sampleNames, int coverage, GenotypeCombo& genotypeCombo, map >& alleleGroups, map >& partialObservationGroups, map >& partialSupport, map >& genotypesByPloidy, vector& sequencingTechnologies, AlleleParser* parser); vcflib::Variant& gvcf( vcflib::Variant& var, NonCalls& noncalls, AlleleParser* parser); }; string dateStr(void); void vcfHeader(ostream& out, string referenceFileName, vector& samples, Parameters& parameters, vector& sequencingTechnologies); #endif