[Biococoa-dev] functional groups

Alexander Griekspoor a.griekspoor at nki.nl
Sat Mar 5 18:44:51 EST 2005

Hmm, this is kind of a difficult thing we're talking about. First to 
answer the easy question first. In principal this is much more 
important in the protein world than in the DNA world. Having said that, 
there are examples of special bases as well. For instance, methylated 
DNA bases, special nucleotides you can order to be build into your 
oligos etc. So ideally it would work with all sequence types.
My doubts are specifically related to the question: should these things 
a) a BCFeature instead of a symbol in the first place
b) a BCSymbol variant
c) now that I think of it, a BCSymbol feature instead of a BCSequence 
For all options is something to say I guess, they're both a feature and 
a special symbol.
If we go for option a) it would mean that we would have problems 
implementing things like adding molecular weights, specific influences 
in calculations, etc On the other hand going for b) makes it difficult 
to draw the border to what we call a feature and what should be an 
c) is some kind of new idea, but perhaps adds to much complexity. It's 
just to think out loud and start the discussion.
Basically what might be a good thing to keep in mind and a point at 
where to draw the border between a feature and a sequence is that we're 
talking about modifications on a per symbol basis. So while an alpha 
helix is clearly a feature, a phosphorylation is clearly a symbol. What 
are the borderline examples we can think of?

I'm a bit worried about the addition of yet another symbol layer, and 
not sure about the BCRoot, BCToken or something alike would be better 
IMHO. Still, it feels a bit odd.
Ideally, say a phosphorylation ADDs something to a symbol, it changes 
it properties, its mass etc but it does STAY for instance a tyrosine. 
That's why I came up with the idea of i.e. symbol features (now this is 
impossible because the symbols are singletons now that I think of it) 
but than perhaps the other way around, we should add symbolFeatures 
(single symbol features) that have additional effects than the general 
features in that they're taken along in calculations).
What I try to say is that I see a problem when you decide to say 
incorporate a phosphorylated-tyrosine instead of a standard tyrosine 
symbol because suddenly part of my BCSequence doesn't respond to 
representedBy: for instance. Or a methylated guanine does not respond 
to complement (which is still something to debate whether to return a 
methylated cytosine then or a non-methylated one but let's leave that 
for a while).
I think that a modified symbol should respond to ALL methods of 
BCSymbol + do some additional stuff if necessary. But then again, I'm 
not sure if these things should be added as BCSymbol subclasses at all! 
Because what do we do now with BCSymbolSets, do we now suddenly have to 
add all possible modified symbols to a set as well, that will never 

So in conclusion, I have no clue how to implement this ;-)

On 5-mrt-05, at 23:12, Koen van der Drift wrote:

> Hi,
> I am thinking about adding a class that will take care of functional 
> groups on sequences, eg methyl, phosphate, etc. My first thought was 
> to make it a subclass of BCSymbol. However, it will then also inherit 
> the representedBy code, etc. That is not so useful for functional 
> groups (or maybe they are?). So, what I plan to do is to make a new, 
> abstract root class for symbols, maybe called BCRoot. Then BCSymbol 
> and BCFunctionalGroup wll inherit from BCRoot. The BCRoot class will 
> have a lot of the code of BCSymbol, eg for name, mass, etc. However, 
> some things will be in BCSymbol, eg initializeSymbolRelationships. The 
> functional groups can be attached to the sequence, using the 
> not-yet-existing BCFeature class. The BCFunctionalGroup can also have 
> an ivar pointing to the symbol it is attached to.
> What do you guys think? For proteins functional groups are very 
> important, and the probably need their own class. What about DNA/RNA? 
> Are functional groups important, eg when digesting?
> Also, when looking at the code of BCSymbol, I noticed that we use the 
> initializer initWithSymbol:(unichar)aChar. Maybe we can change this to 
> initWithChar, or even add that method? When using the word 'symbol' I 
> would expect a BCSymbol, not a char. I remember we discussed this 
> earlier, but I forgot why we eventually decided to use initWithSymbol 
> instead of initWithChar.
> cheers,
> - Koen.
> _______________________________________________
> 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

    The requirements said: Windows 2000 or better.
    So I got a Macintosh.


                         ** 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

MacOS X: The power of UNIX with the simplicity of the Mac


More information about the Biococoa-dev mailing list