import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
+import jalview.ws.jws1.Annotate3D;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import fr.orsay.lri.varna.exceptions.ExceptionLoadingFailed;
import fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied;
import fr.orsay.lri.varna.factories.RNAFactory;
+import fr.orsay.lri.varna.factories.RNAFactory.RNAFileType;
import fr.orsay.lri.varna.models.rna.RNA;
import fr.orsay.lri.varna.utils.RNAMLParser;
public class RnamlFile extends AlignFile
{
public String id;
+ protected ArrayList<RNA> result;
public RnamlFile()
{
}
- public RnamlFile(String inFile, String type) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed
+ public RnamlFile(String inFile, String type) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed, InterruptedException
{
super(inFile, type);
}
- public RnamlFile(FileParse source) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed
+ public RnamlFile(FileParse source) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed, InterruptedException
{
super(source);
}
+// public RnamlFile(BufferedReader r) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed
+// {
+// super();
+// parse(r);
+// // sets the index of each sequence in the alignment
+// for( int i=0,c=seqs.size(); i<c; i++ ) {
+// seqs.get(i).setIndex(i);
+// }
+//
+//
+// }
+ public BufferedReader CreateReader() throws FileNotFoundException
+ {
+ FileReader fr = null;
+ fr = new FileReader(inFile);
+
+ BufferedReader r = new BufferedReader (fr);
+ return r;
+ }
- public void parse() throws ExceptionPermissionDenied, ExceptionLoadingFailed, ExceptionFileFormatOrSyntax, FileNotFoundException
- {
- System.out.println("this is a rnaml file");
-
-
- FileReader fr = null;
+ public void parse() throws FileNotFoundException, ExceptionPermissionDenied, ExceptionLoadingFailed, ExceptionFileFormatOrSyntax
+ {
+ FileReader fr = null;
fr = new FileReader(inFile);
BufferedReader r = new BufferedReader (fr);
-
+ Hashtable seqhash = new Hashtable();
+ Vector headers = new Vector();
+ //ArrayList<String> seq =new ArrayList();
+ //System.out.println(r);
+
+
+ result = RNAFactory.loadSecStrRNAML(r);
+
+ System.out.println("this is the secondary scructure:" +result.toArray());
+ //System.out.println("this is the secondary scructure:" +result.toString());
+ //System.out.println("this is the secondary scructure:" +result.size());
+ for(int i=0;i<result.size();i++)
+ {
+ //System.out.println(result.get(0).getSeq());
+ //System.out.println(result.get(0).getStructBPSEQ());
+ //System.out.println(result.get(0).getStructDBN(true));
+ String rna1 =result.get(0).getStructDBN(true);
+ //System.out.println(result.get(0).getAnnotations());
+ String seq = result.get(0).getSeq();
+ System.out.println(type); //the type is "File"
+ System.out.println(inFile );//inFile is the path
+ int begin=0;
+ int end = seq.length()-1;
+ SequenceI[] seqs = new SequenceI[1];
+ id = safeName(getDataName());
+ seqs[0] = new Sequence(id, seq, begin, end);
+ SequenceFeature feat = new SequenceFeature(type, "",5, 13, 0f, null);
+ seqs[0].addSequenceFeature(feat);
+ this.setSeqs(seqs);
+
+ String[] annot=new String[10000] ;
+ Annotation[] ann = new Annotation[1000];
+ for(int j=0;j<rna1.length();j++)
+ {
+ annot[j] =rna1.substring(j,j+1);
+ System.out.println(annot[j]);
+ }
+
+ for(int k=0;k<rna1.length();k++)
+ {
+ ann[k] = new Annotation(annot[k], "", ' ', 0f);
+
+ ann[k].secondaryStructure = jalview.schemes.ResidueProperties.getRNASecStrucState(annot[k]).charAt(0);
+
+ }
+ AlignmentAnnotation align = new AlignmentAnnotation("Secondary structure","",ann);
+ seqs[0].addAlignmentAnnotation(align);
+ seqs[0].setRNA(result.get(begin));
+ this.annotations.addElement(align);
+
+
+ }
+
+ //Annotate3D tintin = new Annotate3D();
+
+ //System.out.println(tintin);
+ }
+
+
+ public void parse(BufferedReader r) throws ExceptionPermissionDenied, ExceptionLoadingFailed, ExceptionFileFormatOrSyntax
+ {
+ System.out.println("parse with Buffer (RnamlFile");
Hashtable seqhash = new Hashtable();
Vector headers = new Vector();
//ArrayList<String> seq =new ArrayList();
- System.out.println(r);
- ArrayList<RNA> result = RNAFactory.loadSecStrRNAML(r);
+ //System.out.println(r);
+
+ result = RNAFactory.loadSecStr(r,RNAFileType.FILE_TYPE_RNAML);
System.out.println("this is the secondary scructure:" +result.toArray());
System.out.println("this is the secondary scructure:" +result.toString());
for(int j=0;j<rna1.length();j++)
{
annot[j] =rna1.substring(j,j+1);
- System.out.println(annot[j]);
+ //System.out.println(annot[j]);
}
for(int k=0;k<rna1.length();k++)
seqs[0].addAlignmentAnnotation(align);
this.annotations.addElement(align);
}
+ //Annotate3D tintin = new Annotate3D();
-
+ //System.out.println(tintin);
return dataName;
}
+ public ArrayList getRNA()
+ {
+ return result;
+ }
+
+ public Vector getAnnot()
+ {
+ return annotations;
+ }
}