diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ExperimentFeatureVectorSummary.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ExperimentFeatureVectorSummary.java
index 957f04236129887f6649b84a05eb43e378752c35..2a5d8311f6c97817074e223fe7014cce85057ffc 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ExperimentFeatureVectorSummary.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ExperimentFeatureVectorSummary.java
@@ -38,6 +38,12 @@ public class ExperimentFeatureVectorSummary implements ISerializable
     // has the same length as feature vectors in all material summaries
     private List<CodeAndLabel> featureDescriptions;
 
+    // GWT only
+    @SuppressWarnings("unused")
+    private ExperimentFeatureVectorSummary()
+    {
+    }
+
     public ExperimentFeatureVectorSummary(ExperimentReference experiment,
             List<MaterialFeatureVectorSummary> materialsSummary,
             List<CodeAndLabel> featureDescriptions)
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialAllReplicasFeatureVectors.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialAllReplicasFeatureVectors.java
index 61d5413f9c25738068201e543f027884f9e0e0be..35dc3e7e73810409f0fbeb2c6726429bbd5f4cff 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialAllReplicasFeatureVectors.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialAllReplicasFeatureVectors.java
@@ -2,13 +2,17 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
 import java.util.List;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.CodeAndLabel;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * @author Tomasz Pylak
  */
-public class MaterialAllReplicasFeatureVectors
+public class MaterialAllReplicasFeatureVectors implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     // NOTE: has the same length as feature vectors in all summaries
     private List<CodeAndLabel> featureDescriptions;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialReplicaSubgroupFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialReplicaSubgroupFeatureVector.java
index 88491789e39fd98d7830910e101e85153a60baae..6dbf004ff5b943bd4b3d69925b3378ff4f35fff6 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialReplicaSubgroupFeatureVector.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialReplicaSubgroupFeatureVector.java
@@ -2,11 +2,16 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
 import java.util.List;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
+
 /**
  * @author Tomasz Pylak
  */
-public class MaterialReplicaSubgroupFeatureVector
+public class MaterialReplicaSubgroupFeatureVector implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     // DISPLAY NOTE: The header of each column should be:
     // <subgroupName> repl. <replicaSequenceNumber>
     // e.g. SIRNA XYZ repl. 2
@@ -23,6 +28,12 @@ public class MaterialReplicaSubgroupFeatureVector
 
     private String subgroupLabel;
 
+    // GWT only
+    @SuppressWarnings("unused")
+    private MaterialReplicaSubgroupFeatureVector()
+    {
+    }
+
     public MaterialReplicaSubgroupFeatureVector(
             List<MaterialSingleReplicaFeatureVector> singleReplicaValues,
             float[] aggregatedSummary, ReplicaSummaryAggregationType summaryAggregationType,
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialSingleReplicaFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialSingleReplicaFeatureVector.java
index 3341b194fc0d6bc06c5c1003cdc3aae443ad1201..de5e9a2bde5a9594e29fe9517b076f575cbd77e4 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialSingleReplicaFeatureVector.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialSingleReplicaFeatureVector.java
@@ -16,11 +16,16 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
+
 /**
  * @author Tomasz Pylak
  */
-public class MaterialSingleReplicaFeatureVector
+public class MaterialSingleReplicaFeatureVector implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private int replicaSequenceNumber;
 
     private float[] featueVectorSummary;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialSummarySettings.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialSummarySettings.java
new file mode 100644
index 0000000000000000000000000000000000000000..df660fa18d892258c8bc2fe1298432403b60becd
--- /dev/null
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialSummarySettings.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2011 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
+
+import java.util.List;
+
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
+
+/**
+ * @author Tomasz Pylak
+ */
+public class MaterialSummarySettings implements ISerializable
+{
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
+    private List<String> featureCodes;
+
+    private String replicaMatrialTypePattern;
+
+    private String subgroupPropertyTypeCode;
+
+    private ReplicaSummaryAggregationType aggregationType;
+
+    public List<String> getFeatureCodes()
+    {
+        return featureCodes;
+    }
+
+    public void setFeatureCodes(List<String> featureCodes)
+    {
+        this.featureCodes = featureCodes;
+    }
+
+    public String getReplicaMatrialTypePattern()
+    {
+        return replicaMatrialTypePattern;
+    }
+
+    public void setReplicaMatrialTypePatterns(String replicaMatrialTypePattern)
+    {
+        this.replicaMatrialTypePattern = replicaMatrialTypePattern;
+    }
+
+    public String getSubgroupPropertyTypeCode()
+    {
+        return subgroupPropertyTypeCode;
+    }
+
+    public void setSubgroupPropertyTypeCode(String subgroupPropertyTypeCode)
+    {
+        this.subgroupPropertyTypeCode = subgroupPropertyTypeCode;
+    }
+
+    public ReplicaSummaryAggregationType getAggregationType()
+    {
+        return aggregationType;
+    }
+
+    public void setAggregationType(ReplicaSummaryAggregationType aggregationType)
+    {
+        this.aggregationType = aggregationType;
+    }
+}
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ReplicaSummaryAggregationType.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ReplicaSummaryAggregationType.java
index 07e8926ca0062988bcd3fb59d8cb8e2402fe4198..75e46d97f2e4dd9a4c1a206ddd721a3c128a3e28 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ReplicaSummaryAggregationType.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ReplicaSummaryAggregationType.java
@@ -16,12 +16,14 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+
 /**
  * Type of the aggregation method for material replicas.
  * 
  * @author Tomasz Pylak
  */
-public enum ReplicaSummaryAggregationType
+public enum ReplicaSummaryAggregationType implements ISerializable
 {
     MEDIAN,