view release on metacpan or search on metacpan
argument.
=item B<-path>
This argument indicates the path of an AceDB directory on the local
system. It should point to the directory that contains the I<wspec>
subdirectory. User name interpolations (~acedb) are OK.
=item B<-user>
Name of user to log in as (when using socket server B<only>). If not
provided, will attempt an anonymous login.
=item B<-pass>
Password to log in with (when using socket server).
=item B<-url>
An Acedb URL that combines the server type, host, port, user and
password in a single string. See the connect() method's "single
argument form" description.
=item B<-cache>
AcePerl can use the Cache::SizeAwareFileCache module to cache objects
Ace/Browser/GeneSubs.pm view on Meta::CPAN
# -*- Mode: perl -*-
# file: GeneSubs.pm
# Some URL constants useful for molecular biology
package Ace::Browser::GeneSubs;
use strict 'vars';
use vars qw/@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS/;
require Exporter;
@ISA = Exporter;
@EXPORT = qw(ENTREZ ENTREZP PROTEOME SWISSPROT PUBMED NCBI);
@EXPORT_OK = ();
Ace/Graphics/Panel.pm view on Meta::CPAN
package Ace::Graphics::Panel;
# This embodies the logic for drawing multiple tracks.
use Ace::Graphics::Track;
use GD;
use Carp 'croak';
use strict;
use constant KEYLABELFONT => gdSmallFont;
use constant KEYSPACING => 10; # extra space between key columns
use constant KEYPADTOP => 5; # extra padding before the key starts
use constant KEYCOLOR => 'cornsilk';
Ace/Graphics/Panel.pm view on Meta::CPAN
-bump => +1,
-height => 10,
-label => 1);
=item $track = unshift_track($glyph,$features,@options)
unshift_track() works like add_track(), except that the new track is
added to the top of the image rather than the bottom.
B<Adding groups of features:> It is not uncommon to add a group of
features which are logically connected, such as the 5' and 3' ends of
EST reads. To group features into sets that remain on the same
horizontal position and bump together, pass the sets as an anonymous
array. To connect the groups by a dashed line, pass the
-connect_groups argument with a true value. For example:
$panel->add_track(segments => [[$abc_5,$abc_3],
[$xxx_5,$xxx_3],
[$yyy_5,$yyy_3]],
-connect_groups => 1);
Ace/Graphics/Track.pm view on Meta::CPAN
package Ace::Graphics::Track;
# This embodies the logic for drawing a single track of features.
# Features are of uniform style and are controlled by descendents of
# the Ace::Graphics::Glyph class (eek!).
use Ace::Graphics::GlyphFactory;
use Ace::Graphics::Fk;
use GD; # maybe
use Carp 'croak';
use vars '$AUTOLOAD';
use strict;
Ace/Object.pm view on Meta::CPAN
$r = $sequence->Overlap_right;
$next = $sequence->Overlap_left;
# Pretty-print object
print $sequence->asString;
print $sequence->asTabs;
print $sequence->asHTML;
# Update object
$sequence->replace('Visible.Overlap_Right',$r,'M55555');
$sequence->add('Visible.Homology','GR91198');
$sequence->delete('Source.Clone','MBR122');
$sequence->commit();
# Rollback changes
$sequence->rollback()
# Get errors
print $sequence->error;
=head1 DESCRIPTION
Ace/Object.pm view on Meta::CPAN
ACEDB is Hungry
Each object in the tree has two pointers, a "right" pointer to the
node on its right, and a "down" pointer to the node beneath it. Right
pointers are used to store hierarchical relationships, such as
Address->Mail->E_mail, while down pointers are used to store lists,
such as the multiple papers written by the Author.
Each node in the tree has a type and a name. Types include integers,
strings, text, floating point numbers, as well as specialized
biological types, such as "dna" and "peptide." Another fundamental
type is "tag," which is a text identifier used to label portions of
the tree. Examples of tags include "Paper" and "Laboratory" in the
example above.
In addition to these built-in types, there are constructed types known
as classes. These types are specified by the data model. In the
above example, "Thierry-Mieg J" is an object of the "Author" class,
and "Genome Project Database" is an object of the "Paper" class. An
interesting feature of objects is that you can follow them into the
database, retrieving further information. For example, after
Ace/Object.pm view on Meta::CPAN
@address = $object->at('Address')->at('Mail');
Called without a tag name, at() just dereferences the object,
returning whatever is to the right of it, the same as
$object->right
If a path component already has a dot in it, you may escape the dot
with a backslash, as in:
$s=$db->fetch('Sequence','M4');
@homologies = $s->at('Homol.DNA_homol.yk192f7\.3';
This also demonstrates that path components don't necessarily have to
be tags, although in practice they usually are.
at() returns slightly different results depending on the context in
which it is called. In a list context, it returns the column of
values to the B<right> of the tag. However, in a scalar context, it
returns the subtree rooted at the tag. To appreciate the difference,
consider these two cases:
Ace/Sequence/Feature.pm view on Meta::CPAN
my ($tag,@data) = @_;
# Special cases, hardcoded in Ace GFF code...
my $db = $self->db;;
my $class = $db->class;
# for Notes we just return a text, no database associated
return $class->new(Text=>$data[0]) if $tag eq 'Note';
# for homols, we create the indicated Protein or Sequence object
# then generate a bogus Homology object (for future compatability??)
if ($tag eq 'Target') {
my ($objname,$start,$end) = @data;
my ($classe,$name) = $objname =~ /^(\w+):(.+)/;
return Ace::Sequence::Homol->new_homol($classe,$name,$db,$start,$end);
}
# General case:
my $obj = $class->new($tag=>$data[0],$self->db);
return $obj if defined $obj;
Ace/Sequence/Feature.pm view on Meta::CPAN
# open database connection and get an Ace::Object sequence
use Ace::Sequence;
# get a megabase from the middle of chromosome I
$seq = Ace::Sequence->new(-name => 'CHROMOSOME_I,
-db => $db,
-offset => 3_000_000,
-length => 1_000_000);
# get all the homologies (a list of Ace::Sequence::Feature objs)
@homol = $seq->features('Similarity');
# Get information about the first one
$feature = $homol[0];
$type = $feature->type;
$subtype = $feature->subtype;
$start = $feature->start;
$end = $feature->end;
$score = $feature->score;
Ace/Sequence/Feature.pm view on Meta::CPAN
containing other information about the feature derived from the 8th
field of the GFF format, the so-called "group" field. The type of the
Ace::Object is dependent on the nature of the feature. The
possibilities are shown in the table below:
Feature Type Value of Group Field
------------ --------------------
note A Text object containing the note.
similarity An Ace::Sequence::Homology object containing
the target and its start/stop positions.
intron An Ace::Object containing the gene from
exon which the feature is derived.
misc_feature
other A Text object containing the group data.
=item asString()
Ace/Sequence/Homol.pm view on Meta::CPAN
#sub asString {
# my $n = $_[0]->name;
# "$n/$_[0]->{'start'}-$_[0]->{'end'}";
#}
1;
=head1 NAME
Ace::Sequence::Homol - Temporary Sequence Homology Class
=head1 SYNOPSIS
# Get all similarity features from an Ace::Sequence
@homol = $seq->features('Similarity');
# sort by score
@sorted = sort { $a->score <=> $b->score } @homol;
# the last one has the highest score
Ace/Sequence/Homol.pm view on Meta::CPAN
$homol = $best->target;
# print out the sequence name, DNA, start and end
print $homol->name,' ',$homol->start,'-',$homol->end,"\n";
print $homol->asDNA;
=head1 DESCRIPTION
I<Ace::Sequence::Homol> is a subclass of L<Ace::Object> (B<not>
L<Ace::Sequence>) which is specialized for returning information about
a DNA or protein homology. This is a temporary placeholder for a more
sophisticated homology class which will include support for
alignments.
=head1 OBJECT CREATION
You will not ordinarily create an I<Ace::Sequence::Homol> object
directly. Instead, objects will be created in response to an info()
or group() method call on a similarity feature in an
I<Ace::Sequence::Feature> object. If you wish to create an
I<Ace::Sequence::Homol> object directly, please consult the source
code for the I<new()> method.
Ace/Sequence/Homol.pm view on Meta::CPAN
Most methods are inherited from I<Ace::Object>. The following
methods are also supported:
=over 4
=item start()
$start = $homol->start;
Returns the start of the area that is similar to the
I<Ace::Sequence::Feature> from which his homology was derived.
Coordinates are relative to the target homology.
=item end()
$end = $homol->end;
Returns the end of the area that is similar to the
I<Ace::Sequence::Feature> from which his homology was derived.
Coordinates are relative to the target homology.
=item asString()
$label = $homol->asString;
Returns a human-readable identifier describing the nature of the
feature. The format is:
$name/$start-$end
Ace/Sequence/Multi.pm view on Meta::CPAN
# Make an Ace::Sequence::Multi object
$seq = Ace::Sequence::Multi->new(-name => 'CHROMOSOME_I,
-db => $ref,
-offset => 3_000_000,
-length => 1_000_000);
# add the secondary databases
$seq->add_secondary($db1,$db2);
# get all the homologies (a list of Ace::Sequence::Feature objs)
@homol = $seq->features('Similarity');
# Get information about the first one -- goes to the correct db
$feature = $homol[0];
$type = $feature->type;
$subtype = $feature->subtype;
$start = $feature->start;
$end = $feature->end;
$score = $feature->score;
This is version 1.86 of AcePerl, a Perl interface for the ACEDB
object-oriented database. Designed specifically for use in genome
sequencing projects, ACEDB provides powerful modeling and management
services for biological and laboratory data. For others, it is a good
open source introduction to the world of object-oriented databases
See the ChangeLog for important notices, including recent user
interfaces changes. Please see DISCLAIMER.txt for disclaimers of
warranty.
INSTALLATION:
In addition to this package, you will need Perl 5.00503 or higher
(5.6.0 or higher recommended), and the Digest::MD5 module. Both are
will affect all scripts.
To tell a single script where to find AcePerl, add a "use lib" line
to your script. Put it _before_ the "use Ace" line:
use lib /path/to/library;
use Ace;
To change Perl's library search path so that it finds AcePerl
automatically, define the PERL5LIB environment variable in your
.login, .cshrc or .profile script. PERL5LIB is a colon-delimited list
of directories in which Perl will search for included libraries. For
example:
setenv PERL5LIB "/path/to/library";
If AcePerl was built as part of the main Ace distribution, you will
want to define PERL5LIB to be the location of the machine-specific
build directory. For example:
setenv PERL5LIB $HOME/ace/bin.LINUX_4_OPT
B. Review the examples
A few useful examples can be found in the "examples" subdirectory.
Among these is a script called "ace.pl", which implements a text
interface to any local or remote ace database. If you have the Perl
Term::readline module installed, it gives you command-line editing,
completion, and history.
The script "dump_cdna.pl" shows you how to dump out all spliced cDNAs
from wormbase.org. Other dump scripts show similar tricks. You can
use these as templates for doing other biologically interesting
tricks.
There is also family of CGI scripts that run on top of AcePerl to give
a WebAce-like interface to Ace (it is not as feature-full as WebAce,
but it is probably easier to set up and run). This package is now part
of the AcePerl distribution, but is not installed unless you specifically
request it. See README.ACEBROWSER for details.
INSTALLING THE ACEDB SERVER
acebrowser/cgi-bin/misc/privacy view on Meta::CPAN
my $where_from = param('referer') || referer();
if (param('return') && $where_from !~ /\/privacy/ ) {
print redirect($where_from);
exit 0;
}
PrintTop(undef,undef,'Privacy Statement');
print
p(
"This server logs the IP address of your browser and each database query.",
"This is done in order to track usage statistics",
"and to identify operational problems. This information is not used",
"to identify individuals or organizations, and is never shared with third",
"parties."
),
p(
"Cookies are used by the search pages in order to bookmark your search",
"requests. They do not persist after you exit the browser, and are never",
"used for identification or tracking purposes."
),
acebrowser/conf/elegans.pm view on Meta::CPAN
'blastx' => [qw/WormPep/]
);
# ========= $BANNER =========
# Banner HTML
# This will appear at the top of each page.
$BANNER = 'WormBase';
# ========= $FOOTER =========
# Footer HTML
# This will appear at the bottom of each page
# $FOOTER = img({-src=>"$WORMBASE/images/foot_logo.gif"});
$MY_FOOTER = a({-href=>'http://stein.cshl.org/'},
img({-border=>0,-src=>"$WB/images/foot_logo2.gif"})
);
# ========= @SEARCHES =========
# search scripts available
# NOTE: the order is important
@SEARCHES = (
basic => { name => 'Simple Search',
url => "$ROOT/searches/basic",
onimage => "$WB/buttons/basic_on.gif",
offimage => "$WB/buttons/basic_off.gif",
acelib/filsubs.c view on Meta::CPAN
#include <sys/file.h>
#define HOME_DIR_ENVP "HOME"
#define ABSOLUTE_PATH(path) *path == SUBDIR_DELIMITER
#else /* Utility macros for WIN32 only */
#include <tchar.h>
#include <direct.h> /* for getwcd() and _getdrive() */
/* simple, single letter logical drives assumed here */
static const char *DRIVES = "abcdefghijklmnopqrstuvwxyz";
#define DRIVE_NO(drv) ((drv)-'a'+1)
#define GET_CURRENT_DRIVE *( DRIVES + _getdrive() - 1 )
#define HOME_DIR_ENVP "HOMEPATH"
#include <ctype.h> /* for isalpha() */
#define ABSOLUTE_PATH(path) \
( isalpha( (int)*path ) ) && \
(*(path+1) == DRIVE_DELIMITER) && \
acelib/filsubs.c view on Meta::CPAN
catText (full, stackText (part, 0)) ;
result = stackText (full, 0) ;
if (filCheck (result, spec))
return result ;
else
return 0 ;
}
#if defined(WIN32)
/* Check if path name is a root path
hence on the default logical drive */
if( name[0] == SUBDIR_DELIMITER )
{
stackClear (full) ;
driveStr[0] = GET_CURRENT_DRIVE ;
catText (full, pDriveStr ) ;
catText (full, stackText (part, 0)) ;
result = stackText (full, 0) ;
if (filCheck (result, spec))
return result ;
else
acelib/helpsubs.c view on Meta::CPAN
* SCCS: %W% %G%
* Description: controls the help system, provides HTML parsing
* Exported functions:
* HISTORY:
* Last edited: Dec 4 14:30 1998 (fw)
* * Oct 12 12:27 1998 (fw): checkSubject now case-insensitive
* * Oct 8 17:23 1998 (fw): removed warning, in case that
an open-list tag (e.g. <UL> was directly followed by a close-list
tag (e.g. </UL>). The warning tried to enforce that
every type of list only has a certain type of items.
* * Oct 8 11:36 1998 (fw): helpSubjectGetFilename takes over logic
from readHelpfile to locate the file containing the
help for a particular subject
* Created: Tue Aug 18 16:11:07 1998 (fw)
*-------------------------------------------------------------------
*/
#include "help_.h"
/************************************************************/
static char *makeHtmlIndex (STORE_HANDLE handle);
acelib/messubs.c view on Meta::CPAN
* * Aug 20 17:10 1998 (rd): moved memory handling to memsubs.c
* * Jul 9 11:54 1998 (edgrif):
* Fixed problem with SunOS not having strerror function, system
* is too old to have standard C libraries, have reverted to
* referencing sys_errlist for SunOS only.
* Also fixed problem with getpwuid in getLogin function, code
* did not check return value from getpwuid function.
* * Jul 7 10:36 1998 (edgrif):
* - Replaced reference to sys_errlist with strerror function.
* * DON'T KNOW WHO MADE THESE CHANGES...NO RECORD IN HEADER....(edgrif)
* - newformat added for the log file on mess dump.
* - Time, host and pid are now always the first things written.
* - This is for easier checking og the log.wrm with scripts etc.
* - Messquery added for > 50 minor errors to ask if user wants to crash.
* - Made user,pid and host static in messdump.
* * Dec 3 15:52 1997 (rd)
* - messout(): defined(_WINDOW) =>!defined(NON_GRAPHIC)
* * Dec 16 17:26 1996 (srk)
* * Aug 15 13:29 1996 (srk)
* - WIN32 and MACINTOSH: seteuid() etc. are stub functions
* * Jun 6 10:50 1996 (rbrusk): compile error fixes
* * Jun 4 23:31 1996 (rd)
* Created: Mon Jun 29 14:15:56 1992 (rd)
acelib/messubs.c view on Meta::CPAN
/*****************************************/
/* Access function for returning running error total. */
UTIL_FUNC_DEF int messErrorCount (void) { return errorCount_G ; }
/* Output a non-fatal error message, for all messages a call to messdump is */
/* made which may result in the message being logged. The single error count */
/* is also incremented so that functions can use this to check how many */
/* errors have been recorded so far. */
UTIL_FUNC_DEF void messerror (char *format, ...)
{
char *prefix = ERROR_PREFIX ;
char *mesg_buf = NULL ;
va_list args ;
/* always increment the error count. */
++errorCount_G ;
acelib/messubs.c view on Meta::CPAN
invokeDebugger () ;
}
/*******************************/
/* Use this function for errors that while being unrecoverable are not a */
/* problem with the acedb code, e.g. if the user starts xace without */
/* specifying a database. */
/* Note that there errors are logged but that this routine will exit without */
/* any chance to interrupt it (e.g. the crash routine in uMessCrash), this */
/* could be changed to allow the application to register an exit handler. */
/* */
UTIL_FUNC_DEF void messExit(char *format, ...)
{
char *prefix = EXIT_PREFIX ;
char *mesg_buf = NULL ;
va_list args ;
/* Format the message string. */
acelib/messubs.c view on Meta::CPAN
{
if (strcpy (buf_ptr, prefix) == NULL)
{
fprintf (stderr, "uMessFormat() : strcpy failed\n") ;
invokeDebugger();
exit (EXIT_FAILURE);
}
}
/* CHECK PERFORMANCE ISSUES....how is database dumped/logged. */
/* Fred has suggested that we could do a vprintf to /dev/null and see how */
/* many bytes that is then we could get away from a fixed internal buffer */
/* at all....but watch out, if messdump say is in a tight loop then this */
/* will kill performance... */
/* We could add a #define to allow a check to be included for debug code. */
/* */
/* Do the format. */
acelib/messubs.c view on Meta::CPAN
else
if(!s) s = c - 1 ;
break;
}
}
/***************** another orphan function *********************/
#ifdef SGI /* work around SGI library bug */
#include "math.h"
UTIL_FUNC_DEF double log10 (double x) { return log(x) / 2.3025851 ; }
#endif
/**** end of file ****/
acelib/wh/regular.h view on Meta::CPAN
UTIL_FUNC_DEF char *messGetErrorProgram (void) ; /* Returns the
application name */
UTIL_FUNC_DCL char *messprintf (char *format, ...) ;
/* sprintf into (static!) string */
/* !!!! beware finite buffer size !!!! */
UTIL_FUNC_DCL void messbeep (void) ; /* make a beep */
UTIL_FUNC_DCL void messout (char *format, ...) ; /* simple message */
UTIL_FUNC_DCL void messdump (char *format, ...) ; /* write to log file */
UTIL_FUNC_DCL void messerror (char *format, ...) ; /* error message and write to log file */
UTIL_FUNC_DCL void messExit(char *format, ...) ; /* error message, write to log file & exit */
#define messcrash uMessSetErrorOrigin(__FILE__, __LINE__), uMessCrash
/* abort - but see below */
UTIL_FUNC_DCL BOOL messQuery (char *text,...) ; /* ask yes/no question */
UTIL_FUNC_DCL BOOL messPrompt (char *prompt, char *dfault, char *fmt) ;
/* ask for data satisfying format get results via freecard() */
UTIL_FUNC_DCL char* messSysErrorText (void) ;
/* wrapped system error message for use in messerror/crash() */
UTIL_FUNC_DCL int messErrorCount (void);
docs/ACEDB.HOWTO view on Meta::CPAN
4) Shut down the server.
When you are ready, shut down the server like this:
% ace.pl -host localhost -port 5000 -user admin -pass acepass
aceperl> shutdown now
5) Try running the server as the "acedb" user.
If you are going to be running the acedb server a lot, it is better to
run it under the "acedb" account than under your personal login. The
reason for this is that bugs in the acedb server code may
inadvertently expose your personal files to snooping or deletion if
the server is running under your personal ID.
To run the server as acedb, you must make its database files writable
by the acedb user. To do this, become the root user, and run the
following commands:
# chown -R acedb ~acedb/elegans/database
# chgrp -R acedb ~acedb/elegans/database
docs/ACEDB.HOWTO view on Meta::CPAN
# ps -elf | grep inetd
140 S root 121 1 0 68 0 - 475 do_sel May11 ? 00:00:00 /usr/sbin/inetd
and use "kill -HUP" to tell the server to reread inetd.conf
(this must be done as root):
# kill -HUP 140
You should now be able to communicate with the server using saceclient
or ace.pl. If it's not working, look in the following log files for
helpful error messages:
/var/log/messages
~acedb/elegans/database/log.wrm
~acedb/elegans/database/serverlog.wrm
2) Configuring for xinetd:
a) Find the file /etc/services, and add the following line to the
end of the file:
elegans 5000/tcp
This is defining a new service named "elegans" which runs on
port 5000. You can change this symbolic name to anything you
docs/ACEDB.HOWTO view on Meta::CPAN
# description: C. elegans acedb database
service elegans
{
disable = no
protocol = tcp
socket_type = stream
flags = REUSE
wait = yes
user = acedb
group = acedb
log_on_success += USERID DURATION
log_on_failure += USERID HOST
server = /usr/local/acedb/bin/saceserver
server_args = /usr/local/acedb/elegans
}
Change the line "service elegans" to be the symbolic name chosen
in (a).
c) Tell xinetd to restart. Use "ps" to find the ID of the xinetd
daemon like this:
# ps -elf | grep xinetd
140 S root 457 1 0 69 0 - 557 do_sel Mar09 ? 00:00:21 xinetd
and use "kill -HUP" to tell the server to reread inetd.conf
(this must be done as root):
# kill -HUP 140
You should now be able to communicate with the server using saceclient
or ace.pl. If it's not working, look in the following log files for
helpful error messages:
/var/log/messages
~acedb/elegans/database/log.wrm
~acedb/elegans/database/serverlog.wrm
Lincoln Stein
May 2003
docs/ACE_SERVER_TRAPS.HOWTO view on Meta::CPAN
Permissions
Gifaceserver
*
inetd.conf
*
server.log
Models
Editors
White Space
To Do
_________________________________________________________________
docs/ACE_SERVER_TRAPS.HOWTO view on Meta::CPAN
makes you wonder while you do it.
Inetd.conf
Our individual inetd.conf files were completely commented out, and the
daemon stopped because of our dispersed locations. Append the required
line to the file, and enter:
Killall -HUP inetd
server.log
The server really wants a server.log file, writable by the user to
whom the gifaceserver is assigned in the inetd.conf file. We created
one by opening the gifaceserver on a fake port number (12345):
/usr/local/bin/gifaceserver /home/httpd/database/contacts 12345
1200:1200:10
Models
Documentation
docs/ACE_SERVER_TRAPS.HOWTO.html view on Meta::CPAN
<p><h4>Environment Description</h4></p>
<p><h4>Installation</h4></p>
<p><h5>ACEDB</h5>
<ul>
<li><h5>ACEDB and environment variables</h5></li>
<li><h5>Permissions</h5></li>
</ul></p>
<p><h5>Gifaceserver</h5>
<ul>
<li><h5>inetd.conf</h5></li>
<li><h5>server.log</h5></li>
</ul></p>
<p><h4>Models</h4></p>
<p><h5>Editors</h5></p>
<p><h5>White Space</h5></p>
<p><h4>To Do</h4></p>
<hr>
<p><h3>Environment Description</h3></p>
<p>These notes refer to the following environment:</p>
<ul>
<li>ACEDB: 4.7g, loaded from the Linux binary (bin.linux_libc6.4_7g.tar.Z)</li>
docs/ACE_SERVER_TRAPS.HOWTO.html view on Meta::CPAN
<p><h3>Gifaceserver<br>Warning: this isn't yet working completely</h3></p>
<p><h4>Problem</h4></p>
<p>Most documentation dealing with this software simply tells you to get it going. The software comes with no documentation whatsoever. No README at all. There is a manual that comes in /acedocs called aceserver.html. Its installation instruction...
<p><h4>Solution</h4></p>
<p>The best installation information is in the <strong>README</strong> file for <em>AcePerl-1.54</em>. A few more hints are listed here.</p>
<p>The <em>AcePerl</em> <strong>README</strong> file implies creating a user called <em>acedb</em>. This creates permissions problems that we haven't solved yet. We are using individual user names instead.</p>
<p>One thing that <strong>no</strong> documentation mentions is that we had to move <em>gifaceserver.LINUX</em> to <em>/usr/local/bin/gifaceserver</em>. Obvious, but still makes you wonder while you do it.</p>
<p><h4>Inetd.conf</h4></p>
<p>Our individual <em>inetd.conf</em> files were completely commented out, and the daemon stopped because of our dispersed locations. Append the required line to the file, and enter:</p>
<p><em>Killall -HUP inetd</em></p>
<p><h4>server.log</h4></p>
<p>The server really wants a <em>server.log</em> file, writable by the user to whom the <em>gifaceserver</em> is assigned in the <em>inetd.conf</em> file. We created one by opening the <em>gifaceserver</em> on a fake port number (12345):</p>
<p><em> /usr/local/bin/gifaceserver /home/httpd/database/contacts 12345 1200:1200:10</em></p>
<p><h2>Models</h2></p>
<p><h3>Documentation</h3></p>
The <strong>best</strong> documentation for models is in <em>/acedocs/exploring/*.</em> The table of contents is in <em>/acedocs/exploring/toc_models.html</em>. Unfortunately, like all the ACEDB documentation, it uses absolute pathnames. We have c...
<p>The moviedb database is the best simple example of a database.</p>
<p><h3>Editors</h3></p>
<p>ACEDB is picky about its ascii. <em>vi</em> works great. Can't vouch for <em>emacs</em> ;-). <strong>Don't</strong> use anything nasty like a word processor.</p>
<p><h3>White Space</h3></p>
<p>It really likes alignment, and it likes tabs. Combining tabs and spaces kills otherwise perfectly good models every five seconds.</p>
<p><h4>To Do</h4></p>
docs/GFF_Spec.html view on Meta::CPAN
<UL>
<LI><A HREF="#meta_info">Comments for Meta-Information</A>
</UL>
<LI><A HREF="#file_names">File Naming</A>
</UL>
<LI><A HREF="#semantics">Semantics</A>
<LI><A HREF="#GFF_use">Ways to use GFF</A>
<UL>
<LI><A HREF="#examples">Complex Examples</A>
<UL>
<LI><A HREF="#homology_feature">Similarities to Other Sequences</A>
</UL>
<LI><A HREF="#cum_score_array">Cumulative Score Arrays</A>
</UL>
<LI><A HREF="#mailing_list"> Mailing list</A>
<LI><A HREF="#edit_history">Edit History</A>
<LI><A HREF="#authors">Authors</A>
</UL>
<!-- INDEX END -->
<HR>
<A NAME="introduction"><h2>Introduction</h2></A>
docs/GFF_Spec.html view on Meta::CPAN
In the example given above the feature "splice5" indicates that there
is a candidate 5' splice site between positions 172 and 173. The
"sp5-20" feature is a prediction based on a window of 20 bp for the
same splice site. To use either of these, you must know the position
within the feature of the predicted splice site. This only needs to
be given once, possibly in comments at the head of the file, or in a
separate document. <P>
Another example is the scoring scheme; we ourselves would like the
score to be a log-odds likelihood score in bits to a defined null
model, but that is not required, because different methods take
different approaches.
Avoiding a prespecified feature set also leaves open the possibility
for GFF to be used for new feature types, such as CpG islands,
hypersensitive sites, promoter/enhancer elements, etc.
<P>
Back to <A HREF="#TOC">Table of Contents</A>
<P>
<HR>
docs/GFF_Spec.html view on Meta::CPAN
experimentally determined features, gene structures etc.
</ol>
<P>
Back to <A HREF="#TOC">Table of Contents</A>
<P>
<HR>
<A NAME="examples"><h3> Complex Examples</h3>
<A NAME="homology_feature">
<h4> Similarities to Other Sequences </h4>
A major source of information about a sequence comes from similarities
to other sequences. For example, BLAST hits to protein sequences help
identify potential coding regions. We can represent these as a set of
"homology gene features", grouping hits to the same target as follows:
<font size="3"><pre>
seq1 BLASTX similarity 101 136 87.1 + 0 HBA_HUMAN
seq1 BLASTX similarity 107 133 72.4 + 0 HBB_HUMAN
seq1 BLASTX similarity 290 343 67.1 + 0 HBA_HUMAN
</pre></font>
If further information is needed about where in the target protein
each match occurs, it can be given after the protein name, e.g.
as the start coordinate in the target.
<P>
docs/NEW_DB.HOWTO view on Meta::CPAN
2) within that directory create a directory named "wspec" (where
the schema lives) and another named "database"
3) populate the wspec subdirectory with the schema files,
which you can copy from another database, such as
the C. elegans database
4) run xace, giving it the database's directory as its
command-line argument
5) xace will prompt you to reinitialize the database, say "OK"
6) using the edit menu, select "read .ace" file. Say "yes"
when prompted for write access
7) choose "Open ace file" from the dialog box, and locate
the file you wish to load
8) select "Read all"
9) when done, close the window and select "Save..." from the
main xace window
Read other .ace files in the same way.
Rather than launching xace, you can do it all with tace. Lines
surrounded by <angle brackets> represent user input:
examples/ace.pl view on Meta::CPAN
use strict vars;
use vars qw/@CLASSES @HELP_TOPICS/;
use constant DEBUG => 0;
my ($HOST,$PORT,$PATH,$TCSH,$URL,$AUTOSAVE,$USER,$PASS,@EXEC);
GetOptions('host=s' => \$HOST,
'port=i' => \$PORT,
'path=s' => \$PATH,
'tcsh' => \$TCSH,
'url' => \$URL,
'login:s' => \$USER,
'user:s' => \$USER,
'password:s' => \$PASS,
'save' => \$AUTOSAVE,
'exec=s' => \@EXEC,
) || die <<USAGE;
Usage: $0 [options] [URL]
Interactive Perl client for ACEDB
Options (can be abbreviated):
-host <hostname> Server host (localhost)
-port <port> Server port (200005)
-path <db path> Local database path (no default)
-url <url> Server URL (see below
-login <user> Username
-pass <pass> Password
-tcsh Use T-shell completion mode
-save Save database updates automatically
-exec <command> Run a command and quit
Respects the environment variables \$ACEDB_HOST and \$ACEDB_PORT, if present.
You can edit the command line using the cursor keys and emacs style
key bindings. Use up and down arrows (or ^P, ^N) to access the history.
The tab key completes partial commands. In tcsh mode, the tab key cycles
among the completions, otherwise pressing the tab key a second time lists
examples/exons.pl view on Meta::CPAN
my $db = Ace->connect(-host=>HOST,-port=>PORT) || die "Connection failure: ",Ace->error;
print "done.\n";
my @sequences = $db->list('Sequence','S*');
print "There are ",scalar(@sequences)," Sequence objects starting with the letter \"S\".\n";
print "The first one's name is ",$sequences[0],"\n";
print "It contains the following top level tags:\n";
foreach ($sequences[0]->tags) {
print "\t$_\n";
}
print "The following homology types have been identified:\n";
my @homol = $sequences[0]->Homol;
foreach (@homol) {
my @hits=$_->col;
print "\t$_ (",scalar(@hits)," hits)\n";
}
print "The DNA homology hits are: ",join(', ',$sequences[0]->DNA_homol),"\n";
my $homol = $sequences[0]->DNA_homol;
print "The sequence of the homologous sequence $homol is: ",$homol->DNA->right,"\n";
examples/sequence.pl view on Meta::CPAN
my $db = Ace->connect(-host=>HOST,-port=>PORT) || die "Connection failure: ",Ace->error;
print "done.\n";
my @sequences = $db->list('Sequence','S*');
print "There are ",scalar(@sequences)," Sequence objects starting with the letter \"S\".\n";
print "The first one's name is ",$sequences[0],"\n";
print "It contains the following top level tags:\n";
foreach ($sequences[0]->tags) {
print "\t$_\n";
}
print "The following homology types have been identified:\n";
my @homol = $sequences[0]->Homol;
foreach (@homol) {
my @hits=$_->col;
print "\t$_ (",scalar(@hits)," hits)\n";
}
print "The DNA homology hits are: ",join(', ',$sequences[0]->DNA_homol),"\n";
my $homol = $sequences[0]->DNA_homol;
print "The sequence of the homologous sequence $homol is: ",$homol->DNA->right,"\n";
util/ace.PLS view on Meta::CPAN
use strict vars;
use vars qw/@CLASSES @HELP_TOPICS/;
use constant DEBUG => 0;
my ($HOST,$PORT,$PATH,$TCSH,$URL,$AUTOSAVE,$USER,$PASS,@EXEC);
GetOptions('host=s' => \$HOST,
'port=i' => \$PORT,
'path=s' => \$PATH,
'tcsh' => \$TCSH,
'url' => \$URL,
'login:s' => \$USER,
'user:s' => \$USER,
'password:s' => \$PASS,
'save' => \$AUTOSAVE,
'exec=s' => \@EXEC,
) || die <<USAGE;
Usage: $0 [options] [URL]
Interactive Perl client for ACEDB
Options (can be abbreviated):
-host <hostname> Server host (localhost)
-port <port> Server port (200005)
-path <db path> Local database path (no default)
-url <url> Server URL (see below
-login <user> Username
-pass <pass> Password
-tcsh Use T-shell completion mode
-save Save database updates automatically
-exec <command> Run a command and quit
Respects the environment variables \$ACEDB_HOST and \$ACEDB_PORT, if present.
You can edit the command line using the cursor keys and emacs style
key bindings. Use up and down arrows (or ^P, ^N) to access the history.
The tab key completes partial commands. In tcsh mode, the tab key cycles
among the completions, otherwise pressing the tab key a second time lists