List of usage examples for org.apache.commons.io FilenameUtils concat
public static String concat(String basePath, String fullFilenameToAdd)
From source file:edu.cornell.med.icb.goby.alignments.TestConcatAlignmentReader.java
@Before public void setUp() throws IOException { {// www.j a v a 2 s .co m outputBasename1 = FilenameUtils.concat(BASE_TEST_DIR, "concat-align-101"); final AlignmentWriterImpl writer = new AlignmentWriterImpl(outputBasename1); writer.setNumAlignmentEntriesPerChunk(1000); writer.setAlignerName("first-aligner"); writer.setAlignerVersion("version-first-aligner"); writer.setReadOriginInfo(buildReadGroup(0, "group_0_sample_1", "ILLUMINA", "concat-align-101")); writer.addReadOriginInfo(buildReadGroup(1, "group_1_sample_1", "454", "concat-align-101")); writer.addReadOriginInfo(buildReadGroup(2, "group_2_sample_1", "another", "concat-align-101")); final int numQuery = 10; int position = 100; final int score = 30; for (int targetIndex = 0; targetIndex < numTargets; targetIndex++) { for (int queryIndex = 0; queryIndex < numQuery; queryIndex++) { Alignments.AlignmentEntry.Builder newEntry = Alignments.AlignmentEntry.newBuilder(); newEntry.setQueryIndex(queryIndex); newEntry.setTargetIndex(targetIndex); newEntry.setScore((float) score); newEntry.setPosition(position++); newEntry.setMatchingReverseStrand(false); newEntry.setMultiplicity(1); newEntry.setQueryLength(constantQueryLength); newEntry.setReadOriginIndex(0); writer.appendEntry(newEntry.build()); numEntriesIn101++; count101++; } } numQueries101 = numQuery; writer.close(); // reads in basename1 hit in 10 different places in the genome. They should be filtered when // removing ambiguous reads. AlignmentTooManyHitsWriter tmhWriter = new AlignmentTooManyHitsWriter(outputBasename1, 2); for (int queryIndex = 0; queryIndex < numQuery; queryIndex++) { tmhWriter.append(queryIndex, 10, 30); } tmhWriter.close(); } { outputBasename2 = FilenameUtils.concat(BASE_TEST_DIR, "concat-align-102"); final AlignmentWriterImpl writer = new AlignmentWriterImpl(outputBasename2); writer.setAlignerName("second-aligner"); writer.setAlignerVersion("version-second-aligner"); writer.setNumAlignmentEntriesPerChunk(1000); writer.setReadOriginInfo(buildReadGroup(0, "group_0_sample_2", "SOLID", "concat-align-102")); final int numQuery = 13; int position = 1; final int score = 50; for (int targetIndex = 0; targetIndex < numTargets; targetIndex++) { for (int queryIndex = 0; queryIndex < numQuery; queryIndex++) { Alignments.AlignmentEntry.Builder newEntry = Alignments.AlignmentEntry.newBuilder(); newEntry.setQueryIndex(queryIndex); newEntry.setTargetIndex(targetIndex); newEntry.setScore((float) score); newEntry.setPosition(position++); newEntry.setMatchingReverseStrand(false); newEntry.setMultiplicity(1); newEntry.setQueryLength(constantQueryLength); newEntry.setReadOriginIndex(0); writer.appendEntry(newEntry.build()); numEntriesIn102++; count102++; } } numQueries102 = numQuery; writer.close(); // reads in basename 2 have just one hit, they are never ambiguous AlignmentTooManyHitsWriter tmhWriter = new AlignmentTooManyHitsWriter(outputBasename2, 2); for (int queryIndex = 0; queryIndex < numQuery; queryIndex++) { tmhWriter.append(queryIndex, 1, 30); } tmhWriter.close(); } }
From source file:edu.cornell.med.icb.goby.alignments.TestAlignmentIndex.java
@Test public void testReposition() throws IOException { int[] targetLengths = new int[] { 100, 50, 20, 10, 5 }; final String basename1 = FilenameUtils.concat(BASE_TEST_DIR, "align-index-error-2"); final AlignmentWriterImpl writer = new AlignmentWriterImpl(basename1); writer.setTargetLengths(targetLengths); writer.setNumAlignmentEntriesPerChunk(1); writer.setSorted(true);//from w w w . j a v a 2s .c o m int queryIndex = 0; writer.setAlignmentEntry(queryIndex++, 0, 99, 30, false, constantQueryLength); writer.appendEntry(); writer.setAlignmentEntry(queryIndex++, 1, 0, 30, false, constantQueryLength); writer.appendEntry(); writer.setAlignmentEntry(queryIndex++, 1, 1, 30, false, constantQueryLength); writer.appendEntry(); writer.close(); AlignmentReaderImpl reader = new AlignmentReaderImpl(basename1); reader.readHeader(); assertNotNull(reader.skipTo(1, 0)); // now reposition to an earlier position (since 1.9.6): reader.reposition(0, 99); assertNotNull(reader.skipTo(1, 0)); assertNotNull(reader.skipTo(1, 1)); reader.reposition(0, 99); assertNotNull(reader.skipTo(1, 0)); assertNotNull(reader.skipTo(1, 1)); }
From source file:com.enderville.enderinstaller.util.InstallScript.java
/** * Installs the specified list of mods, updating the gui as it goes. * * @param mods The list of mods to install. * @param text The text area to update with logging statements. * @param progressBar The progress bar to update. *///from w w w .j a va 2 s.c o m public static void guiInstall(List<String> mods, JTextArea text, JProgressBar progressBar) { //Create backups to restore if the install fails. try { createBackup(); } catch (IOException e) { text.append("Failed to create backup copies of minecraft.jar and mods folder"); LOGGER.error("Failed to create backup copies of minecraft.jar and mods folder", e); return; } //Create a temp directory where we can unpack the jar and install mods. File tmp; try { tmp = getTempDir(); } catch (IOException e) { text.append("Error creating temp directory!"); LOGGER.error("Install Error", e); return; } if (!tmp.mkdirs()) { text.append("Error creating temp directory!"); return; } File mcDir = new File(InstallerConfig.getMinecraftFolder()); File mcJar = new File(InstallerConfig.getMinecraftJar()); File reqDir = new File(InstallerConfig.getRequiredModsFolder()); //Calculate the number of "tasks" for the progress bar. int reqMods = 0; for (File f : reqDir.listFiles()) { if (f.isDirectory()) { reqMods++; } } //3 "other" steps: unpack, repack, delete temp int baseTasks = 3; int taskSize = reqMods + mods.size() + baseTasks; progressBar.setMinimum(0); progressBar.setMaximum(taskSize); int task = 1; try { text.append("Unpacking minecraft.jar\n"); unpackMCJar(tmp, mcJar); progressBar.setValue(task++); text.append("Installing Core mods\n"); //TODO specific ordering required! for (File mod : reqDir.listFiles()) { if (!mod.isDirectory()) { continue; } String name = mod.getName(); text.append("...Installing " + name + "\n"); installMod(mod, tmp, mcDir); progressBar.setValue(task++); } if (!mods.isEmpty()) { text.append("Installing Extra mods\n"); //TODO specific ordering required! for (String name : mods) { File mod = new File(FilenameUtils .normalize(FilenameUtils.concat(InstallerConfig.getExtraModsFolder(), name))); text.append("...Installing " + name + "\n"); installMod(mod, tmp, mcDir); progressBar.setValue(task++); } } text.append("Repacking minecraft.jar\n"); repackMCJar(tmp, mcJar); progressBar.setValue(task++); } catch (Exception e) { text.append("!!!Error installing mods!!!"); LOGGER.error("Installation error", e); try { restoreBackup(); } catch (IOException ioe) { text.append("Error while restoring backup files minecraft.jar.backup and mods_backup folder\n!"); LOGGER.error("Error while restoring backup files minecraft.jar.backup and mods_backup folder!", ioe); } } text.append("Deleting temporary files\n"); try { FileUtils.deleteDirectory(tmp); progressBar.setValue(task++); } catch (IOException e) { text.append("Error deleting temporary files!\n"); LOGGER.error("Install Error", e); return; } text.append("Finished!"); }
From source file:edu.cornell.med.icb.goby.alignments.TestReadWriteAlignments.java
/** * Validate that the the alignment header constant query length * ({@link edu.cornell.med.icb.goby.alignments.Alignments.AlignmentHeader#hasConstantQueryLength()}) * is set to true when queries of the same length get appended. * @throws IOException if there is a problem reading or writing the alignment */// www. ja v a 2s. c o m @Test public void constantQueryLengths() throws IOException { final AlignmentWriter writer = new AlignmentWriterImpl( FilenameUtils.concat(BASE_TEST_DIR, "constant-query-lengths")); for (int queryIndex = 0; queryIndex < 4; queryIndex++) { final Alignments.AlignmentEntry.Builder builder = Alignments.AlignmentEntry.newBuilder(); builder.setQueryLength(11); builder.setQueryIndex(queryIndex); builder.setTargetIndex(42); builder.setPosition(0); builder.setMatchingReverseStrand(true); final Alignments.AlignmentEntry entry = builder.build(); writer.appendEntry(entry); } writer.close(); final AlignmentReaderImpl reader = new AlignmentReaderImpl( FilenameUtils.concat(BASE_TEST_DIR, "constant-query-lengths")); for (final Alignments.AlignmentEntry entry : reader) { assertEquals(11, entry.getQueryLength()); } reader.readHeader(); assertTrue("query length should be constant", reader.isConstantQueryLengths()); assertEquals("Number of queries do not match", 4, reader.getNumberOfQueries()); }
From source file:com.blueverdi.rosietheriveter.PhotoViewActivity.java
void zoomIn() { Intent i = new Intent(this, ImageZoomActivity.class); String fn = FilenameUtils.concat(imageSource, imageFiles[index]); i.putExtra(ImageZoomActivity.IMAGE_FQN, fn); startActivity(i);// www. j a v a 2 s. co m }
From source file:edu.cornell.med.icb.goby.alignments.TestMerge.java
@Test public void testIgnoreTooManyHits() throws IOException { synchronized (this) { // make the too many hits info: final AlignmentTooManyHitsWriter tmhWriter = new AlignmentTooManyHitsWriter( FilenameUtils.concat(BASE_TEST_DIR, "align-102"), 4); // tmhWriter will only write entries if numHits > thresh tmhWriter.getNewAmbiguousLocation().setAtLeastNumberOfHits(5); tmhWriter.getNewAmbiguousLocation().setQueryIndex(0); tmhWriter.append();//from w w w. j a va 2 s. co m tmhWriter.getNewAmbiguousLocation().setAtLeastNumberOfHits(15); tmhWriter.getNewAmbiguousLocation().setQueryIndex(1); tmhWriter.append(); tmhWriter.close(); final Merge merger = new Merge(3); final List<File> inputFiles; final String outputFile; final String basename; final int count; inputFiles = new ArrayList<File>(); inputFiles.add(new File(FilenameUtils.concat(BASE_TEST_DIR, "align-102"))); inputFiles.add(new File(FilenameUtils.concat(BASE_TEST_DIR, "align-102"))); outputFile = FilenameUtils.concat(BASE_TEST_DIR, "out-103-merged"); merger.setK(3); merger.merge(inputFiles, outputFile); // With k=3 and twice the same input file, the merge should keep twice the queries with best score: basename = outputFile; count = countAlignmentEntries(basename); assertEquals(count, (numQueries101 - 2) * 2/* two queries excluded because of too many hits with k=3 */); } }
From source file:ffx.xray.Rescore.java
private File rescoreSingle(File modelFile, RescoreStrategy rscType, DoubleIndexPair[] energies, int i) { Path filepath = generatePath(modelFile); if (filepath == null) { logger.warning(String.format(" Could not generate path to file %s", modelFile.toPath())); return null; }/* w ww .j a va2 s.co m*/ String filename = pwdPath.relativize(filepath).toString(); File retFile = modelFile; try { MolecularAssembly[] openedAssemblies = utils.open(filename); MolecularAssembly assembly = openedAssemblies[0]; switch (rscType) { case NO_RESCORE: logger.warning(" Rescore is being called with rscType = NO_RESCORE"); break; case ENERGY_EVAL: break; case MINIMIZE: logger.info(String.format("\n Running minimize on %s", filename)); logger.info(String.format(" RMS gradient convergence criteria: %f", eps)); utils.energy(assembly); utils.minimize(assembly, eps); String ext = FilenameUtils.getExtension(filename); ext = ".".concat(ext); if (resultDir != null) { filename = FilenameUtils.getBaseName(filename); filename = FilenameUtils.concat(resultPath.toString(), filename); } else { filename = FilenameUtils.removeExtension(filename); } filename = filename.concat(fileSuffix).concat(ext); retFile = new File(filename); if (ext.toUpperCase().contains("XYZ")) { utils.saveAsXYZ(assembly, retFile); } else { utils.saveAsPDB(assembly, retFile); } break; case XRAY_MIN: logger.info(String.format("\n Running x-ray minimize on %s", filename)); DiffractionFile diffractionFile = null; if (diffractionFiles.isEmpty()) { diffractionFile = new DiffractionFile(assembly, 1.0, false); diffractionFiles.add(diffractionFile); } CompositeConfiguration properties = Keyword.loadProperties(modelFile); DiffractionData diffractionData = new DiffractionData(assembly, properties, SolventModel.POLYNOMIAL, diffractionFiles.toArray(new DiffractionFile[diffractionFiles.size()])); diffractionData.scaleBulkFit(); diffractionData.printStats(); utils.energy(assembly); RefinementMinimize refinementMinimize = new RefinementMinimize(diffractionData, refinementMode); if (eps < 0.0) { eps = refinementMinimize.getEps(); } logger.info(String.format("\n RMS gradient convergence criteria: %8.5f max number of iterations %d", eps, maxiter)); refinementMinimize.minimize(eps, maxiter); diffractionData.scaleBulkFit(); diffractionData.printStats(); ext = FilenameUtils.getExtension(filename); ext = ".".concat(ext); if (resultDir != null) { filename = FilenameUtils.getBaseName(filename); filename = FilenameUtils.concat(resultPath.toString(), filename); } else { filename = FilenameUtils.removeExtension(filename); } filename = filename.concat(fileSuffix); diffractionData.writeData(filename + ".mtz"); filename = filename.concat(ext); diffractionData.writeModel(filename); retFile = new File(filename); if (diffractionFile != null) { try { diffractionFiles.remove(diffractionFile); } catch (UnsupportedOperationException ex) { // This should never occur, because diffractionFiles should be of a List type supporting remove(object). diffractionFiles = new ArrayList<>(); } } break; case RS_MIN: logger.info(String.format("\n Running real-space minimize on %s", filename)); RealSpaceFile realspaceFile = null; if (mapFiles.isEmpty()) { realspaceFile = new RealSpaceFile(assembly); mapFiles.add(realspaceFile); } properties = Keyword.loadProperties(modelFile); RealSpaceData realspaceData = new RealSpaceData(assembly, properties, new ParallelTeam(), mapFiles.toArray(new RealSpaceFile[mapFiles.size()])); utils.energy(assembly); refinementMinimize = new RefinementMinimize(realspaceData, refinementMode); if (eps < 0.0) { eps = 1.0; } logger.info(String.format("\n RMS gradient convergence criteria: %8.5f max number of iterations %d", eps, maxiter)); refinementMinimize.minimize(eps, maxiter); ext = FilenameUtils.getExtension(filename); ext = ".".concat(ext); if (resultDir != null) { filename = FilenameUtils.getBaseName(filename); filename = FilenameUtils.concat(resultPath.toString(), filename); } else { filename = FilenameUtils.removeExtension(filename); } filename = filename.concat(fileSuffix).concat(ext); retFile = new File(filename); if (ext.toUpperCase().contains("XYZ")) { utils.saveAsXYZ(assembly, retFile); } else { utils.saveAsPDB(assembly, retFile); } if (realspaceFile != null) { try { mapFiles.remove(realspaceFile); } catch (UnsupportedOperationException ex) { // This should never occur, because diffractionFiles should be of a List type supporting remove(object). mapFiles = new ArrayList<>(); } } break; default: logger.severe(" No valid rescore type: FFX will not continue."); } double e = utils.returnEnergy(assembly); energies[i] = new DoubleIndexPair(i, e); utils.closeAll(openedAssemblies); } catch (Exception ex) { logger.warning(String.format(" Exception rescoring on file %s", filename)); logger.info(ex.toString()); } return retFile; }
From source file:com.mbrlabs.mundus.assets.EditorAssetManager.java
private MetaFile createMetaFileFromAsset(FileHandle assetFile, AssetType type) throws IOException { String metaName = assetFile.name() + "." + MetaFile.META_EXTENSION; String metaPath = FilenameUtils.concat(rootFolder.path(), metaName); return createNewMetaFile(new FileHandle(metaPath), type); }
From source file:com.perceptive.epm.perkolcentral.bl.ImageNowLicenseBL.java
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.SERIALIZABLE, rollbackFor = ExceptionWrapper.class) public void provideImageNowLicense(Imagenowlicenses imagenowlicenses, String providerUID) throws ExceptionWrapper { try {/*www.j a v a 2s . c o m*/ imagenowlicenses = imageNowLicenseDataAccessor .getAllImageNowLicensesByRequestId(imagenowlicenses.getImageNowLicenseRequestId()); imagenowlicenses.setIsProvided(true); imagenowlicenses.setLicenseProvidedOn(Calendar.getInstance().getTime()); File filePathForThisRequest = new File( FilenameUtils.concat(fileUploadPath, imagenowlicenses.getImageNowLicenseRequestId())); imageNowLicenseDataAccessor.updateImageNowLicense(imagenowlicenses, providerUID); FileUtils.deleteQuietly(filePathForThisRequest); } catch (Exception ex) { throw new ExceptionWrapper(ex); } }
From source file:com.cloudant.sync.datastore.DatastoreImpl.java
/** * Constructor for single thread SQLCipher-based datastore. * @param dir The directory where the datastore will be created * @param name The user-defined name of the datastore * @param provider The key provider object that contains the user-defined SQLCipher key * @throws SQLException//from w w w .j a v a 2 s.c o m * @throws IOException */ public DatastoreImpl(String dir, String name, KeyProvider provider) throws SQLException, IOException, DatastoreException { Preconditions.checkNotNull(dir); Preconditions.checkNotNull(name); Preconditions.checkNotNull(provider); this.keyProvider = provider; this.datastoreDir = dir; this.datastoreName = name; this.extensionsDir = FilenameUtils.concat(this.datastoreDir, "extensions"); final String dbFilename = FilenameUtils.concat(this.datastoreDir, DB_FILE_NAME); queue = new SQLDatabaseQueue(dbFilename, provider); int dbVersion = queue.getVersion(); // Increment the hundreds position if a schema change means that older // versions of the code will not be able to read the migrated database. if (dbVersion >= 200) { throw new DatastoreException(String.format("Database version is higher than the version supported " + "by this library, current version %d , highest supported version %d", dbVersion, 99)); } queue.updateSchema(new SchemaOnlyMigration(DatastoreConstants.getSchemaVersion3()), 3); queue.updateSchema(new SchemaOnlyMigration(DatastoreConstants.getSchemaVersion4()), 4); queue.updateSchema(new SchemaOnlyMigration(DatastoreConstants.getSchemaVersion5()), 5); queue.updateSchema(new SchemaOnlyMigration(DatastoreConstants.getSchemaVersion6()), 6); queue.updateSchema(new MigrateDatabase6To100(), 100); this.eventBus = new EventBus(); this.attachmentsDir = this.extensionDataFolder(ATTACHMENTS_EXTENSION_NAME); this.attachmentStreamFactory = new AttachmentStreamFactory(this.getKeyProvider()); }