AcePerl

 view release on metacpan or  search on metacpan

Ace.pm  view on Meta::CPAN

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;

README  view on Meta::CPAN

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

README  view on Meta::CPAN

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

README  view on Meta::CPAN

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 



( run in 2.020 seconds using v1.01-cache-2.11-cpan-49f99fa48dc )