Bits *maskQuerySeq(struct dnaSeq *seq, boolean isProt, boolean maskQuery, boolean lcMask) /* Massage query sequence a bit, converting it to correct * case (upper for protein/lower for DNA) and optionally * returning upper/lower case info , and trimming poly A. */ { Bits *qMaskBits = NULL; verbose(2, "%s\n", seq->name); if (isProt) faToProtein(seq->dna, seq->size); else { if (maskQuery) { if (lcMask) toggleCase(seq->dna, seq->size); qMaskBits = maskFromUpperCaseSeq(seq); } faToDna(seq->dna, seq->size); } if (seq->size > qWarnSize) { warn("Query sequence %s has size %d, it might take a while.", seq->name, seq->size); } return qMaskBits; }
boolean faSomeSpeedReadNext(struct lineFile *lf, DNA **retDna, int *retSize, char **retName, boolean isDna) /* Read in DNA or Peptide FA record. */ { char *poly; int size; if (!faMixedSpeedReadNext(lf, retDna, retSize, retName)) return FALSE; size = *retSize; poly = *retDna; if (isDna) faToDna(poly, size); else faToProtein(poly, size); return TRUE; }