Skip to content
Hilmar Lapp edited this page Mar 29, 2015 · 2 revisions

Table of Contents

NAME

phymod.pl - Modifiy trees in the PhyloDB database

VERSION

This documentation refers to phymod.pl version 1.0.

SYNOPSIS

  Usage: phymod.pl

    REQUIRED ARGUMENTS:
        --dsn        # The DSN string for the DB connection
        --dbuser     # User name to connect with
        --dbpass     # User password to connect with
        --infile     # Full path to the tree file to import to the db
        --format     # "newick", "nexus" (default "newick")
    ALTERNATIVE TO --dsn:
        --driver     # DB Driver "mysql", "Pg", "Oracle" 
        --dbname     # Name of database to use
        --host       # Host to connect with (ie. localhost)
    ADDITIONAL OPTIONS:
        --tree       # Tree name to use
        --quiet      # Run the program in quiet mode.
        --verbose    # Run the program in verbose mode.
    ADDITIONAL INFORMATION:
        --version    # Show the program version     
        --usage      # Show program usage
        --help       # Print short help message
        --man        # Open full program manual

DESCRIPTION

Modify trees in a PhyloDB database. Since the current version of the program requires that node IDs be passed, the names of the trees do not need to be passed to the program. The down side is that you must know the unique ID for the name used by the database. These can be obtained by running the phyexport command with the ____ option. This will produce a tree with nodes labeled by the name given in the original tree, as well as the node ids used in the database.

COMMAND LINE ARGUMENTS

Required Arguments

-d, --dsn : the DSN of the database to connect to; default is the value in the environment variable DBI_DSN. If DBI_DSN has not been defined and the string is not passed to the command line, the dsn will be constructed from --driver, --dbname, --host
Example: DBI:mysql:database=biosql;host=localhost
-u, --dbuser : The user name to connect with; default is the value in the environment variable DBI_USER.
This user must have permission to add data to tables.
-p, --dbpass : password to connect with; default is the value in the environment variable DBI_PASSWORD. If this is not provided at the command line the user is prompted.
-x, --cut-node : The source node that will be cut from the tree. When passed witout a paste the data will be deleted from the database. There is currently no way to undelete a node that was cut.
-c, --copy-node : The source node that will be copied.
-v, --paste-node : Currently it is only possible to paste a node onto an existing node.

Alternative to --dsn

--host : The database host to connect to; default is localhost.
--dbname : The database name to connect to; default is biosql.
--driver : The database driver to connect with; default is mysql. Options other then mysql are currently not supported.

Additional Options

-q, --quiet : Print the program in quiet mode. No output will be printed to STDOUT and the user will not be prompted for intput.

Additional Information

--version : Show the program version.
--usage : Show program usage statement.
--help : Show a short help message.
--man : Show the full program manual.

EXAMPLES

Cut branch from tree

The following command would remove the branch rooted at node 25 from the tree named cornus.

    phymod.pl -t cornus -x 25

DIAGNOSTICS

Add diagnostics information here.

CONFIGURATION AND ENVIRONMENT

Many of the options passed at the command line can be set as options in the user's environment.

DBI_USER : User name to connect to the database.
DBI_PASSWORD : Password for the database connection
DBI_DSN : DSN for database connection.
For example in the bash shell this would be done be editing your .bashrc file to contain:
    export DBI_USER=yourname
    export DBI_PASS=yourpassword
    export DBI_DSN='DBI:mysql:database=biosql;host-localhost'

DEPENDENCIES

The phyinit program is dependent on the following PERL modules:

DBI - http://dbi.perl.org : The PERL Database Interface (DBI) module allows for connections to multiple databases.
DBD::MySQL - http://search.cpan.org/~capttofu/DBD-mysql-4.005/lib/DBD/mysql.pm : MySQL database driver for DBI module.
DBD::Pg - http://search.cpan.org/~rudy/DBD-Pg-1.32/Pg.pm : PostgreSQL database driver for the DBI module.
Getopt::Long - http://perldoc.perl.org/Getopt/Long.html : The Getopt module allows for the passing of command line options to perl scripts.
A RDBMS is also required. This can be one of:
MySQL - http://www.mysql.com :
PostgreSQL - http://www.postgresql.org :

BUGS AND LIMITATIONS

Known Limitations:

  • Currently only stable with the MySQL Database driver.
  • DSN string must currently be in the form: DBI:mysql:database=biosql;host=localhost

SEE ALSO

The program phymod.pl is a component of a package of command line programs for PhyloDB management. Additional programs include:

phyinit.pl : Initialize a PhyloDB database.
phyimport.pl : Import common phylogenetic file formats.
phyexport.pl : Export tree data in PhyloDB to common file formats.
phyopt.pl : Compute optimization values for a PhyloDB database.
phyreport.pl : Return a standard report of information for a given tree.

LICENSE

This program may be used, distributed or modified under the same terms as Perl itself. Please consult the Perl Artistic License (http://www.perl.com/pub/a/language/misc/Artistic.html) for the terms under which you may use, modify, or distribute this script.

THIS SOFTWARE COMES AS IS, WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. USE AT YOUR OWN RISK.

AUTHORS

James C. Estill

Hilmar Lapp <hlapp></hlapp>

William Piel <william.piel></william.piel>

HISTORY

Started: 07/06/2007

Updated: 08/19/2007