13db5365510728c1e96d96110a6fe86065949b8a chmalee Thu Sep 24 16:17:54 2020 -0700 Make vcfToBed way more basic and don't do any special parsing of VCF specific stuff, just chop out requested fields, refs #25010 diff --git src/lib/vcf.c src/lib/vcf.c index b9df010..ecd5044 100644 --- src/lib/vcf.c +++ src/lib/vcf.c @@ -755,31 +755,31 @@ int wordCount; if ((wordCount = lineFileChopTab(vcff->lf, words)) <= 0) return NULL; wordCount = checkWordCount(vcff, words, wordCount); return vcfRecordFromRow(vcff, words); } static boolean noAltAllele(char **alleles, int alleleCount) /* Return true if there is no alternate allele (missing value ".") or the given alternate allele * is the same as the reference allele. */ { return (alleleCount == 2 && (sameString(alleles[0], alleles[1]) || sameString(".", alleles[1]))); } -static boolean allelesHavePaddingBase(char **alleles, int alleleCount) +boolean allelesHavePaddingBase(char **alleles, int alleleCount) /* Examine alleles to see if they either a) all start with the same base or * b) include a symbolic or 0-length allele. In either of those cases, there * must be an initial padding base that we'll need to trim from non-symbolic * alleles. */ { if (sameString(alleles[0], "-")) return FALSE; else if (noAltAllele(alleles, alleleCount)) // Don't trim assertion of no change (ref == alt) return FALSE; boolean hasPaddingBase = TRUE; char firstBase = '\0'; if (isAllNt(alleles[0], strlen(alleles[0]))) firstBase = alleles[0][0]; int i;