[Biococoa-dev] starting BCAlignment
Philipp Seibel
biococoa at bioworxx.com
Wed Mar 9 14:28:14 EST 2005
Am 09.03.2005 um 02:17 schrieb Charles PARNOT:
>> NEXT
>>
>> I want to start with the BCAlignment stuff and there are many things
>> to discuss:
>>
>> 1. what exactly do we want an BCAlignment to be ?
>> A slim Datastructure for different Alignment algorithms
>> Or a comfortable datastructure, which is perhaps not very useful for
>> programs concentrating on performance
>
> In terms of design, we will probably need at least 2 types of classes,
> following the current structure of the project:
> * some data objects with the results of alignement; I think there were
> some discussions about it before I joined, on what a sequence cluster
> might look like,...
> * some tool objects that do the job
>
> In the tools, you may have to transform the data structure for
> performance, if performance turns out to be an issue.
>
> Now my 2 cents with maybe obvious things, but important to keep in
> mind.
> It is probably a good idea to not focus too much on performance at
> first... and still leave some doors open for it, with some clean
> separation between the core functions and the rest. If you are
> familiar with Shark, it would be a good idea to use it after the first
> draft of your tools. If you are not familiar with it, it would still
> be a good idea!
> I was just reading this piece today, linked from cocoadev.com, and it
> is a very interesting reading:
> http://wilshipley.com/blog/2005/02/free-programming-tips-are-worth-
> every.html
>
You are completly right, i will just start and do the optimization
later on.
> I suspect these considerations do not fully apply to scientific
> computing, where you can sometimes better predict performance
> bottleneck, but still, good reading.
>
>
>> 2. We need a BCMatrix (protocol or class) for substitution matrices
>> 3. A protocol for alignment generating algorithms
>> 4..
>> 5.. :-) i think it's enough for now
>>
>
>
> I am not an expert in alignments, so I am listening to your ideas!
> Maybe you could present what you think the goals could be in more
> details, what kind of alignements you'd want to implement first, how
> far you want to go,...
I thought of the most common alignment algorithms, like smith-waterman
and needleman-wunsch. All common sequence based algorithms need
substitution matrices to compute the alignment score. ( Thats why i
like to have a BCSubstitutionMatrix class ( e.g. PAM, BLOSSOM ) ).
> You could also start putting some code, and I would look at it and
> make comments from the naive user's perspective. I am very good at
> making long emails with endless comments ;-)
i just added a first version of the BCAlignment header.
I consider two classes BCAlignment and BCMutableAlignment, what do you
think about it ?
>
Phil
More information about the Biococoa-dev
mailing list