Hello Anne - great to hear from you ! On Tue Jun 12 12:50:01 2012, Ménard Anne wrote: > I started my internship about Jalview and Varna yesterday and I would > like to ask you some questions. No problem. I'm always happy to help.
> I currently trying to integrate tertiary interactions in the current > model Jalview but I can not find the file. Class containing the model > of secondary interactions. I think it is in the package datamodel but > none matched what I was looking at the secondary structure. Maybe I > was doing a bad representation: an array containing the sequence and > each nucleotide, the nucleotide with which it interacts. The secondary structure is stored as a list of pairwise contacts held in the the jalview.datamodel.AlignmentAnnotation class. It's done this way because whilst secondary structure might be associated with a sequence, it might also be associated with a whole alignment, or a specific group of sequences. The field in question is jalview.datamodel.AlignmentAnnotation._rnasecstr Make sure you are working off the 'develop' branch of Jalview - the currently released version (v2.7) does not have any of the RNA secondary structure capabilities available. If you register at http://issues.jalview.org/ I'll add your user to the development group so you can checkout and commit to the git repository at https://source.jalview.org/git/jalview.git > It is true that I still do not understand the whole architecture of > Jalview. I will try in the coming days to have a better understanding. We should probably have a short skype meeting so I can walk you through the code, and answer any questions you might have. Shall we talk tomorrow morning ? (I'm free at 10am my time). > Also, I read the article on Nested Containment List: > http://bioinformatics.oxfordjournals.org/content/23/11/1386.full > According to the authors, it is coded in C but has a pluggin for > Python but how is it to use these lists in java? The data structure itself is not very complex, and I think you'll easily implement it in Java. The way I was thinking this might work is to create a neste containment list that allows efficient search and subselection operations like: jalview.datamodel.NCList<IntervalContainer> implements List { /** * find all intervals on (if start_inclusive is set), and before or after start */ public List<IntervalContainer> find(long start, boolean start_inclusive, boolean before_or_after); /** * find all intervals on or between start and end (according to start_inclusive and end_inclusive) */ public List<IntervalContainer> find(long start, boolean start_inclusive, long end, boolean end_inclusive); } The IntervalContainer interface defines the basic methods for finding the location of the interval (e.g. getStart() and getEnd()). Don't worry too much about ultrafast implementation for the moment - anything will be better than what Jalview has at the moment, which is simply a list of pairs that must be searched through each time. Jim. _______________________________________________ Jalview-dev mailing list [email protected] http://www.compbio.dundee.ac.uk/mailman/listinfo/jalview-dev
