[Biococoa-dev] BCSequence

Alexander Griekspoor mek at mekentosj.com
Wed Aug 25 02:00:49 EDT 2004


Great work guys!

>> Yeah, I might want to handle providing options for whether there's a 
>> 5'
>> phosphate and such.  I'll have to think about that.  Even so, each of 
>> the
>> subclasses will probably need to override this method because of 
>> these sorts
>> of issues.
>
> We should think about a class that stores modifications on 
> nucleotides, amino acids, etc. I think we discussed this a few weeks 
> ago (modifications, I mean). This should be handled the same for all 
> BCSymbol classes. A phosphate or methyl group is the same for every 
> sequence.

Let's start a little new discussion then ;-)
In principle these modifications can be seen as features right? So now 
we have three names/kinds around in two pairs:
- Modifications (example: methylgroup, phosphate etc)
- Features (example: alpha-helix, nuclear localization signal etc)
Or
- Features (example: methylgroup, phosphate etc)
- Annotations (example: alpha-helix, nuclear localization signal etc)
These are the two options I see (I don't think we need all three 
around). Whichever we choose (I think I like the first most there's 
something to say for the other one as well, see below), for now I'll 
use the first in my email.
Modifications and features are very alike, and a modification could be 
seen as a special feature and thus a subclass (inheriting the 
add/removing/editing/syncing etc methods, but add weight, pi etc ). 
Also the question raises wether we should keep them in two arrays 
(features and modifications) or in one (features). If you display all 
features of a sequence, it perhaps would be nice to see the 
modifications as well.
The reason why a modification should be a separate (sub)class is that 
it has some special properties we have to account for while working 
with sequences. Examples:
1 The molecular weight method should take modifications into account. A 
methylgroup adds weight. Thus modifications should have an addedWeight: 
mode: method  that can accept negative values as well (if the 
modification removes more weight than it adds). After calculating the 
weight, all modifications should be enumerated and checked for effect 
on MW (for this reason it perhaps would be nicer to keep modifications 
and features in separate arrays).
Some thoughts on weight calculation (and other calculations in general):
- let's add a "mother" method that also has a range: parameter (to 
calculate weight etc of subranges)
- let's add a boolean accountForModifications: (or something similar) 
parameter as well
The current implementation would become the convenience method, all 
calling the one with additional parameters range and 
accountForModifications.

2 Restriction enzymes have to account for the methylation modifications 
as well as some enzymes don't cut methylated DNA.

Summing things up, the modifications kind of act like a (single) 
special symbol and has effects on calculations, transformations etc.
Features do not have an effect on these and can span multiple symbols 
(therefore could also be called annotations as that is more what they 
are).
In both cases it would be nice to add a (p)list of predefined 
modifications and features.

>> I'll see if anything occurs to me, but I think we're getting close to 
>> moving
>> on to either the wrappers for the sequences that hold features and 
>> such or
>> some of the tools for translation and calculations.
>
> I think we should also discuss on how to make the original BioCocoa 
> classes (I/O) compatible with the new classes. Do we maintain backward 
> compatibility, or do we start from scratch?

I think that's a pretty easy choice, as we don't know of anyone using 
BioCocoa at the moment, I think we should just start from scratch.
Cheers,
Alex

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

           LabAssistant - Get your life organized!
           http://www.mekentosj.com/labassistant

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


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