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");