Main > Free Download Search >

Free suffix trees software for linux

suffix trees

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1047
STX B+ Tree 0.8

STX B+ Tree 0.8


STX B+ Tree project is a set of C++ template classes implementing a B+ tree key/data container in main memory. more>>
STX B+ Tree project is a set of C++ template classes implementing a B+ tree key/data container in main memory. The classes are designed as drop-in replacements of the STL containers set, map, multiset and multimap and follow their interfaces very closely. By packing multiple value pairs into each node of the tree the B+ tree reduces heap fragmentation and utilizes cache-line effects better than the standard red-black binary tree.
The tree algorithms are based on the implementation in Cormen, Leiserson and Rivests Introduction into Algorithms, Jan Janninks paper and other algorithm resources. The classes contain extensive assertion and verification mechanisms to ensure the implementations correctness by testing the tree invariants.
The main B+ tree implementation can be found in doxygen stx/btree.h or with plain text comments btree.h.
Special interest was put into performing a speed comparison test between the standard red-black tree and the new B+ tree implementation. The speed test results are interesting and show the B+ tree to be significantly faster.
Enhancements:
- This release introduces the demonstration program wxBTreeDemo.
- This program draws illustrations of the B+ trees constructed by the STX B+ Tree template classes.
- It allows the user to select different types of B+ tree instantiations: integer or string keys and different slot numbers.
- The user may insert and erase key/data pairs from the tree and run different search operations.
- The demo program uses the cross-platform wxWidgets toolkit and can be compiled on Linux, Windows, and Mac OS X.
<<less
Download (0.36MB)
Added: 2007-05-15 License: LGPL (GNU Lesser General Public License) Price:
548 downloads
Suffix tree implementation library 1.2

Suffix tree implementation library 1.2


Suffix tree implementation library is a C library, an implementation of the suffix trees algorithm to store/retrieve key/data pa more>>
Suffix tree implementation library is a C library, an implementation of the suffix trees algorithm to store/retrieve key/data pairs.
The main advantages are a linear indexing time, little memory usage, and very fast retrieving.
It has been developped on FreeBSD/gcc but should be fairly portable.
The source code "testsfx.c" show an example of how to use the library both for inserting, retrieving, and deleting data. There arent many functions and comments should be enough to give you an idea of how to use the library. (read the header of the source file)
You should edit sfxdisk.h to suit your needs: you can change the alphabet size and the offset type. It should be OK to use "long long" 64 bits ints instead of long, in fact I tested it succesfully but havent gone to the point of filling more than 2 GB of data (needless to say you need a 64 bits filesystem).
Two "tools" come with the library (new with version 1.2): dumpsfx and loadsfx. dumpsfx is used to dump the database: dumpsfx [-s separator] if you want to output the result as readable text or dumpsfx < file.sfx > -h to output it for reloading with loadsfx.
dumpsfx outputs on stdout and loadsfx reads from stdin. loadsfx < suffix tree file to create > < dumped_file
Enhancements:
- removed an useless offset incrementation in STwritenode
<<less
Download (0.015MB)
Added: 2006-08-07 License: GPL (GNU General Public License) Price:
1189 downloads
mod_suffix 20001002

mod_suffix 20001002


mod_suffix will grant access to files on the webserver based on their suffix. more>>
mod_suffix will grant access to files on the webserver based on their suffix.

If youre working on a large website and youre editing your files in place you might be confronted with a lot of backup files that various editors leave behind - like index.html~ (Emacs) or index.html.bak (UltraEdit).

This can be a problem if youre using server-side scripting languages like Embperl or PHP: Malicious users might try to open foobar.php.bak instead of foobar.php and peek at your code to see things they shouldnt see (like bad programming style or - even worse - the password to your database).

mod_suffix tries to solve this problem by blocking access to all files that do not end with a pre-defined suffix. This might seem paranoid but at least it is a rather fast and secure method. Also, it should be flexible enough for most cases.

<<less
Download (0.008MB)
Added: 2006-04-20 License: BSD License Price:
1283 downloads
glastree 1.04

glastree 1.04


glastree builds live backup trees. more>>
glastree application builds live backup trees, with branches for each day. Users directly browse the past to recover older documents or retrieve lost files. Hard links serve to compress out unchanged files, while modified ones are copied verbatim. A prune utility effects a constant, sliding window.

<<less
Download (0.006MB)
Added: 2007-06-11 License: Public Domain Price:
865 downloads
libstree 0.4.2

libstree 0.4.2


libstree is a generic suffix tree implementation, written in C. more>>
libstree is a generic suffix tree implementation, written in C. libstree library can handle arbitrary data structures as elements of a string. Unlike most demo implementations, it is thus not limited to simple ASCII character strings.
Suffix tree generation in libstree is highly efficient and implemented using the algorithm by Ukkonen, which means that libstree builds suffix trees in time linear to the length of the strings (assuming that string element comparisons can be done in O(1)).
libstree can handle multiple strings per suffix tree, including dynamic insertion and removal of strings. It provides various means of obtaining information about nodes in the tree, such as depth-first and breadth-first iteration, leaves iteration, and bottom-up iteration.
libstree provides implementations of longest-common-substring and longest-repeated-substring algorithms, as examples of how to build complex algorithms using the suffix tree primitives.
Installation:
The `configure shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile in each directory of the package.
It may also create one or more `.h files containing system-dependent definitions. Finally, it creates a shell script `config.status that you can run in the future to recreate the current configuration, and a file `config.log containing compiler output (useful mainly for debugging `configure).
It can also use an optional file (typically called `config.cache and enabled with `--cache-file=config.cache or simply `-C) that saves the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale cache files.)
If you need to do unusual things to compile the package, please try to figure out how `configure could check whether to do them, and mail diffs or instructions to the address given in the `README so they can be considered for the next release.
If you are using the cache, and at some point `config.cache contains results you dont want to keep, you may remove or edit it.
The file `configure.ac (or `configure.in) is used to create `configure by a program called `autoconf. You only need `configure.ac if you want to change it or regenerate `configure using a newer version of `autoconf.
The simplest way to compile this package is:
1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type `sh ./configure instead to prevent `csh from trying to execute
`configure itself.
Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.
2. Type `make to compile the package.
3. Optionally, type `make check to run any self-tests that come with the package.
4. Type `make install to install the programs and any data files and documentation.
5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean.
There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.
Enhancements:
- LCS can now be run repeatedly on a single unmodified tree without problems.
- A memory leak in lst_stree_clear() has been fixed.
<<less
Download (0.25MB)
Added: 2006-03-01 License: GPL (GNU General Public License) Price:
1334 downloads
DBIx::OO::Tree 0.0.4

DBIx::OO::Tree 0.0.4


DBIx::OO::Tree is a Perl module to manipulate hierarchical data using the nested sets model. more>>
DBIx::OO::Tree is a Perl module to manipulate hierarchical data using the "nested sets" model.

SYNOPSYS

CREATE TABLE Categories (
id INTEGER UNSIGNED AUTO_INCREMENT PRIMARY KEY,
label VARCHAR(255),

-- these columns are required by DBIx::OO::Tree
parent INTEGER UNSIGNED,
lft INTEGER UNSIGNED NOT NULL,
rgt INTEGER UNSIGNED NOT NULL,
mvg TINYINT DEFAULT 0,

INDEX(lft),
INDEX(rgt),
INDEX(mvg),
INDEX(parent)
);

* * *

package Category;
use base DBIx::OO;
use DBIx::OO::Tree;

__PACKAGE__->table(Categories);
__PACKAGE__->columns(P => [ id ],
E => [ label, parent ]);

# note its not necessary to declare lft, rgt, mvg or parent. We
# declare parent simply because it might be useful, but
# DBIx::OO:Tree works with low-level SQL therefore it doesnt
# require that the DBIx::OO object has these fields.

# the code below creates the structure presented in [1]

my $electronics = Category->tree_append({ label => electronics });
my $tvs = $electronics->tree_append({ label => televisions });
my $tube = $tvs->tree_append({ label => tube });
my $plasma = $tvs->tree_append({ label => plasma });
my $lcd = $plasma->tree_insert_before({ label => lcd });
my $portable = $tvs->tree_insert_after({ label => portable electronics });
my $mp3 = $portable->tree_append({ label => mp3 players });
my $flash = $mp3->tree_append({ label => flash });
my $cds = $portable->tree_append({ label => cd players });
my $radios = Category->tree_append($portable->id,
{ label => 2 way radios });

# fetch and display a subtree

my $data = $electronics->tree_get_subtree({
fields => [qw( label lft rgt parent )]
});
my $levels = Category->tree_compute_levels($data);

foreach my $i (@$data) {
print x $levels->{$i->{id}}, $i->{label}, "n";
}

## or, create DBIx::OO objects from returned data:

my $array = Category->init_from_data($data);
print join("n", (map { x $levels->{$_->id} . $_->label } @$array));

# display path info

my $data = $flash->tree_get_path;
print join("n", (map { $_->{label} } @$data));

# move nodes around

$mp3->tree_reparent($lcd->id);
$tvs->tree_reparent($portable->id);
$cds->tree_reparent(undef);

$plasma->tree_move_before($tube->id);
$portable->tree_move_before($electronics->id);

# delete nodes

$lcd->tree_delete;

This module is a complement to DBIx::OO to facilitate storing trees in database using the "nested sets model", presented in [1]. Its main ambition is to be extremely fast at retrieving data (sacrificing for this the performance of UPDATE-s, INSERT-s or DELETE-s). Currently this module requires you to have these columns in the table:

- id: primary key (integer)
- parent: integer, references the parent node (NULL for root nodes)
- lft, rgt: store the node position
- mvg: used only when moving nodes

"parent" and "mvg" are not esentially required by the nested sets model as presented in [1], but they are necessary for this module to work. In particular, "mvg" is only required by functions that move nodes, such as tree_reparent(). If you dont want to move nodes around you can omit "mvg".

Retrieval functions should be very fast (one SQL executed). To further promote speed, they dont return DBIx::OO blessed objects, but an array of hashes instead. Its easy to create DBIx::OO objects from these, if required, by calling DBIx::OO->init_from_data() (see DBIx::OO for more information).

Insert/delete/move functions, however, need to ensure the tree integrity. Heres what happens currently:

- tree_append, tree_insert_before, tree_insert_after -- these execute
one SELECT and two UPDATE-s (that potentially could affect a lot of
rows).

- tree_delete: execute one SELECT, one DELETE and two UPDATE-s.

- tree_reparent -- executes 2 SELECT-s and 7 UPDATE-s. I know, this
sounds horrible--if you have better ideas Id love to hear them.

<<less
Download (0.023MB)
Added: 2007-01-13 License: Perl Artistic License Price:
594 downloads
AJAX Tree Control 0.1

AJAX Tree Control 0.1


AJAX Tree Control is a modified version of SilverStripes tree control. more>>
AJAX Tree Control is a modified version of SilverStripes tree control. It adds dynamic loading of child nodes via AJAX.

The default implementation uses the prototype library to make dynamic requests, but this behavior can be overridden by setting functions on the global Tree object.

There are a few demo Ruby on Rails applications included in the distribution that show how to use and customize the tree.
<<less
Download (0.082MB)
Added: 2007-05-07 License: BSD License Price:
902 downloads
Bio::NEXUS::TreesBlock 0.67

Bio::NEXUS::TreesBlock 0.67


Bio::NEXUS::TreesBlock is a Perl module that represents TREES block of a NEXUS file. more>>
Bio::NEXUS::TreesBlock is a Perl module that represents TREES block of a NEXUS file.

SYNOPSIS

if ( $type =~ /trees/i ) {
$block_object = new Bio::NEXUS::TreesBlock( $block_type, $block, $verbose );
}

If a NEXUS block is a Trees Block, this module parses the block and stores the tree data.

METHODS

new

Title : new
Usage : block_object = new Bio::NEXUS::TreesBlock($block_type, $commands, $verbose );
Function: Creates a new Bio::NEXUS::TreesBlock object and automatically reads the file
Returns : Bio::NEXUS::TreesBlock object
Args : type (string), the commands/comments to parse (array ref), and a verbose flag (0 or 1; optional)

clone

Title : clone
Usage : my $newblock = $block->clone();
Function: clone a block object (shallow)
Returns : Block object
Args : none

set_trees

Title : set_trees
Usage : $block->set_trees($trees);
Function: Sets the list of trees (Bio::NEXUS::Tree objects)
Returns : none
Args : ref to array of Bio::NEXUS::Tree objects

add_tree

Title : add_tree
Usage : $block->add_tree($tree);
Function: Add trees (Bio::NEXUS::Tree object)
Returns : none
Args : a Bio::NEXUS::Tree object

add_tree_from_newick

Title : add_tree_from_newick
Usage : $block->add_tree_from_newick($newick_tree, $tree_name);
Function: Add a tree (Bio::NEXUS::Tree object)
Returns : none
Args : a tree string in newick format and a name for the tree (scalars)

get_trees

Title : get_trees
Usage : $block->get_trees();
Function: Gets the list of trees (Bio::NEXUS::Tree objects) and returns it
Returns : ref to array of Bio::NEXUS::Tree objects
Args : none

get_tree

Title : get_tree
Usage : $block->get_tree($treename);
Function: Gets the first tree (Bio::NEXUS::Tree object) that matches the name given or the first tree if $treename is not specified. If no tree matches, returns undef.
Returns : a Bio::NEXUS::Tree object
Args : tree name or none

set_translate

Title : set_translate
Usage : $block->set_translate($translate);
Function: Sets the hash of translates for nodes names
Returns : none
Args : hash of translates

translate

Title : translate
Usage : $self->translate($num);
Function: Translates a number with its associated name.
Returns : integer or string
Args : integer
Method : Returns the name associated with that numbers translated name.
If it cant find an association, returns the number.

reroot_tree

Title : reroot_tree
Usage : $block->reroot_tree($outgroup,$root_position, $treename);
Function: Reroot a tree using an OTU as new outgroup.
Returns : none
Args : outgroup name, the distance before the root position and tree name

reroot_all_trees

Title : reroot_all_trees
Usage : $block->reroot_all_trees($outgroup, $root_position);
Function: Reroot all the trees in the treesblock tree. use an OTU as new outgroup
Returns : none
Args : outgroup name and root position

rename_otus

Title : rename_otus
Usage : $block->rename_otus(%translation);
Function: Renames nodes based on a translation hash
Returns : none
Args : hash containing translation (e.g., { old_name => new_name} )
Comments: nodes not included in translation hash are unaffected

select_otus

Name : select_otus
Usage : $nexus->select_otus(@otunames);
Function: select a subset of OTUs
Returns : a new nexus object
Args : a ref to array of OTU names

select_tree

Name : select_tree
Usage : $nexus->select_tree($treename);
Function: select a tree
Returns : a new nexus object
Args : a tree name

select_subtree

Name : select_subtree
Usage : $nexus->select_subtree($inodename);
Function: select a subtree
Returns : a new nexus object
Args : an internal node name for subtree to be selected

exclude_subtree

Name : exclude_subtree
Usage : $nexus->exclude_subtree($inodename);
Function: remove a subtree
Returns : a new nexus object
Args : an internal node for subtree to be removed

equals

Name : equals
Usage : $nexus->equals($another);
Function: compare if two NEXUS objects are equal
Returns : boolean
Args : a NEXUS object

<<less
Download (0.15MB)
Added: 2006-12-19 License: Perl Artistic License Price:
1039 downloads
dtRdr::GUI::Wx::Tree::Base 0.0.11

dtRdr::GUI::Wx::Tree::Base 0.0.11


dtRdr::GUI::Wx::Tree::Base is a base class for sidebar trees. more>>
dtRdr::GUI::Wx::Tree::Base is a base class for sidebar trees.

SYNOPSIS

init

$tree->init($frame);

select_item

Select the tree item for a given $id.

$tree->select_item($id)

The id is probably the id of whatever your widget associated with each tree item.

Convenience

id_or_id

Checks whether $id is a scalar or an object which can(id) and return the id.

$id = $self->id_or_id($id);

<<less
Download (2.8MB)
Added: 2007-03-15 License: GPL (GNU General Public License) Price:
953 downloads
mod_domaintree 1.6

mod_domaintree 1.6


mod_domaintree is a hostname to filesystem mapper for Apache2. more>>
mod_domaintree is a hostname to filesystem mapper for Apache2. It maps host names like www.example.com to a filesystem tree like $prefix/com/example/www/$suffix.
mod_domaintree module can optionally strip the www prefix of host names.
Enhancements:
- The suexec hook and DomainTreeSuexec directory configuration directive were added.
- "make clean" was fixed.
<<less
Download (0.038MB)
Added: 2007-05-07 License: The Apache License 2.0 Price:
900 downloads
XML::Handler::Trees 0.02

XML::Handler::Trees 0.02


XML::Handler::Trees is a PerlSAX handlers for building tree structures. more>>
XML::Handler::Trees is a PerlSAX handlers for building tree structures.

SYNOPSIS

use XML::Handler::Trees;
use XML::Parser::PerlSAX;

my $p=XML::Parser::PerlSAX->new();
my $h=XML::Handler::Tree->new();
my $tree=$p->parse(Handler=>$h,Source=>{SystemId=>file.xml});

my $p=XML::Parser::PerlSAX->new();
my $h=XML::Handler::EasyTree->new(Noempty=>1);
my $easytree=$p->parse(Handler=>$h,Source=>{SystemId=>file.xml});

my $p=XML::Parser::PerlSAX->new();
my $h=XML::Handler::TreeBuilder->new();
$h->store_pis(1);
my $tree=$p->parse(Handler=>$h,Source=>{SystemId=>file.xml});

XML::Handler::Trees provides three PerlSAX handler classes for building tree structures. XML::Handler::Tree builds the same type of tree as the "Tree" style in XML::Parser.

XML::Handler::EasyTree builds the same type of tree as the "EasyTree" style added to XML::Parser by XML::Parser::EasyTree. XML::Handler::TreeBuilder builds the same type of tree as Sean M. Burkes XML::TreeBuilder. These classes make it possible to construct these tree structures from sources other than XML::Parser.

All three handlers can be driven by either PerlSAX 1 or PerlSAX 2 drivers. In all cases, the end_document() method returns a reference to the constructed tree, which normally becomes the return value of the PerlSAX driver.

<<less
Download (0.007MB)
Added: 2006-09-01 License: Perl Artistic License Price:
1148 downloads
kdtree 0.5.2

kdtree 0.5.2


kdtree project is a simple C library for working with KD-Trees. more>>
kdtree project is a simple C library for working with KD-Trees.
Kd-trees are an extension of binary search trees to k-dimensional data. They facilitate very fast searching, and nearest-neighbor queries.
This particular implementation is designed to be efficient and very easy to use. It is completely written in ANSI/ISO C, and thus completely cross-platform.
Enhancements:
- This release fixes both reported bugs, and adds a contributed, more extensive, and well commented example program.
<<less
Download (0.007MB)
Added: 2007-07-26 License: BSD License Price:
831 downloads
B::Tree 0.02

B::Tree 0.02


B::Tree is a simplified version of B::Graph for demonstration. more>>
B::Tree is a simplified version of B::Graph for demonstration.

SYNOPSIS

perl -MO=Tree program | dot -Tps > tree.ps

This is a very cut-down version of B::Graph; it generates minimalist tree graphs of the op tree of a Perl program, merely connecting the op nodes and labelling each node with the type of op.

It was written as an example of how to write compiler modules for "Professional Perl", but Ive found it extremely useful for creating simple op tree graphs for use in presentations on Perl internals.

It requires the CPAN GraphViz module and the GraphViz package from http://www.research.att.com/sw/tools/graphviz/. It takes no options.

<<less
Download (0.002MB)
Added: 2007-06-26 License: Perl Artistic License Price:
856 downloads
SILC Autodist 1.3.1

SILC Autodist 1.3.1


SILC Autodist is a program which is used to manage and create source distributions. more>>
SILC Autodist is a program which is used to manage and create source distributions.

The Autodist is a source distribution management system that allows powerful mechanisms to define what is included in and excluded from a distribution, and what license the distribution is released under. It is also used to create the actual distribution source packages. Autodist allows distribution management in file, directory and file content level. Different distributions may include different portions of files, for example, excluding certain features from certain distributions. It is always guaranteed that anything not defined for the distribution, is removed automatically (files, file content, directories), thus ensuring that nothing is accidentally included in the distribution.

The Autodist creates Makefile.am files from Makefile.ad files and configure.ac file from one or more configure.ad files. Any other file ending with .ad suffix will also be processed. The processed file will have the .ad suffix removed (see Preparing source tree). Autodist also creates and packages the distribution using common GNU distribution creation process, specificly `make dist. Autodist, however, controls this process and during packaging phase the Autodist processes all files in the distribution (other than *.ad files, which has already been processed earlier by Autodist). The resulted package is a processed source distribution package, processed according to the rules specified in the distribution file(s) (see Creating distribution).

Any file in the source tree may use distdefs (distribution defines (see Distdefines)) which are defined in the distributions. When distribution is packaged only the files, directories and file content that is either outside of any distdef, or inside the defined distdefs will be included in the distribution. Any other file, directory or content in the file will be removed. It is guaranteed, if a file, a directory or a piece of file content is not inside a defined distdef it will not be delivered to the distribution.

Any file, Makefile.am, configure.ac, or source file processed with Autodist is always compliant with the tools needed to process them. All files can also be processed with the corresponding tools even before processing them with Autodist. This makes it possible, for example, to compile sources before they have been processed, and undefined lines are removed. The distdefs are respected in source files by the preprocessor.

Autodist is not a binary packaging system. It is specificly used to create source distributions. A binary packaging system, however can be hooked to the distribution creation process, if needed.
<<less
Download (0.21MB)
Added: 2007-05-28 License: GPL (GNU General Public License) Price:
879 downloads
Bio::Tree::Tree 1.4

Bio::Tree::Tree 1.4


Bio::Tree::Tree is an Implementation of TreeI interface. more>>
Bio::Tree::Tree is an implementation of TreeI interface.

SYNOPSIS

# like from a TreeIO
my $treeio = new Bio::TreeIO(-format => newick, -file => treefile.dnd);
my $tree = $treeio->next_tree;
my @nodes = $tree->get_nodes;
my $root = $tree->get_root_node;

This object holds handles to Nodes which make up a tree.

<<less
Download (4.7MB)
Added: 2006-10-10 License: Perl Artistic License Price:
1110 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5