[Biococoa-dev] peptides and proteins

Koen van der Drift kvddrift at earthlink.net
Tue Sep 7 19:27:38 EDT 2004

On Sep 7, 2004, at 6:38 PM, Alexander Griekspoor wrote:

> I get it, and that works indeed fine. The problem here is that the 
> moment you get an array with fragments, you loose all info about the 
> digest. A digest object could encapsulate that. But indeed you're 
> right and perhaps you're only interested in sequences. So maybe we 
> should offer both options. A BCDigest could also be implemented as an 
> encapsulated message, storing both the enzymes, the sequence, and the 
> fragments. You then would have to options, either send the 
> BCUtilDigester the individual items and get back an array with 
> fragments, or send it a digest object and let the digester fill it's 
> fragment array. Or do you think keeping the digest info around is 
> something we should completely hand of to the app developer?

I never thought of keeping the digest object around, but if the 
developer wants to keep it, why not?

BCProtease	*protease	= [[BCProtease alloc] initWithSequence: aSeq]

[protease setEnzyme: @trypsin];	// or based on a popup menu
[protease digest]

NSArray	*thePeptides = [protease digestResult];

  [protease release];	  // optional

> The other think I would like to add to a BCSequence is the info of 
> which enzyme produced the 5' end and which the 3' end.

Yes, that's taken care of in the plist using the CleaveDirection key. 
We have to add some code like:

      [newPeptide setCleavedAt: cleavedAtN];		// or 5' or 3' or 

> Therefore, I proposed the BCFragment class, which could be a subclass 
> of BCSequence that stores these additional BCEnzyme variables (which 
> can also be nil by default if the end is untreated).

The BCFragment would be similar to a separate BCPeptide class, correct? 
Then let's create both classes if that makes it easier.

>  The nice thing is that for the BCDigest story above, nothing changes 
> still get an array of BCSequences returned, but as a convenience the 
> digest object fills in which enzyme produced the ends.

> Very nice indeed, the plists are definitely the way to go. Still, for 
> restriction enzymes instantiating 600 enzymes each time would be to 
> expensive I think, so that's where it would be nice to instantiate 
> once from the plist and keep the objects around in a static 
> dictionary.

I'm not familiair with restriction enzyms, can you explain why you have 
to instantiate 600 enzymes if you're just using one?

- Koen.

More information about the Biococoa-dev mailing list