b00557148488a34f1d4ba7ed2a2b37264b33ea23 angie Tue Oct 20 13:02:44 2020 -0700 Raise VCF_MAX_COLUMNS yet again -- sarscov2phylo latest release has >100,000 sequences\! diff --git src/lib/vcf.c src/lib/vcf.c index ecd5044..246fac0 100644 --- src/lib/vcf.c +++ src/lib/vcf.c @@ -391,31 +391,31 @@ { if (! sameString(exp1, words[ix])) { if (exp2 == NULL) vcfFileErr(vcff, "Expected column %d's name in header to be \"%s\" but got \"%s\"", ix+1, exp1, words[ix]); else if (! sameString(exp2, words[ix])) vcfFileErr(vcff, "Expected column %d's name in header to be \"%s\" or \"%s\" " "but got \"%s\"", ix+1, exp1, exp2, words[ix]); } } #define expectColumnName(vcff, exp, words, ix) expectColumnName2(vcff, exp, NULL, words, ix) // There might be a whole lot of genotype columns... -#define VCF_MAX_COLUMNS 64 * 1024 +#define VCF_MAX_COLUMNS 256 * 1024 #define VCF_MIN_COLUMNS 8 char *vcfDefaultHeader = "#CHROM POS ID REF ALT QUAL FILTER INFO"; /* Default header if we have none. */ static void parseColumnHeaderRow(struct vcfFile *vcff, char *line) /* Make sure column names are as we expect, and store genotype sample IDs if any are given. */ { char *words[VCF_MAX_COLUMNS]; int wordCount = chopLine(line+1, words); if (wordCount >= VCF_MAX_COLUMNS) vcfFileErr(vcff, "header contains at least %d columns; " "VCF_MAX_COLUMNS may need to be increased in vcf.c!", VCF_MAX_COLUMNS); if (wordCount < VCF_MIN_COLUMNS) errAbort("VCF header missing at least one of the required VCF fields");