Commit 504d7d6a authored by jgould's avatar jgould

convert to string arrays

parent 4e78af68
...@@ -183,14 +183,9 @@ morpheus.GctReader.prototype = { ...@@ -183,14 +183,9 @@ morpheus.GctReader.prototype = {
throw new Error('Missing data rows'); throw new Error('Missing data rows');
} }
for (var i = 1, count = dataset.getRowMetadata().getMetadataCount(); i < count; i++) { morpheus.MetadataUtil.maybeConvertStrings(dataset.getRowMetadata(), 1);
morpheus.VectorUtil.maybeConvertStringToNumber(dataset morpheus.MetadataUtil.maybeConvertStrings(dataset.getColumnMetadata(),
.getRowMetadata().get(i)); 1);
}
for (var i = 1, count = dataset.getColumnMetadata().getMetadataCount(); i < count; i++) {
morpheus.VectorUtil.maybeConvertStringToNumber(dataset
.getColumnMetadata().get(i));
}
return dataset; return dataset;
} }
}; };
...@@ -317,6 +317,8 @@ morpheus.MetadataUtil.indexOf = function(metadataModel, name) { ...@@ -317,6 +317,8 @@ morpheus.MetadataUtil.indexOf = function(metadataModel, name) {
return -1; return -1;
}; };
morpheus.MetadataUtil.DEFAULT_STRING_ARRAY_FIELDS = [ 'target', 'moa' ];
morpheus.MetadataUtil.DEFAULT_HIDDEN_FIELDS = new morpheus.Set(); morpheus.MetadataUtil.DEFAULT_HIDDEN_FIELDS = new morpheus.Set();
[ 'pr_analyte_id', 'pr_gene_title', 'pr_gene_id', 'pr_analyte_num', [ 'pr_analyte_id', 'pr_gene_title', 'pr_gene_id', 'pr_analyte_num',
'pr_bset_id', 'pr_lua_id', 'pr_pool_id', 'pr_is_bing', 'pr_is_inf', 'pr_bset_id', 'pr_lua_id', 'pr_pool_id', 'pr_is_bing', 'pr_is_inf',
...@@ -329,24 +331,19 @@ morpheus.MetadataUtil.DEFAULT_HIDDEN_FIELDS = new morpheus.Set(); ...@@ -329,24 +331,19 @@ morpheus.MetadataUtil.DEFAULT_HIDDEN_FIELDS = new morpheus.Set();
'count_cv', 'provenance_code' ].forEach(function(name) { 'count_cv', 'provenance_code' ].forEach(function(name) {
morpheus.MetadataUtil.DEFAULT_HIDDEN_FIELDS.add(name); morpheus.MetadataUtil.DEFAULT_HIDDEN_FIELDS.add(name);
}); });
morpheus.MetadataUtil.DEFAULT_FIELDS_TO_SHOW = {
'cell_id' : true, morpheus.MetadataUtil.maybeConvertStrings = function(metadata,
'pert_idose' : true, metadataStartIndex) {
'pert_itime' : true, for (var i = metadataStartIndex, count = metadata.getMetadataCount(); i < count; i++) {
'Id' : true, morpheus.VectorUtil.maybeConvertStringToNumber(metadata.get(i));
'Name' : true, }
'ID' : true, morpheus.MetadataUtil.DEFAULT_STRING_ARRAY_FIELDS.forEach(function(field) {
'pr_id' : true, if (metadata.getByName(field)) {
'id' : true, morpheus.VectorUtil.maybeConvertToStringArray(metadata
'pr_gene_symbol' : true, .getByName(field), ',');
'pr_is_lm' : true, }
'is_lm' : true, });
'pert_id' : true,
'pert_iname' : true,
'pert_desc' : true,
'Description' : true,
'gene_space' : true,
'pert_type' : true
}; };
morpheus.MetadataUtil.copy = function(src, dest) { morpheus.MetadataUtil.copy = function(src, dest) {
if (src.getItemCount() != dest.getItemCount()) { if (src.getItemCount() != dest.getItemCount()) {
......
...@@ -39,6 +39,30 @@ morpheus.VectorUtil.createValueToCountMap = function(vector) { ...@@ -39,6 +39,30 @@ morpheus.VectorUtil.createValueToCountMap = function(vector) {
} }
return map; return map;
}; };
morpheus.VectorUtil.maybeConvertToStringArray = function(vector, delim) {
var newValues = [];
var regex = new RegExp(delim);
var found = false;
for (var i = 0, nrows = vector.size(); i < nrows; i++) {
var s = vector.getValue(i);
if (s != null) {
var tokens = s.split(regex);
newValues.push(tokens);
if (!found && tokens.length > 1) {
found = true;
}
}
}
if (found) {
for (var i = 0, nrows = newValues.length; i < nrows; i++) {
vector.setValue(i, newValues[i]);
}
}
vector.getProperties().set(morpheus.VectorKeys.DATA_TYPE, '[string]');
return found;
};
morpheus.VectorUtil.maybeConvertStringToNumber = function(vector) { morpheus.VectorUtil.maybeConvertStringToNumber = function(vector) {
var newValues = []; var newValues = [];
...@@ -54,6 +78,7 @@ morpheus.VectorUtil.maybeConvertStringToNumber = function(vector) { ...@@ -54,6 +78,7 @@ morpheus.VectorUtil.maybeConvertStringToNumber = function(vector) {
for (var i = 0, nrows = newValues.length; i < nrows; i++) { for (var i = 0, nrows = newValues.length; i < nrows; i++) {
vector.setValue(i, newValues[i]); vector.setValue(i, newValues[i]);
} }
vector.getProperties().set(morpheus.VectorKeys.DATA_TYPE, 'number');
return true; return true;
}; };
morpheus.VectorUtil.createValuesToIndicesMap = function(vectors) { morpheus.VectorUtil.createValuesToIndicesMap = function(vectors) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment