AjBool ensKaryotypebandadaptorFetchAllByChromosomeBand( EnsPKaryotypebandadaptor adaptor, const AjPStr name, const AjPStr band, AjPList kblist) { char *txtband = NULL; AjBool value = AJFALSE; AjPStr constraint = NULL; EnsPDatabaseadaptor dba = NULL; EnsPSlice slice = NULL; EnsPSliceadaptor sa = NULL; if(!adaptor) return ajFalse; if(!name) return ajFalse; if(!band) return ajFalse; if(!kblist) return ajFalse; dba = ensFeatureadaptorGetDatabaseadaptor(adaptor->Adaptor); sa = ensRegistryGetSliceadaptor(dba); ensSliceadaptorFetchByRegion(sa, (const AjPStr) NULL, (const AjPStr) NULL, name, 0, 0, 0, &slice); ensDatabaseadaptorEscapeC(dba, &txtband, band); constraint = ajFmtStr("karyotype.band LIKE '%s%%'", txtband); ajCharDel(&txtband); value = ensFeatureadaptorFetchAllBySliceConstraint(adaptor->Adaptor, slice, constraint, (const AjPStr) NULL, kblist); ajStrDel(&constraint); ensSliceDel(&slice); return value; }
AjBool ensGvdatabaseadaptorFailedvariationsconstraint( EnsPGvdatabaseadaptor gvdba, const AjPStr tablename, AjPStr *Pconstraint) { char *txttablename = NULL; if (!gvdba) return ajFalse; if (!Pconstraint) return ajFalse; if (!*Pconstraint) *Pconstraint = ajStrNew(); if (gvdba->Failedvariations) { if ((tablename != NULL) && (ajStrGetLen(tablename))) { ensDatabaseadaptorEscapeC( ensGvdatabaseadaptorGetDatabaseadaptor(gvdba), &txttablename, tablename); ajStrAssignC(Pconstraint, txttablename); ajCharDel(&txttablename); } else ajStrAssignC(Pconstraint, "failed_variation"); ajStrAppendC(Pconstraint, ".variation_id IS NULL"); } else ajStrAssignC(Pconstraint, "1"); return ajTrue; }