-import fr.orsay.lri.varna.utils.RNAMLParser;
-
-public class RnamlFile extends AlignFile {
- public int id;
- public String namefile;
- public String name;
- protected ArrayList<RNA> result;
-
- public RnamlFile() {
- super();
-
- }
-
- public RnamlFile(String inFile, String type) throws Exception {
- super(inFile, type);
-
- }
-
- public RnamlFile(FileParse source) throws Exception {
- super(source);
-
- }
-
- public BufferedReader CreateReader() throws FileNotFoundException {
- FileReader fr = null;
- fr = new FileReader(inFile);
-
- BufferedReader r = new BufferedReader(fr);
- return r;
- }
-
- @SuppressWarnings("unchecked")
- public void parse() throws FileNotFoundException,
- ExceptionPermissionDenied, ExceptionLoadingFailed,
- ExceptionFileFormatOrSyntax {
-
- result = RNAFactory.loadSecStrRNAML(getReader());
-
- ArrayList<ArrayList> allarray = new ArrayList();
- ArrayList<ArrayList<SimpleBP>> BP = new ArrayList();
- ArrayList strucinarray = new ArrayList();
- SequenceI[] seqs = new SequenceI[result.size()];
- namefile = inFile.getName();
-
- for (int i = 0; i < result.size(); i++) {
-
- RNA current = result.get(i);
- String rna = current.getStructDBN(true);
- String seq = current.getSeq();
- int begin = 1;
- int end = 1000;
- id = i;
- System.out.println("id=" + i);
- name = this.safeName(namefile, i);
- seqs[i] = new Sequence(name, seq, begin, end);
-
- seqs[i].setEnd(seqs[i].findPosition(seqs[i].getLength()));
- String[] annot = new String[rna.length()];
- Annotation[] ann = new Annotation[rna.length()];
-
- for (int j = 0; j < rna.length(); j++) {
- annot[j] = "" + rna.charAt(j);
-
- }
- for (int k = 0; k < rna.length(); k++) {
- ann[k] = new Annotation(annot[k], "",
- jalview.schemes.ResidueProperties.getRNASecStrucState(
- annot[k]).charAt(0), 0f);
- }
-
- AlignmentAnnotation align = new AlignmentAnnotation("Sec. str.",
- current.getID(), ann);
-
- seqs[i].addAlignmentAnnotation(align);
- seqs[i].setRNA(result.get(i));
-
- char[] struc = align.getRNAStruc().toCharArray();
-
- allarray.add(strucinarray);
-
- this.annotations.addElement(align);
- BP.add(align.bps);
-
- }
- this.setSeqs(seqs);
- int[] tab = SecStrConsensus.extractConsensus(BP);
-
-
- }
-
- public void parse(BufferedReader r) throws ExceptionPermissionDenied,
- ExceptionLoadingFailed, ExceptionFileFormatOrSyntax {
-
- result = RNAFactory.loadSecStrRNAML(r);
-
- ArrayList<ArrayList> allarray = new ArrayList();
- ArrayList<ArrayList<SimpleBP>> BP = new ArrayList();
- ArrayList strucinarray = new ArrayList();
- SequenceI[] seqs = new SequenceI[result.size()];
- namefile = inFile.getName();
-
- for (int i = 0; i < result.size(); i++) {
-
- RNA current = result.get(i);
- String rna = current.getStructDBN(true);
-
- String seq = current.getSeq();
- int begin = 1;
- int end = 1000;
- id = i;
- name = this.safeName(namefile, i);
- seqs[i] = new Sequence(name, seq, begin, end);
-
- seqs[i].setEnd(seqs[i].findPosition(seqs[i].getLength()));
- String[] annot = new String[rna.length()];
- Annotation[] ann = new Annotation[rna.length()];
-
- for (int j = 0; j < rna.length(); j++) {
- annot[j] = "" + rna.charAt(j);
-
- }
- for (int k = 0; k < rna.length(); k++) {
- ann[k] = new Annotation(annot[k], "",
- jalview.schemes.ResidueProperties.getRNASecStrucState(
- annot[k]).charAt(0), 0f);
- }
-
- AlignmentAnnotation align = new AlignmentAnnotation("Sec. str.",
- current.getID(), ann);
-
- seqs[i].addAlignmentAnnotation(align);
- seqs[i].setRNA(result.get(i));
-
- char[] struc = align.getRNAStruc().toCharArray();
- for (int y = 0; y < struc.length; y++) {
- strucinarray.add(struc[y]);
- // System.out.println("structy"+struc[y]);
- }
- // System.out.println("Sequence"+i+"\t : "+strucinarray.toString());
- allarray.add(strucinarray);
-
- this.annotations.addElement(align);
- System.out.println(rna);
- BP.add(align.bps);
- System.out.println(align.bps.size());
- }
- this.setSeqs(seqs);
- int[] tab = SecStrConsensus.extractConsensus(BP);
-
-
- }
-
-
-
- public static String print(SequenceI[] s) {
- return "not yet implemented";
- }
-
- public String print() {
- System.out.print("print :");
- return print(getSeqsAsArray());
- }
-
- public ArrayList getRNA() {
- return result;
- }
-
- public Vector getAnnot() {
- return annotations;
- }
-
- // public static void main(String[] args) {
- // Pattern p= Pattern.compile("(.+)[.][^.]+");
- // Matcher m = p.matcher("toto.xml.zip");
- // System.out.println(m.matches());
- // System.out.println(m.group(1));
- // }
- public String safeName(String namefile, int id) {
-
- Pattern p = Pattern.compile("(.*)[.][^.]+");
- Matcher m = p.matcher(namefile);
- name = m.group(1) + "_" + id;
-
- return name;
-
- }