import org.genepattern.matrix.Dataset;
import org.genepattern.client.GPClient;
import org.genepattern.webservice.JobResult;
import org.genepattern.webservice.Parameter;
import org.genepattern.io.IOUtil;
import java.io.File;

public class MyProgram {
   public static void main(String[] args)
                    throws Exception {
      GPClient gpClient=new GPClient("http://localhost:8080", 
                                     "your email address");
      String inputDataset=
         "ftp://ftp.broad.mit.edu/pub/genepattern/all_aml/all_aml_train.res";
      JobResult preprocess=gpClient.runAnalysis("PreprocessDataset", 
                                                new Parameter[] {
         new Parameter("input.filename", inputDataset)
      });
      // view results in a HeatMapViewer visualizer
      gpClient.runVisualizer("HeatMapViewer", 
                             new Parameter[] {
         new Parameter("dataset", preprocess.getURL(0).toString())
      });
      String downloadDirName=String.valueOf(preprocess.getJobNumber());
      // download result files
      File[] outputFiles = preprocess.downloadFiles(downloadDirName);
      // load data into matrix for further manipulation
      Dataset dataset= IOUtil.readDataset(outputFiles[0].getPath());
   }
}
