Java Rename File renameContigs(File aliasFile, File cytobandFile, File seqDir)

Here you can find the source of renameContigs(File aliasFile, File cytobandFile, File seqDir)

Description

rename Contigs

License

Open Source License

Declaration

public static void renameContigs(File aliasFile, File cytobandFile, File seqDir) throws IOException 

Method Source Code


//package com.java2s;
/*//from   w  w  w  . j a  v a  2 s .c om
 * Copyright (c) 2007-2011 by The Broad Institute of MIT and Harvard.  All Rights Reserved.
 *
 * This software is licensed under the terms of the GNU Lesser General Public License (LGPL),
 * Version 2.1 which is available at http://www.opensource.org/licenses/lgpl-2.1.php.
 *
 * THE SOFTWARE IS PROVIDED "AS IS." THE BROAD AND MIT MAKE NO REPRESENTATIONS OR
 * WARRANTES OF ANY KIND CONCERNING THE SOFTWARE, EXPRESS OR IMPLIED, INCLUDING,
 * WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 * PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, WHETHER
 * OR NOT DISCOVERABLE.  IN NO EVENT SHALL THE BROAD OR MIT, OR THEIR RESPECTIVE
 * TRUSTEES, DIRECTORS, OFFICERS, EMPLOYEES, AND AFFILIATES BE LIABLE FOR ANY DAMAGES
 * OF ANY KIND, INCLUDING, WITHOUT LIMITATION, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
 * ECONOMIC DAMAGES OR INJURY TO PROPERTY AND LOST PROFITS, REGARDLESS OF WHETHER
 * THE BROAD OR MIT SHALL BE ADVISED, SHALL HAVE OTHER REASON TO KNOW, OR IN FACT
 * SHALL KNOW OF THE POSSIBILITY OF THE FOREGOING.
 */

import java.io.*;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void renameContigs(File aliasFile, File cytobandFile, File seqDir) throws IOException {

        BufferedReader aliasReader = null;
        BufferedReader cytoReader = null;
        PrintWriter cytoWriter = null;

        File tmpCytoFile = new File(cytobandFile.getAbsolutePath() + ".tmp");

        File backup = new File(cytobandFile.getAbsolutePath() + ".bak");
        copyFile(cytobandFile, backup);

        try {
            aliasReader = new BufferedReader(new FileReader(aliasFile));
            cytoReader = new BufferedReader(new FileReader(cytobandFile));
            cytoWriter = new PrintWriter(new BufferedWriter(new FileWriter(tmpCytoFile)));

            Map<String, String> map = new HashMap();
            String nextLine;
            while ((nextLine = aliasReader.readLine()) != null) {
                String[] tokens = nextLine.split("\t");
                if (tokens.length > 1) {
                    map.put(tokens[0], tokens[1]);

                } else {
                    System.out.println(nextLine);
                }

            }

            while ((nextLine = cytoReader.readLine()) != null) {
                String[] tokens = nextLine.split("\t");
                String newName = map.get(tokens[0]);
                if (newName != null) {
                    String oldName = tokens[0];
                    tokens[0] = newName;

                    File seqFile = new File(seqDir, oldName + ".txt");
                    File newSeqfile = new File(seqDir, newName + ".txt");
                    copyFile(seqFile, newSeqfile);
                }
                cytoWriter.print(tokens[0]);
                for (int i = 1; i < tokens.length; i++) {
                    cytoWriter.print("\t" + tokens[i]);
                }
                cytoWriter.println();
            }

        } finally {
            if (aliasReader != null)
                aliasReader.close();
            if (cytoReader != null)
                cytoReader.close();
            if (cytoWriter != null)
                cytoWriter.close();
        }
        copyFile(tmpCytoFile, cytobandFile);

    }

    private static void copyFile(File fromFile, File toFile) throws IOException {

        System.out.println("cp " + fromFile.getName() + " " + toFile.getName());

        Runtime.getRuntime().exec("cp " + fromFile.getAbsolutePath() + " " + toFile.getAbsolutePath());

    }
}

Related

  1. rename(String strFileName, String strRenameToName)
  2. rename(String was_name, String new_name)
  3. rename_file_to_file(String n1, String n2)
  4. renameBackup(File backupFile)
  5. renameCanDelete()
  6. renameDirectory(File directory, File newDirectory)
  7. renameDirectory(File fromDir, File toDir)
  8. renameDirectory(String in_currentDirectoryPath, String in_newDirectoryPath)
  9. renameDirectory(String newDir, String oldDir)