Changeset 2987
- Timestamp:
- Dec 1, 2006, 11:34:04 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.1/src/plugins/core/net/sf/basedb/plugins/BioAssaySetExporter.java
r2964 r2987 41 41 import net.sf.basedb.core.Include; 42 42 import net.sf.basedb.core.Item; 43 import net.sf.basedb.core.ItemAlreadyExistsException;44 43 import net.sf.basedb.core.ItemParameterType; 45 44 import net.sf.basedb.core.ItemQuery; … … 83 82 import java.util.Comparator; 84 83 import java.util.EnumSet; 84 import java.util.HashMap; 85 85 import java.util.HashSet; 86 86 import java.util.List; … … 97 97 use in MeV (available from http://www.tm4.org). 98 98 99 @author jari 100 @version 2. 099 @author jari, enell 100 @version 2.1 101 101 @base.modified $Date$ 102 102 */ … … 165 165 { 166 166 List<Throwable> errors = validateRequestParameters 167 (getConfigureJobParameters(context).getParameters(), request);167 (getConfigureBasefileParameters(context).getParameters(), request); 168 168 if (errors != null) 169 169 { … … 172 172 return; 173 173 } 174 for (PluginParameter<?> pp : getConfigureBasefileParameters(context).getParameters()) 175 { 176 storeValue(job, request, pp); 177 } 174 175 storeValue(job, request, geneAveragesParameter); 176 storeValue(job, request, serialFormatParameter); 177 storeValues(job, request, usedFieldsParameter); 178 storeValues(job, request, usedColumnsParameter); 178 179 179 180 response.setDone("Job configuration complete", Job.ExecutionTime.SHORT); … … 187 188 188 189 189 private void exportBASE(BioAssaySet bas, File file, Map<String, String> parameters, List<String> reporterFields, List<String> spotFields, Boolean serialFormat, Boolean mergeReporters) 190 private void exportBASE(BioAssaySet bas, File file, Map<String, String> parameters, 191 List<String> reporterFields, List<String> spotFields, Boolean serialFormat, Boolean mergeReporters) 190 192 throws IOException, SQLException 191 193 { … … 195 197 // header and parameter section 196 198 out.println("BASEfile"); 197 if ( parameters != null)199 if (!parameters.isEmpty()) 198 200 { 199 201 for (String key : parameters.keySet()) … … 202 204 } 203 205 out.println("%"); 204 }205 out.println();206 out.println(); 207 } 206 208 207 209 // assay section … … 225 227 if (!values.isEmpty()) out.print(values.iterator().next()); 226 228 } 229 out.println(); 227 230 } 228 231 out.println(); … … 244 247 out.println("%"); 245 248 249 Integer aliasIndex = 0; 250 Map<String, String> aliases = new HashMap<String, String>(); 246 251 DynamicSpotQuery query = ba.getSpotData(); 247 252 for (String field : reporterFields) 248 253 { 249 query.select(Selects.expression(BioAssaySetUtil.createJepExpression(dc, bas, field), field)); 254 ++aliasIndex; 255 query.select(Selects.expression(BioAssaySetUtil.createJepExpression(dc, bas, field), aliasIndex.toString())); 256 aliases.put(field, aliasIndex.toString()); 250 257 } 251 258 for (String field : spotFields) 252 259 { 253 query.select(Selects.expression(BioAssaySetUtil.createJepExpression(dc, bas, field), field)); 260 ++aliasIndex; 261 query.select(Selects.expression(BioAssaySetUtil.createJepExpression(dc, bas, field), 262 aliasIndex.toString())); 263 aliases.put(field, aliasIndex.toString()); 254 264 } 255 265 if (mergeReporters) … … 263 273 for (String column : reporterFields) 264 274 { 265 reporterIndex.add(result.getIndex( column));275 reporterIndex.add(result.getIndex(aliases.get(column))); 266 276 } 267 277 for (String field : spotFields) 268 278 { 269 spotIndex.add(result.getIndex( field));279 spotIndex.add(result.getIndex(aliases.get(field))); 270 280 } 271 281 … … 290 300 out.println(); 291 301 } 292 293 302 out.println(); 294 303 } … … 296 305 else 297 306 { 298 307 // matrix format 299 308 } 300 309 … … 529 538 ( "serialFormat", 530 539 "Export as matrix or serial basefile.", 531 "The data can be exported as a matrix with all data in the same section or in a serial format where the data is separated for each assay.", 540 "The data can be exported as a matrix with all data in the same section or in a " + 541 "serial format where the data is separated for each assay.", 532 542 new BooleanParameterType(false, true, 1, serialFormat)); 533 543 … … 536 546 BioAssaySet bas = (BioAssaySet) job.getValue(bioAssaySetParameter.getName()); 537 547 //Spotfields 548 fields.add("pos()", "Position"); 538 549 int channels = bas.getRawDataType().getChannels(); 539 550 for (int channel = 1; channel <= channels; ++channel) … … 586 597 } 587 598 599 fields.sortValues(); 588 600 //Limsfields??? 589 601 … … 603 615 }); 604 616 Enumeration<String, String> columns = new Enumeration<String, String>(); 617 columns.add("rep('name')", "Reporter name"); 618 columns.add("rep('externalId')", "Reporter ID"); 619 columns.add("rep('symbol')", "Gene symbol"); 620 columns.add("rep('description')", "Description"); 621 columns.add("rep('lastUpdate')", "Last updated"); 605 622 for (ExtendedProperty ep : eps) 606 623 { 607 columns.add(ep.getColumn(), ep.getTitle()); 608 } 624 columns.add("rep('"+ep.getName()+"')", ep.getTitle()); 625 } 626 columns.sortValues(); 609 627 usedColumnsParameter = new PluginParameter<String>( 610 628 "usedColumns", … … 672 690 if (permissions.size() == 0) 673 691 { 674 permissions.add(new Permissions(Item.ANNOTATIONTYPE, null, 675 EnumSet.of(Permission.READ))); 676 permissions.add(new Permissions(Item.DIRECTORY, null, 677 EnumSet.of(Permission.CREATE, 678 Permission.WRITE))); 679 permissions.add(new Permissions(Item.EXPERIMENT, null, 680 EnumSet.of(Permission.READ))); 681 permissions.add(new Permissions(Item.FILE, null, 682 EnumSet.of(Permission.CREATE, 683 Permission.WRITE))); 684 permissions.add(new Permissions(Item.RAWBIOASSAY, null, 685 EnumSet.of(Permission.READ))); 686 permissions.add(new Permissions(Item.USER, null, 687 EnumSet.of(Permission.READ))); 692 permissions.add(new Permissions(Item.ANNOTATIONTYPE, null, EnumSet.of(Permission.READ))); 693 permissions.add(new Permissions(Item.DIRECTORY, null, EnumSet.of(Permission.CREATE, Permission.WRITE))); 694 permissions.add(new Permissions(Item.EXPERIMENT, null, EnumSet.of(Permission.READ))); 695 permissions.add(new Permissions(Item.FILE, null, EnumSet.of(Permission.CREATE, Permission.WRITE))); 696 permissions.add(new Permissions(Item.RAWBIOASSAY, null, EnumSet.of(Permission.READ))); 697 permissions.add(new Permissions(Item.USER, null, EnumSet.of(Permission.READ))); 688 698 } 689 699 return permissions; … … 754 764 else if (format.equals(FORMAT_BASEFILE)) 755 765 { 756 List<String> reporterFields = new ArrayList<String>((List<String>) job.getValues( usedColumnsParameter.getName()));757 List<String> spotFields = new ArrayList<String>((List<String>) job.getValues( usedFieldsParameter.getName()));758 759 boolean serialFormat = (Boolean) job.getValue( serialFormatParameter.getName());760 boolean geneAverage = (Boolean) job.getValue( geneAveragesParameter.getName());761 762 exportBASE(bioassayset, file, null, reporterFields, spotFields, serialFormat, geneAverage);766 List<String> reporterFields = new ArrayList<String>((List<String>) job.getValues("usedColumns")); 767 List<String> spotFields = new ArrayList<String>((List<String>) job.getValues("usedFields")); 768 769 boolean serialFormat = (Boolean) job.getValue("serialFormat"); 770 boolean geneAverage = (Boolean) job.getValue("geneAverages"); 771 772 exportBASE(bioassayset, file, Collections.EMPTY_MAP, reporterFields, spotFields, serialFormat, geneAverage); 763 773 } 764 774 else
Note: See TracChangeset
for help on using the changeset viewer.