print"Deleting existing features & related data for type $type\n";
# Delete any regulatory_factor_transcript entries first
my$sth=$db_adaptor->dbc->prepare("DELETE rft FROM regulatory_feature rfeat, regulatory_factor_transcript rft, analysis a WHERE rfeat.regulatory_factor_id=rft.regulatory_factor_id AND a.analysis_id=rfeat.analysis_id AND LOWER(a.analysis_id)=?");
$sth->execute($t);
# now delete interlinked regulatory_feature, regulatory_factor and regulatory_feature_object entries
$sth=$db_adaptor->dbc->prepare("DELETE rfeat, rfact, rfo FROM regulatory_feature rfeat, regulatory_factor rfact, regulatory_feature_object rfo, analysis a WHERE rfeat.regulatory_feature_id=rfo.regulatory_feature_id AND rfeat.regulatory_factor_id=rfact.regulatory_factor_id AND rfeat.analysis_id=a.analysis_id AND LOWER(a.logic_name)=?");
$sth->execute($t);
# delete dangling regulatory_factors
$sth=$db_adaptor->dbc->prepare("DELETE rfact FROM regulatory_feature rfeat, regulatory_factor rfact, analysis a WHERE rfeat.regulatory_factor_id=rfact.regulatory_factor_id AND a.analysis_id=rfeat.analysis_id AND LOWER(a.analysis_id)=?");
$sth->execute($t);
# and finally any dangling regulatory features
$sth=$db_adaptor->dbc->prepare("DELETE rfeat FROM regulatory_feature rfeat, analysis a WHERE a.analysis_id=rfeat.analysis_id AND LOWER(a.analysis_id)=?");