	public void performGWAS(Transformation transformation, TYPE analysis) {
		final RunGWASAction gwasAction = new RunGWASAction(transformation.getPhenotype(),transformation.getDataset(), transformation.getName(), analysis, gwasResultReader);
		dispatch.execute(gwasAction, new GWASCallback<RunGWASActionResult>(getEventBus()) {
			@Override
			public void onFailure(Throwable caught) {
				ProgressBarEvent.fire(getEventBus(),gwasAction.getUrl(),true);
				getView().showNotification("", "Error", "GWAS analysis failed");
				super.onFailure(caught);
			}
			@Override
			public void onSuccess(RunGWASActionResult result) {
				if (result.result.getStatus() ==  BackendResult.STATUS.OK) {
					googleAnalytics.trackEvent("GWAS", "successful");
					RunGWASFinishedEvent.fire(TransformationListPresenter.this, result.Chromosome, result.Position, result.Phenotypes, result.Phenotype, result.Dataset,result.Transformation, result.ResultName);
				}
				else {
					googleAnalytics.trackEvent("GWAS", "failed");
					getView().showNotification("", "Error", "GWAS analysis failed");
					DisplayNotificationEvent.fireError(TransformationListPresenter.this, "Backend-Error", result.result.getStatustext());
				}
			}
		});
		ProgressBarEvent.fire(getEventBus(),gwasAction.getUrl());
	}

	public void performGWAS(Transformation transformation, TYPE analysis) {
		final RunGWASAction gwasAction = new RunGWASAction(transformation.getPhenotype(),transformation.getDataset(), transformation.getName(), analysis, gwasResultReader);
		dispatch.execute(gwasAction, new GWASCallback<RunGWASActionResult>(getEventBus()) {
			@Override
			public void onFailure(Throwable caught) {
				ProgressBarEvent.fire(getEventBus(),gwasAction.getUrl(),true);
				getView().showNotification("", "Error", "GWAS analysis failed");
				super.onFailure(caught);
			}
			@Override
			public void onSuccess(RunGWASActionResult result) {
				if (result.result.getStatus() ==  BackendResult.STATUS.OK) {
					googleAnalytics.trackEvent("GWAS", "successful");
					RunGWASFinishedEvent.fire(TransformationListPresenter.this, result.Chromosome, result.Position, result.Phenotypes, result.Phenotype, result.Dataset,result.Transformation, result.ResultName);
				}
				else {
					googleAnalytics.trackEvent("GWAS", "failed");
					ProgressBarEvent.fire(getEventBus(),gwasAction.getUrl(),true);
					getView().showNotification("", "Error", "GWAS analysis failed");
					DisplayNotificationEvent.fireError(TransformationListPresenter.this, "Backend-Error", result.result.getStatustext());
				}
			}
		});
		ProgressBarEvent.fire(getEventBus(),gwasAction.getUrl());
	}
