#!/usr/bin/perl # This example will pull out N base pairs upstream of each predicted # gene in C. elegans use lib '../blib/lib','../blib/arch'; use Ace::Sequence::Multi; use strict vars; use constant HOST => 'stein.cshl.org'; use constant MAPS => 300000; use constant GENES => 300001; $|=1; my $upstream = shift || die "Usage: upstream.pl <size (bp)>\n"; my $db1 = Ace->connect(-host=>HOST,-port=>MAPS) || die "Connection failure: ",Ace->error; my $db2 = Ace->connect(-host=>HOST,-port=>GENES) || die "Connection failure: ",Ace->error; warn "Fetching all predicted genes, please wait....\n"; my @genes = $db2->fetch('Predicted_Gene' => '*'); for my $gene(@genes) { my $seq = Ace::Sequence->new(-seq=>$gene,-offset=>(- $upstream),-length=>$upstream); next unless my $s = Ace::Sequence->new(-db=>$db1, -name => $seq->parent, -offset => $seq->offset, -length => $seq->length); print $gene,"\t",$s->dna,"\n"; }