[Biococoa-dev] Digest tool
Koen van der Drift
kvddrift at earthlink.net
Sun Feb 27 09:49:00 EST 2005
On Feb 27, 2005, at 8:40 AM, Alexander Griekspoor wrote:
> By the way, the problems listed above are from my own list of things
> to solve before release of the new enzymex ;-)
>
Are you volunteering?
This is how I use the NSScanner to find the cleavage sites:
NSScanner *scanner = [NSScanner scannerWithString: sequenceString];
cleaveSet = [NSCharacterSet
characterSetWithCharactersInString:[enzyme objectForKey:@"CleaveAt"]];
if ( nil == cleaveSet )
return nil;
s = [enzyme objectForKey:@"DontCleaveAdjacentTo"];
if ([s length])
dontCleaveAdjacentTo = [NSCharacterSet
characterSetWithCharactersInString:[enzyme
objectForKey:@"DontCleaveAdjacentTo"]];
else
dontCleaveAdjacentTo = nil;
cleaveDirection = [NSCharacterSet
characterSetWithCharactersInString:[enzyme
objectForKey:@"CleaveDirection"]];
len = [sequenceString length];
current = 0;
cleavageSites = [[NSMutableArray alloc] init];
while (![scanner isAtEnd])
{
[scanner scanUpToCharactersFromSet: cleaveSet intoString:nil];
current = [scanner scanLocation];
if ( current + 1 <= len )
{
if ( !dontCleaveAdjacentTo || ( dontCleaveAdjacentTo &&
![scanner scanCharactersFromSet:
dontCleaveAdjacentTo intoString:nil] ))
{
current = [scanner scanLocation];
cut = [NSNumber numberWithInt:current + 1];
[cleavageSites addObject:cut];
[scanner setScanLocation: current + 1];
}
}
}
I have to run now, but will have a more closer look at your snippet
later today.
- Koen.
More information about the Biococoa-dev
mailing list