[Biococoa-dev] peptides and proteins

Alexander Griekspoor mek at mekentosj.com
Tue Sep 7 02:24:35 EDT 2004


Koen,
Both Tom and I discussed this and we have our doubt if this is the way 
to go. We don't really see why we should add the intermediate 
BCSequence class. I think this is the example of a manipulation you do 
with a BCSequence (a digestion) which returns some sort of result that 
by incidence is a collection of BCSequences as well. Similar examples 
are perhaps PCR reactions, and especially DNA enzyme digests. To take 
the latter as example, and how I would like to implement this is by 
modelling things to real life.

I propose the following new classes:

BCEnzyme
|
---------------BCRestrictionEnzyme
|
---------------BCProtease
|
---------------etc

These can hold variables like optimal temperature, buffer conditions 
etc. Not completely sure, but it might again be very handy to have a 
predefined set as singletons (instead of instantiating 600 restriction 
enzymes for each digest, let the BCRestrictionEnzyme create a singleton 
dictionary the first time and access them from there the next time).

Then a BCUtilDigester(DNA/Protein) or something that can do the digest 
ala your masscalculator (which I would like to call 
BCUtilMassCalculator if that's ok by the way).

The result of a digest in the theoretical form of:
[BCUtilDigesterDNA performDigestWithSequence: aBCSequence andEnzymes: 
anArrayOfBCEnzymes];

would be a BCDigest, a class that holds variables for the conditions 
choosen, the enzymes used, and an array of BCSequences that represent 
the fragments.

Another possible setup would be to instantiate a BCDigest first, fill 
it with the parameters like enzymes, sequence, conditions etc, and then 
let the class self or a BCUtilDigester perform the digest which fills 
the array of fragments. Again, this is all theoretical stuff but I hope 
it inspires a discussion. Having thought quite a bit about it given the 
EnzymeX background, I thought this would be a nice system. I have a few 
questions still, like if we need a BCFragment intermediate that not 
only holds the sequence of the fragment, but also which restriction 
enzyme cuts at the left site and which on the right. Thus:

BCDigest
|
-->	dictionary of conditions
	sequence  of type BCSequence (complete sequence)
	array of BCEnzymes
	array of BCFragments
		     |
		     --> 5' BCEnzyme
		           3' BCEnzyme
			  NSRange within the BCSequence above
		

The fragment part is more or less what I have working in an upcoming 
version of EnzymeX, and it works beautifully. Sorting fragments on 
size, position etc is so easy! The approach for peptide digestions 
could be very similar I guess.
Again, I don't think that we should put additional layers in the 
BCSequence classes just to let them act as containers of multiple other 
BCSequences for specific purposes like digestions or other 
manipulations.
I'm sure there's enough to comment on ;-)
Alex




Op 4-sep-04 om 19:41 heeft Koen van der Drift het volgende geschreven:

> Hi,
>
> I am working on a class that digests a protein sequence, and returns 
> an array of peptides. I am not sure if I want to use BCProteinSequence 
> for the peptides, or that I should create a separate class 
> BCSequencePeptide, and/or BCSequenceAminoAcid. In that case, 
> BCProteinSequence is then a subclass of either one.
>
>
> My first thought would be to use this scheme:
>
>
> BCSequence
> |
> |
> |
> ------ BCSequencePeptide (or BCSequenceAminoAcid)
> 				|
> 				|
> 				|
> 				------------BCSequenceProtein
>
>
>
> What do you guys think?
>
>
> 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

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

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




More information about the Biococoa-dev mailing list