2 * File written by Raphael Champeimont
3 * UMR 7238 Genomique des Microorganismes
5 package fr.orsay.lri.varna.utils;
7 import java.io.BufferedReader;
8 import java.io.BufferedWriter;
10 import java.io.FileReader;
11 import java.io.FileWriter;
12 import java.io.IOException;
13 import java.util.ArrayList;
14 import java.util.List;
16 public class TranslateFormatRNaseP {
17 public static void main(String[] args) throws Exception {
18 File templatesDir = new File(new File(System.getProperty("user.dir")), "templates");
19 File infile = new File(new File(templatesDir, "RNaseP_bact_a"), "a_bacterial_rnas.gb");
20 File outfile = new File(new File(templatesDir, "RNaseP_bact_a"), "alignment.fasta");
22 BufferedReader inbuf = new BufferedReader(new FileReader(infile));
23 String line = inbuf.readLine();
25 List<String> seqnames = new ArrayList<String>();
26 List<String> sequences = new ArrayList<String>();
27 while (line != null) {
28 if (line.length() != 0) {
29 if (line.startsWith("LOCUS")) {
30 String parts[] = line.split("\\s+");
32 seqnames.add(seqname);
35 if (line.startsWith(" ")) {
36 String parts[] = line.split("\\s+");
37 for (int i=2; i<parts.length; i++) {
38 sequences.set(sequences.size()-1, sequences.get(sequences.size()-1) + parts[i]);
42 line = inbuf.readLine();
46 BufferedWriter outbuf = new BufferedWriter(new FileWriter(outfile));
47 for (int i=2; i<seqnames.size(); i++) {
48 outbuf.write(">" + seqnames.get(i) + "\n");
49 outbuf.write(sequences.get(i) + "\n");