genomix driver -ip and -runLocal are mutually exclusive
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/config/GenomixJobConf.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/config/GenomixJobConf.java
index fedfc36..db39405 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/config/GenomixJobConf.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/config/GenomixJobConf.java
@@ -91,10 +91,10 @@
         private int tipRemove_maxLength = -1;
         
         // Hyracks/Pregelix Setup
-        @Option(name = "-ip", usage = "IP address of the cluster controller", required = true)
-        private String ipAddress = "";
+        @Option(name = "-ip", usage = "IP address of the cluster controller", required = false)
+        private String ipAddress;
         
-        @Option(name = "-port", usage = "Port of the cluster controller", required = true)
+        @Option(name = "-port", usage = "Port of the cluster controller", required = false)
         private int port = -1;
         
         @Option(name = "-profile", usage = "Whether or not to do runtime profifling", required = false)
@@ -210,7 +210,6 @@
         super(new Configuration());
         setInt(KMER_LENGTH, kmerLength);
         fillMissingDefaults();
-        validateConf(this);
     }
     
     public GenomixJobConf(Configuration other) {
@@ -277,7 +276,7 @@
             throw new IllegalArgumentException("tipRemove_maxLength must be at least as long as kmerLength!");
 
         // Hyracks/Pregelix Advanced Setup
-        if (conf.get(IP_ADDRESS) == "")
+        if (conf.get(IP_ADDRESS) == null)
             throw new IllegalArgumentException("ipAddress was not specified!");        
     }
     
@@ -354,7 +353,15 @@
         if (opts.hdfsWorkPath != null)
             set(HDFS_WORK_PATH, opts.hdfsWorkPath);
 
+        if (opts.runLocal && (opts.ipAddress != null || opts.port != -1))
+            throw new IllegalArgumentException("Option -runLocal cannot be set at the same time as -port or -ip! (-runLocal starts a cluster; -ip and -port specify an existing cluster)");
         setBoolean(RUN_LOCAL, opts.runLocal);
+        // Hyracks/Pregelix Setup
+        if (opts.ipAddress != null)
+            set(IP_ADDRESS, opts.ipAddress);
+        setInt(PORT, opts.port);
+        setBoolean(PROFILE, opts.profile);
+        
                 
         // Graph cleaning
         setInt(BRIDGE_REMOVE_MAX_LENGTH, opts.bridgeRemove_maxLength);
@@ -365,9 +372,5 @@
         setFloat(REMOVE_LOW_COVERAGE_MAX_COVERAGE, opts.removeLowCoverage_maxCoverage);
         setInt(TIP_REMOVE_MAX_LENGTH, opts.tipRemove_maxLength);
         
-        // Hyracks/Pregelix Setup
-        set(IP_ADDRESS, opts.ipAddress);
-        setInt(PORT, opts.port);
-        setBoolean(PROFILE, opts.profile);
     }
 }