/** * Method which writes the cancer study metadata file. * * @param portalMetadata PortalMetadata * @param cancerStudyMetadata CancerStudyMetadata * @param numCases int * @throws Exception */ @Override public void writeCancerStudyMetadataFile( PortalMetadata portalMetadata, CancerStudyMetadata cancerStudyMetadata, int numCases) throws Exception { File metaFile = org.apache.commons.io.FileUtils.getFile( portalMetadata.getStagingDirectory(), cancerStudyMetadata.getStudyPath(), cancerStudyMetadata.getCancerStudyMetadataFilename()); if (LOG.isInfoEnabled()) { LOG.info("writeMetadataFile(), meta file: " + metaFile); } PrintWriter writer = new PrintWriter(org.apache.commons.io.FileUtils.openOutputStream(metaFile, false)); writer.print("type_of_cancer: " + cancerStudyMetadata.getTumorType() + "\n"); writer.print("cancer_study_identifier: " + cancerStudyMetadata + "\n"); String name = (cancerStudyMetadata.getName().length() > 0) ? cancerStudyMetadata.getName() : cancerStudyMetadata.getTumorTypeMetadata().getName(); name = name.replaceAll( CancerStudyMetadata.TUMOR_TYPE_NAME_TAG, cancerStudyMetadata.getTumorTypeMetadata().getName()); writer.print("name: " + name + "\n"); String description = cancerStudyMetadata.getDescription(); description = description.replaceAll(CancerStudyMetadata.NUM_CASES_TAG, Integer.toString(numCases)); description = description.replaceAll( CancerStudyMetadata.TUMOR_TYPE_TAG, cancerStudyMetadata.getTumorTypeMetadata().getType()); description = description.replaceAll( CancerStudyMetadata.TUMOR_TYPE_NAME_TAG, cancerStudyMetadata.getTumorTypeMetadata().getName()); writer.print("description: " + description + "\n"); if (cancerStudyMetadata.getCitation().length() > 0) { writer.print("citation: " + cancerStudyMetadata.getCitation() + "\n"); } if (cancerStudyMetadata.getPMID().length() > 0) { writer.print("pmid: " + cancerStudyMetadata.getPMID() + "\n"); } writer.flush(); writer.close(); }
/** * Method which writes a metadata file for the given DatatypeMetadata. DataMatrix may be null. * * @param portalMetadata PortalMetadata * @param cancerStudyMetadata CancerStudyMetadata * @param datatypeMetadata DatatypeMetadata * @param dataMatrix DataMatrix * @throws Exception */ @Override public void writeMetadataFile( PortalMetadata portalMetadata, CancerStudyMetadata cancerStudyMetadata, DatatypeMetadata datatypeMetadata, DataMatrix dataMatrix) throws Exception { File metaFile = org.apache.commons.io.FileUtils.getFile( portalMetadata.getStagingDirectory(), cancerStudyMetadata.getStudyPath(), datatypeMetadata.getMetaFilename()); if (LOG.isInfoEnabled()) { LOG.info("writeMetadataFile(), meta file: " + metaFile); } PrintWriter writer = new PrintWriter(org.apache.commons.io.FileUtils.openOutputStream(metaFile, false)); writer.print("cancer_study_identifier: " + cancerStudyMetadata + "\n"); writer.print( "genetic_alteration_type: " + datatypeMetadata.getMetaGeneticAlterationType() + "\n"); String stableID = datatypeMetadata.getMetaStableID(); stableID = stableID.replaceAll(DatatypeMetadata.CANCER_STUDY_TAG, cancerStudyMetadata.toString()); writer.print("stable_id: " + stableID + "\n"); writer.print( "show_profile_in_analysis_tab: " + datatypeMetadata.getMetaShowProfileInAnalysisTab() + "\n"); String profileDescription = datatypeMetadata.getMetaProfileDescription(); if (dataMatrix != null) { profileDescription = profileDescription.replaceAll( DatatypeMetadata.NUM_GENES_TAG, Integer.toString(dataMatrix.getGeneIDs().size())); profileDescription = profileDescription.replaceAll( DatatypeMetadata.NUM_CASES_TAG, Integer.toString(dataMatrix.getCaseIDs().size())); } profileDescription = profileDescription.replaceAll( DatatypeMetadata.TUMOR_TYPE_TAG, cancerStudyMetadata.getTumorType()); writer.print("profile_description: " + profileDescription + "\n"); writer.print("profile_name: " + datatypeMetadata.getMetaProfileName() + "\n"); writer.flush(); writer.close(); }