[Swift-devel] Re: BLAST on Swift
Allan Espinosa
aespinosa at cs.uchicago.edu
Fri Nov 21 17:35:41 CST 2008
Hi,
Here is a modification of the blast swiftscript:
type database;
type query;
type output;
type error;
(output out, error err) blastall(query i, database pref, database db[]) {
app {
blastall "-p" "blastp" "-F" "F" "-d" @filename(pref) "-i"
@filename(i) "-v" "300" "-b" "300" "-m8" "-o" @filename(out)
stderr=@filename(err);
}
}
database pirpref <"/disks/ci-gpfs/swift/blast/pir/UNIPROT_for_blast_14.0.seq">;
database pir[] <filesys_mapper;location="/disks/ci-gpfs/swift/blast/pir",
pattern="UNIPROT_for_blast_14.0.seq*">;
output out <"test.out">;
query i <"test.in">;
error err <"test.err">;
(out,err) = blastall(i, pirpref, pir);
The blastall binary tries to implement its own data management so we
specify in the commandline only the *prefix* name of the database. I
made a zero-size dummy file named $PREFIX in the directory of the
input database files. Then i pass the entire array to the function to
satisfy data dependency.
I noticed that "ls | sort" on the directory will return $PREFIX first
in the list of files. Swift on the other hand returns it as a last
element.
I'd like to try this script out on Ranger for a full blast run.
Anyone have preconfigured sites.xml for this system?
Thanks,
-Allan
On Sat, Nov 15, 2008 at 3:10 PM, Allan Espinosa
<aespinosa at cs.uchicago.edu> wrote:
> Hi all,
>
> I was able to run Blast locally on communicado today. The swift
> script basically needs the query an database file passed to the atomic
> function. It then returns the resultant sequence and stderr logs.
>
> Below is the swift script:
> ---start---
> type database;
> type query;
> type output;
> type error;
>
> (output out, error err) blastall(query i, database db) {
> app {
> blastall "-p" "blastp" "-F" "F" "-d" @filename(db) "-i"
> @filename(i) "-v" "300" "-b" "300" "-m8" "-o" @filename(out)
> stderr=@filename(err);
> }
> }
>
> database pir <simple_mapper;prefix="/disks/ci-gpfs/swift/blast/pir/UNIPROT_for_blast_14.0.seq">;
> output out <"test.out">;
> query i <"test.in">;
> error err <"test.err">;
> (out,err) = blastall(i, pir);
> ---end---
>
> I looked at the dock6 documentation for OSG. It looks that it
> recommends to transfer the datafiles to OSG sites manually via
> globus-url-copy. By my understanding of how swift works, it should be
> able to transfer my local files to the selected sites. I have yet to
> try this and will look more on examples in the data management side of
> Swift.
>
> Do you know other users who went in this approach? The documentation
> has only a few examples in managing data. I'll check the swift Wiki
> later and see what material we have and also post this email/ notes.
More information about the Swift-devel
mailing list