0b8e4c09fe3a2cb3ab8a05807cebba50cbe1e94c angie Wed Aug 24 16:59:30 2022 -0700 vcfToHgvs: Exclude XM_ and XR_ transcripts -- they're not 'real' HGVS and also very unstable from one version to the next. diff --git src/hg/utils/vcfToHgvs/vcfToHgvs.c src/hg/utils/vcfToHgvs/vcfToHgvs.c index f1abe22..b2a4f0c 100644 --- src/hg/utils/vcfToHgvs/vcfToHgvs.c +++ src/hg/utils/vcfToHgvs/vcfToHgvs.c @@ -220,31 +220,35 @@ #define UPDOWN_FUDGE 5000 struct psl *pslsInRange(char *db, char *table, char *chrom, int chromStart, int chromEnd) /* No caching even though this may return the same answer for many little regions. * Free returned list when done. */ { struct psl *pslList = NULL; struct sqlConnection *conn = hAllocConn(db); int binOffset = 0; int start = max(0, chromStart - UPDOWN_FUDGE); int end = chromEnd + UPDOWN_FUDGE; struct sqlResult *sr = hRangeQuery(conn, table, chrom, start, end, NULL, &binOffset); char **row; while ((row = sqlNextRow(sr)) != NULL) + { + // Exclude XM_ and XR_ transcripts if any + if (!startsWith("X", row[binOffset+9])) slAddHead(&pslList, pslLoad(row+binOffset)); + } hFreeConn(&conn); return pslList; } void getCds(struct hash *txCdsHash, char *db, boolean hasNcbiRefSeq, char *acc, struct genbankCds *retCds) /* Put a possibly cached cds's values into cds */ { struct genbankCds *cds = hashFindVal(txCdsHash, acc); if (cds == NULL) { AllocVar(cds); char query[2048]; if (hasNcbiRefSeq) sqlSafef(query, sizeof(query), "select cds from ncbiRefSeqCds where id = '%s'", acc);