[Biococoa-dev] Annotation

Alexander Griekspoor mek at mekentosj.com
Tue Feb 22 13:32:32 EST 2005


>> I'll have a look at the methods Charles (or John?) was proposing with 
>> the plists and predefined keys...
>
> That was John
Yep, found the email...
>
>> I have two questions already though:
>> - if we request subsequences, do we add a boolean argument to include 
>> the annotations? It would mean that we have to include ALL position 
>> independent annotations, and all the ones that are within the range 
>> requested?
>
> I think we can include that later, but yes, we would have to do that 
> to be consistent. We may even need to add a new annotation to the 
> subsequence to keep track of the history of that sequence, using one 
> of these 'segment' tag you cited in your initial Annotation email.
Yep, I was thinking that perhaps we should add some method in the 
sequence class to have it return a unique id or serial number (the 
famous UUID) so that we can uniquely point to a certain sequence. The 
segment would be of class BCFeature I guess as it should have the 
positional properties to which it applies...
I'm about half way with the basic BCAnnotation class, it will have two 
properties (or three perhaps depending on how you see it) along the 
lines of the BSML attribute tag:
NSString *name, the name of the attribute, also the key with which it 
is stored in the mutable dictionary
NSObject *content. the content of the attribute (can be any kind of 
object)
NSString *datatype, the classname of the content object (this is not a 
property but a method)

So for instance an example from the BSML pdf would be the following 
example:
<Attribute name="SUBCELLULAR LOCATION" content="CYTOPLASMIC"/>
which would be come:
NSString *name	-> @"Subcellular Location"
NSObject *content	-> @"Cytoplasmic"
NSString *datatype	-> @"NSString"

The BCFeature would add a range property plus logic for modifying it 
and helper methods like startposition, endposition etc)
A segment feature example would then become:
NSString *name	-> @"Segment"
NSObject *content	-> @"1921292" <- UUID in this case, or another 
reference (object) to another sequence, in principle this could even be 
the segment's  BCSequence object ;-)
NSString *datatype	-> @"NSString"
NSRange range	-> NSRange {1212, 12}

The question perhaps rises if we want each annotation to have a set of 
properties that identify the creator/date etc of the annotation, say 
the metadata of the annotation.

>> - do we use 1 or 0 based ranges? For the first 10 bases, do I create 
>> a range {0,10} or {1,10}. I think it would be nicest to use NSRanges, 
>> we can compensate in the accessors if necessary I guess...
>
> The issue of 0 vs 1 is  a problem with cDNAs and the transcription or 
> translation starting point, or is it a more widely used convention? 
> One problem with the +1 convention is the absence of 0, IIRC. The 
> positions goes -2, -1, +1, +2, right?
Yes, guess so, but those are relative positions, so 0 in that case is 
the base itself.
> Anyway, that's a tough question. IMO, we should use a 0 based range to 
> stick to the Cocoa conventions. In the Cocoa NSRange convention, the 
> first character of a string is anyway not at position 0 or 1, but in 
> between the two!

Yep, I would like to have it 0 based as well.... The ranges the 
findSubsequence methods use are also 0-based right? Guess, that's 
settled then... Correct me if I'm wrong but I believe BioJava's 
sequences are 1-based, but Koen might know better.

> Of course,  the BCSequenceView would have to display the correct 
> numbers, Alex ;-)
Yeah yeah, LOL I got the message ;-)
I'll let you know when the BCAnnotation class is in the CVS, ready to 
burn it down, haha
Cheers,
Alex


>
> charles
>
> -- 
> Help science go fast forward:
> http://cmgm.stanford.edu/~cparnot/xgrid-stanford/
>
> Charles Parnot
> charles.parnot at stanford.edu
>
> Room  B157 in Beckman Center
> 279, Campus Drive
> Stanford University
> Stanford, CA 94305 (USA)
>
> Tel +1 650 725 7754
> Fax +1 650 725 8021
> _______________________________________________
> Biococoa-dev mailing list
> Biococoa-dev at bioinformatics.org
> https://bioinformatics.org/mailman/listinfo/biococoa-dev
>
>
*********************************************************
                     ** Alexander Griekspoor **
*********************************************************
              The Netherlands Cancer Institute
              Department of Tumorbiology (H4)
         Plesmanlaan 121, 1066 CX, Amsterdam
                    Tel:  + 31 20 - 512 2023
                    Fax:  + 31 20 - 512 2029
                   AIM: mekentosj at mac.com
                    E-mail: a.griekspoor at nki.nl
                Web: http://www.mekentosj.com

	Claiming that the Macintosh is inferior to Windows
	because most people use Windows, is like saying
	that all other restaurants serve food that is
	inferior to McDonalds

*********************************************************


*********************************************************
                     ** Alexander Griekspoor **
*********************************************************
               The Netherlands Cancer Institute
               Department of Tumorbiology (H4)
          Plesmanlaan 121, 1066 CX, Amsterdam
                     Tel:  + 31 20 - 512 2023
                     Fax:  + 31 20 - 512 2029
                     AIM: mekentosj at mac.com
                     E-mail: a.griekspoor at nki.nl
                 Web: http://www.mekentosj.com

Windows is a 32-bit patch to a 16-bit shell for an 8-bit
operating system, written for a 4-bit processor by a 2-
bit company without 1 bit of sense.

*********************************************************




More information about the Biococoa-dev mailing list