[Biococoa-dev] Alignment & HMM Support in Biococoa
Alexander Griekspoor
mek at mekentosj.com
Tue Feb 22 15:52:49 EST 2005
Instead of having to set 100 flags before being able to run the thing,
it might be a good idea to see if you can discriminate different types
of task (like ones that have a return value vs ones that only input
stuff, or vice versa) and see if you can have them in a kind of
hierarchy. That would allow to create a base BCTaskController with a
number of more specialized subclasses. Often I like that approach more
than a one-for-all-with-way-too-many-options approach... Think about
it..
Cheers,
Alex
On 22-feb-05, at 21:46, John Timmer wrote:
>>> Incidentally, I recently wound up building OS-X versions of Muscle
>>> and
>>> ClustalW. Now that our sequence object is stabilizing a bit, I was
>>> wondering if people thought it might be worth some effort trying to
>>> write a
>>> generic wrapper that could feed our sequences to command line apps
>>> and
>>> get a
>>> result back? This would potentially help us provide a layer of
>>> abstraction
>>> to a large number of Unix tools.
>> Do I understand you correctly that you want to generate a general
>> NSTaskController that does the following:
>> BCSequence -> NSString -> Run Task with arguments -> parse output ->
>> BCSequence or other objects?
> More or less. Give the user the option of whether to have our
> existing file
> reading classes try to interpret the output, or to have it returned as
> a
> string and let them sort it out.
>
>
>>> The reason this comes to mind is that I'm finding that a lot of these
>>> things
>>> only take input in a limited number of formats, and we've already got
>>> format
>>> conversion code in place....
>> The real question is how you can make the thing multipurpose instead
>> of
>> having tens of different controllers for very specific tasks... But
>> you
>> must have something in mind right?
> Flags - lots and lots of flags.
>
> The idea is that most of these tools have a limited number of file
> formats
> they take as input. Some of them can take input from stdin, others
> need
> files. Some output a single file, others multiple files. We need to
> give
> the user enough opportunity to work with as many as possible.
>
> The point of the wrapper would be to do what your initial comment
> suggested,
> but also automate handling things like creating tmp files as needed,
> reading
> from the STDOUT and STDERR pipes, handling conversions back to
> BCSequences,
> cleaning up, sending callback messages, etc.
>
> Clearly, there are going to be a bunch of user-supplied flags that will
> differ between tasks, but I think a lot of the grunt work could be
> wrapped,
> so that most tools could be run as something like the following:
>
> BCTask *myTask;
> [myTask setSequence: mySequnce];
> [myTask setUsesSTDIN: NO]; /// know to use a tmp file
> [myTask setInputFormat: BCFastaFormat];
> [myTask setAdditionalFlags: myFlagArray];
> [myTask setUsesSTDOUT: NO]; // use a tmp output file
> [myTask setCallBack: @selector(taskDone:contextInfo:) target: self
> contextInfo: nil];
> [myTask setCreatesSequencesFromOutput: YES];
> [myTask setRetainsSTDERRasString: YES];
> [myTask launch];
>
>
>
>
>
> _______________________________________________
> This mind intentionally left blank
>
>
> _______________________________________________
> 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
Claiming that the Macintosh is inferior to Windows
because most people use Windows, is like saying
that all other restaurants serve food that is
inferior to McDonalds
*********************************************************
More information about the Biococoa-dev
mailing list