suffix tree implementation
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2756
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
<<lessThe 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
Download (0.015MB)
Added: 2006-08-07 License: GPL (GNU General Public License) Price:
1189 downloads
Bellagio OpenMAX IL Implementation 0.3.1
Bellagio is a sample implementation of OpenMAX IL for Linux. more>>
Bellagio is a sample implementation of OpenMAX IL for Linux.
It enables software developers and ISVs to familiarize themselves with the OpenMAX IL API and to develop their own OpenMAX multimedia and streaming media components for mobile devices, including codecs, video I/O, and audio mixers.
Included sample components comply with the OpenMAX base and interoperability profiles and can be tunnelled together.
Main features:
- a shared library with the IL core and a "reference" OpenMAX component
- a number of OpenMAX components which pass Khronos conformance tests
- a set of GStreamer plugins that use the IL API (not available yet)
Enhancements:
New video components:
- ffmpeg based MPEG4/H.264 decoder
- color converter component YUV -> RGB
- video renderer based on devFB
New audio component:
- audio file reader based on ffmpeg audio format
- volume component
Fixed known bugs:
- FFMPEG audio decoder now works on FC6 and other distributions with the latest ffmpeg release (0.4.9-0.35.20070204)
Known pending bugs:
- some ogg streams can not be decoded properly
- the tunneling between file reader, mp3 dec based on ffmpeg - alsa sink ends in a deadlock sometimes.
- This behavior has been detected some times using FC6 and UBUNTU, not with the FC4
Full list of components:
Audio:
- ogg decoder based on libvorbis (stand alone components, and multiple roles component)
- mp3 decoder based on mad decoder
- mp3 decoder based on ffmpeg (multiple roles component)
- volume component
- alsa audio sink
- ffmpeg audio file reader (to be used with mp3 ffmpeg decoder)
Video:
- MPEG4 decoder based on ffmpeg (multiple roles component)
- H.264 decoder based on ffmpeg (multiple roles component)
- Color converter based on ffmpeg
- video renderer based on devFB
- Major additions to the 0.2
- New port classes
The components are:
- multiple formats audio decoder component that supports mp3 and ogg audio formats
- alsa sink component
- all the other components are NOT compatible with the new architecture.
- They have been removed and will be ported to the new architecture in a further delivery
<<lessIt enables software developers and ISVs to familiarize themselves with the OpenMAX IL API and to develop their own OpenMAX multimedia and streaming media components for mobile devices, including codecs, video I/O, and audio mixers.
Included sample components comply with the OpenMAX base and interoperability profiles and can be tunnelled together.
Main features:
- a shared library with the IL core and a "reference" OpenMAX component
- a number of OpenMAX components which pass Khronos conformance tests
- a set of GStreamer plugins that use the IL API (not available yet)
Enhancements:
New video components:
- ffmpeg based MPEG4/H.264 decoder
- color converter component YUV -> RGB
- video renderer based on devFB
New audio component:
- audio file reader based on ffmpeg audio format
- volume component
Fixed known bugs:
- FFMPEG audio decoder now works on FC6 and other distributions with the latest ffmpeg release (0.4.9-0.35.20070204)
Known pending bugs:
- some ogg streams can not be decoded properly
- the tunneling between file reader, mp3 dec based on ffmpeg - alsa sink ends in a deadlock sometimes.
- This behavior has been detected some times using FC6 and UBUNTU, not with the FC4
Full list of components:
Audio:
- ogg decoder based on libvorbis (stand alone components, and multiple roles component)
- mp3 decoder based on mad decoder
- mp3 decoder based on ffmpeg (multiple roles component)
- volume component
- alsa audio sink
- ffmpeg audio file reader (to be used with mp3 ffmpeg decoder)
Video:
- MPEG4 decoder based on ffmpeg (multiple roles component)
- H.264 decoder based on ffmpeg (multiple roles component)
- Color converter based on ffmpeg
- video renderer based on devFB
- Major additions to the 0.2
- New port classes
The components are:
- multiple formats audio decoder component that supports mp3 and ogg audio formats
- alsa sink component
- all the other components are NOT compatible with the new architecture.
- They have been removed and will be ported to the new architecture in a further delivery
Download (0.49MB)
Added: 2007-06-06 License: GPL (GNU General Public License) Price:
895 downloads
Procinfo NG 2.0.113 (C++ Implementation)
Procinfo NG is a ground-up rewrite of the procinfo program. more>>
Procinfo NG is a ground-up rewrite of the procinfo program. Procinfo NGs goal is to make the code more readable (and reusable) and to restore broken functionality of the original program.
The original program was written for Linux 1.0, and updated through 2.2. This version is for 2.6.
Enhancements:
- Updates were made to match what some Linux distributions have done to procinfo-18.
- Support for MSI and XEN interrupts were added.
- Some non-x86 architectures are handled.
- Assorted bugs and 80-character console nonsense were fixed.
<<lessThe original program was written for Linux 1.0, and updated through 2.2. This version is for 2.6.
Enhancements:
- Updates were made to match what some Linux distributions have done to procinfo-18.
- Support for MSI and XEN interrupts were added.
- Some non-x86 architectures are handled.
- Assorted bugs and 80-character console nonsense were fixed.
Download (0.041MB)
Added: 2007-08-11 License: GPL (GNU General Public License) Price:
805 downloads
Other version of Procinfo NG
License:GPL (GNU General Public License)
Fast MD5 Implementation in Java 2.6.1
Fast MD5 Implementation in Java is a heavily optimized implementation of the MD5 hashing algorithm written in Java. more>>
Fast MD5 Implementation in Java is a heavily optimized implementation of the MD5 hashing algorithm written in Java.
Fast MD5 Implementation in Java includes an optional native method for even greater speed improvements.
How Fast Is It?
Short answer:Much faster than any other Java implementation that I have tested and (surprisingly) even faster than the native, non-Java MD5 implementation on some systems.
Long answer:First of all, it is important to note that the term "fast" is used here in relative terms. The implementation of the MD5 message digest algorithm available on this page is written in Java and is fast compared with other implementations written in Java, both because it is heavily optimized by itself and because there is an optional native method that makes it even faster when the platform supports it. How it compares to a sensible implementation written in a language, such as C, that is compiled directly to machine code, is heavily dependent upon how good of a job the JIT compiler in your JVM does in compiling the code or whether you are able to use the optional native method.
Enhancements:
- Martin West contributed a bug fix and some code refactoring to make all targets work out of the box in the Ant build file. Previously, the "dist" target did not work if the "docs" directory was not present.
<<lessFast MD5 Implementation in Java includes an optional native method for even greater speed improvements.
How Fast Is It?
Short answer:Much faster than any other Java implementation that I have tested and (surprisingly) even faster than the native, non-Java MD5 implementation on some systems.
Long answer:First of all, it is important to note that the term "fast" is used here in relative terms. The implementation of the MD5 message digest algorithm available on this page is written in Java and is fast compared with other implementations written in Java, both because it is heavily optimized by itself and because there is an optional native method that makes it even faster when the platform supports it. How it compares to a sensible implementation written in a language, such as C, that is compiled directly to machine code, is heavily dependent upon how good of a job the JIT compiler in your JVM does in compiling the code or whether you are able to use the optional native method.
Enhancements:
- Martin West contributed a bug fix and some code refactoring to make all targets work out of the box in the Ant build file. Previously, the "dist" target did not work if the "docs" directory was not present.
Download (0.073MB)
Added: 2006-03-06 License: LGPL (GNU Lesser General Public License) Price:
1350 downloads
Objective Modula-2 1.00 (Reference Implementation)
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2. more>>
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2 based on the object model and runtime of Objective-C.
The design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
Objective Modula-2s scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
Enhancements:
- This code is used to verify ideas and concepts which come up in the course of defining the language.
- It is in an early stage, incomplete and subject to frequent changes.
<<lessThe design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
Objective Modula-2s scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
Enhancements:
- This code is used to verify ideas and concepts which come up in the course of defining the language.
- It is in an early stage, incomplete and subject to frequent changes.
Download (0.019MB)
Added: 2007-07-21 License: (FDL) GNU Free Documentation License Price:
825 downloads
Tree::Simple::SAX 0.01
Tree::Simple::SAX is a set of classes for using Tree::Simple with XML. more>>
Tree::Simple::SAX is a set of classes for using Tree::Simple with XML.
SYNOPSIS
use Tree::Simple::SAX;
use XML::SAX::ParserFactory;
my $handler = Tree::Simple::SAX::Handler->new(Tree::Simple->new());
my $p = XML::SAX::ParserFactory->parser(Handler => $handler);
$p->parse_string( Hello ! );
# this will create a tree like this:
# { tag_type => xml }
# { tag_type => string }
# { content => Hello , tag_type => CDATA }
# { tag_type => world }
# { content => !, tag_type => CDATA }
This is an early implementation of an XML::SAX handler which creates a Tree::Simple object hierarchy from the XML stream. It is currently in the proof-of-concept/experimental stages and I plan to add more features in the future.
If anyone else is interested in the development of this module, feel free to contact me (use the email in the AUTHOR section). I am always open to discussion, thoughts, criticism and especially patches.
<<lessSYNOPSIS
use Tree::Simple::SAX;
use XML::SAX::ParserFactory;
my $handler = Tree::Simple::SAX::Handler->new(Tree::Simple->new());
my $p = XML::SAX::ParserFactory->parser(Handler => $handler);
$p->parse_string( Hello ! );
# this will create a tree like this:
# { tag_type => xml }
# { tag_type => string }
# { content => Hello , tag_type => CDATA }
# { tag_type => world }
# { content => !, tag_type => CDATA }
This is an early implementation of an XML::SAX handler which creates a Tree::Simple object hierarchy from the XML stream. It is currently in the proof-of-concept/experimental stages and I plan to add more features in the future.
If anyone else is interested in the development of this module, feel free to contact me (use the email in the AUTHOR section). I am always open to discussion, thoughts, criticism and especially patches.
Download (0.004MB)
Added: 2006-09-14 License: Perl Artistic License Price:
1135 downloads
Ports Tree Explorer 0.2
Ports Tree Explorer is a navigation tool for a ports tree. more>>
Ports Tree Explorer (PTE) is a small tool that allows you to navigate through your /usr/ports tree, showing you information about a selected port, tree view, software categories (/usr/ports main dirs) and finally allows you to install a selected port using childs for the installation.
PTE Allows you to monitor background installs and allow you to perform certain operations related to your software ports tree, with a plain and simple GUI requires almost minimum shell interaction.
Newer versions will include CVS updates off the ports, managing/modifying a specific port, see available FLAVORS and finally specify compilation options for this port. Ports Tree Explorer is written in perl/tk and its working (tested) on Open BSD. PTE is free and improvements, adjustments etc. are more than welcomed.
PTE aims to be an easy to use tool. Plain and simple as possible, functional for new users of /usr/ports tree along with experienced users that get bored often.
The scope of this project is to provide an easy way to use/maintain and install programs from your ports tree.
At the current stage, we aim to be usable and all the required functions be implemented and work.
After this goes to a stable release, security enhancements and extra functionality will be added.
Main features:
- Ports Category separation
- Ports Program separation
- Description of Port
- Install selected port
- History of executed commands (Installations)
Enhancements:
- Kill a background install.
- Changed the state of background install from Started to Finished (when the install is actually finished)
- Save history to file.
- Direct output from the fork to the output window.
- Support for other ports, like NetBSD, Free BSD ports.
<<lessPTE Allows you to monitor background installs and allow you to perform certain operations related to your software ports tree, with a plain and simple GUI requires almost minimum shell interaction.
Newer versions will include CVS updates off the ports, managing/modifying a specific port, see available FLAVORS and finally specify compilation options for this port. Ports Tree Explorer is written in perl/tk and its working (tested) on Open BSD. PTE is free and improvements, adjustments etc. are more than welcomed.
PTE aims to be an easy to use tool. Plain and simple as possible, functional for new users of /usr/ports tree along with experienced users that get bored often.
The scope of this project is to provide an easy way to use/maintain and install programs from your ports tree.
At the current stage, we aim to be usable and all the required functions be implemented and work.
After this goes to a stable release, security enhancements and extra functionality will be added.
Main features:
- Ports Category separation
- Ports Program separation
- Description of Port
- Install selected port
- History of executed commands (Installations)
Enhancements:
- Kill a background install.
- Changed the state of background install from Started to Finished (when the install is actually finished)
- Save history to file.
- Direct output from the fork to the output window.
- Support for other ports, like NetBSD, Free BSD ports.
Download (0.16MB)
Added: 2005-05-05 License: BSD License Price:
1633 downloads
XHTML Family Tree Generator 2.3.2
XHTML Family Tree Generator is a CGI Perl script that will create views of a family tree from a supplied data file. more>>
XHTML Family Tree Generator project is a CGI Perl script together with some Perl modules that will create views of a family tree from a supplied data file. The data file is a simple text or Excel file listing the family members, parents, and other details.
It is possible to show a tree of ancestors and descendants for any person, showing any number of generations. Other facilities are provided for showing email directories, birthday reminders, facehall, and more. It has a simple configuration, makes heavy use of CGI (and other CPAN modules), generates valid XHTML, and has support for Unicode and multiple languages.
Enhancements:
- Italian support was added.
<<lessIt is possible to show a tree of ancestors and descendants for any person, showing any number of generations. Other facilities are provided for showing email directories, birthday reminders, facehall, and more. It has a simple configuration, makes heavy use of CGI (and other CPAN modules), generates valid XHTML, and has support for Unicode and multiple languages.
Enhancements:
- Italian support was added.
Download (0.64MB)
Added: 2007-03-24 License: GPL (GNU General Public License) Price:
955 downloads
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.
<<lessThe 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.
Download (0.36MB)
Added: 2007-05-15 License: LGPL (GNU Lesser General Public License) Price:
548 downloads
Deluxe Tree 1.0
Deluxe Tree is a powerful, JavaScript-based site navigation menu. more>>
Deluxe Tree is a powerful, JavaScript-based site navigation menu. Deluxe Tree is a versatile, ready-made solution that allows professional and amateur Web developers to create superior navigation systems for their Web sites and Web applications.
It supports a special JavaScript API to change your menu "on-the-fly", animation effects, floating, drag-n-drop, state saving, XP Style, relative and absolute positions, animated icons and arrows, normal state, mouseover state, expanded state, unlimited submenus, separators, lines, and more.
Main features:
Compatibility
- Full cross-browser compatibility including IE, Netscape, Mozilla, Opera, Firefox, Konqueror and Safari
- on Windows, Mac OS and Linux
- Section 508 compliant
- Support for any doctypes
- Menu can be populated from a database using ASP, PHP, etc.
Seamless Integration
- Multiple menus on the same page
- Friendly to other scripts and css styles
- Any HTML code can be used within menu items
High Performance
- Generally loads faster than other page elements
- Performs perfectly with unlimited number of submenus and items
Easy Setup
- Comprehensible menu parameters for manual editing
Professional Look-n-Feel
- Fully customizable appearance, individual styles for each element
- Animation effects for submenus in XP Style
Unique Features
- Dragable, floating, state-saving menus
- Special JavaScript API for changing menu "on-the-fly"
Cost Effective
- Starts at just $39.95. Buy Now!
- Free for non-profit websites. Order Now!
- Full-functional free trial version.
Enhancements:
- Several .js modules were added.
- A special JavaScript API was added to change your menu "on-the-fly".
- New animation effects were added.
<<lessIt supports a special JavaScript API to change your menu "on-the-fly", animation effects, floating, drag-n-drop, state saving, XP Style, relative and absolute positions, animated icons and arrows, normal state, mouseover state, expanded state, unlimited submenus, separators, lines, and more.
Main features:
Compatibility
- Full cross-browser compatibility including IE, Netscape, Mozilla, Opera, Firefox, Konqueror and Safari
- on Windows, Mac OS and Linux
- Section 508 compliant
- Support for any doctypes
- Menu can be populated from a database using ASP, PHP, etc.
Seamless Integration
- Multiple menus on the same page
- Friendly to other scripts and css styles
- Any HTML code can be used within menu items
High Performance
- Generally loads faster than other page elements
- Performs perfectly with unlimited number of submenus and items
Easy Setup
- Comprehensible menu parameters for manual editing
Professional Look-n-Feel
- Fully customizable appearance, individual styles for each element
- Animation effects for submenus in XP Style
Unique Features
- Dragable, floating, state-saving menus
- Special JavaScript API for changing menu "on-the-fly"
Cost Effective
- Starts at just $39.95. Buy Now!
- Free for non-profit websites. Order Now!
- Full-functional free trial version.
Enhancements:
- Several .js modules were added.
- A special JavaScript API was added to change your menu "on-the-fly".
- New animation effects were added.
Download (0.82MB)
Added: 2006-09-18 License: Free for non-commercial use Price:
1131 downloads
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.
<<lessThe 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.
Download (0.082MB)
Added: 2007-05-07 License: BSD License Price:
902 downloads
Tree::Simple::View::HTML 0.16
Tree::Simple::View::HTML is a Perl class for viewing Tree::Simple hierarchies in HTML. more>>
Tree::Simple::View::HTML is a Perl class for viewing Tree::Simple hierarchies in HTML.
SYNOPSIS
use Tree::Simple::View::HTML;
## a simple example
# use the defaults (an unordered list with no CSS)
my $tree_view = Tree::Simple::View::HTML->new($tree);
## more complex examples
# use the CSS properties
my $tree_view = Tree::Simple::View::HTML->new($tree => (
list_type => "ordered",
list_css => "list-style: circle;",
list_item_css => "font-family: courier;",
expanded_item_css => "font-family: courier; font-weight: bold",
));
# use the CSS classes
my $tree_view = Tree::Simple::View::HTML->new($tree => (
list_css_class => "myListClass",
list_item_css_class => "myListItemClass",
expanded_item_css_class => "myExpandedListItemClass",
));
# mix the CSS properties and CSS classes
my $tree_view = Tree::Simple::View::HTML->new($tree => (
list_css => "list-style: circle;",
list_item_css => "font-family: courier;",
expanded_item_css_class => "myExpandedListItemClass",
node_formatter => sub {
my ($tree) = @_;
return "" . $tree->getNodeValue()->description() . "";
}
));
# print out the tree fully expanded
print $tree_view->expandAll();
# print out the tree expanded along a given path (see below for details)
print $tree_view->expandPath("Root", "Child", "GrandChild");
<<lessSYNOPSIS
use Tree::Simple::View::HTML;
## a simple example
# use the defaults (an unordered list with no CSS)
my $tree_view = Tree::Simple::View::HTML->new($tree);
## more complex examples
# use the CSS properties
my $tree_view = Tree::Simple::View::HTML->new($tree => (
list_type => "ordered",
list_css => "list-style: circle;",
list_item_css => "font-family: courier;",
expanded_item_css => "font-family: courier; font-weight: bold",
));
# use the CSS classes
my $tree_view = Tree::Simple::View::HTML->new($tree => (
list_css_class => "myListClass",
list_item_css_class => "myListItemClass",
expanded_item_css_class => "myExpandedListItemClass",
));
# mix the CSS properties and CSS classes
my $tree_view = Tree::Simple::View::HTML->new($tree => (
list_css => "list-style: circle;",
list_item_css => "font-family: courier;",
expanded_item_css_class => "myExpandedListItemClass",
node_formatter => sub {
my ($tree) = @_;
return "" . $tree->getNodeValue()->description() . "";
}
));
# print out the tree fully expanded
print $tree_view->expandAll();
# print out the tree expanded along a given path (see below for details)
print $tree_view->expandPath("Root", "Child", "GrandChild");
Download (0.022MB)
Added: 2007-08-21 License: Perl Artistic License Price:
795 downloads
Tree::Simple::View::DHTML 0.16
Tree::Simple::View::DHTML is a Perl class for viewing Tree::Simple hierarchies in DHTML. more>>
Tree::Simple::View::DHTML is a Perl class for viewing Tree::Simple hierarchies in DHTML.
SYNOPSIS
use Tree::Simple::View::DHTML;
## a simple example
# use the defaults (an unordered list with no CSS)
my $tree_view = Tree::Simple::View::DHTML->new($tree);
## more complex examples
# using the CSS properties
my $tree_view = Tree::Simple::View::DHTML->new($tree => (
list_type => "ordered",
list_css => "list-style: circle;",
list_item_css => "font-family: courier;",
expanded_item_css => "font-family: courier; font-weight: bold",
link_css => "text-decoration: none;"
));
# using the CSS classes
my $tree_view = Tree::Simple::View::DHTML->new($tree => (
list_css_class => "myListClass",
list_item_css_class => "myListItemClass",
expanded_item_css_class => "myExpandedListItemClass",
link_css_class => "myListItemLinkClass"
));
# mixing the CSS properties and CSS classes
my $tree_view = Tree::Simple::View::DHTML->new($tree => (
list_css => "list-style: circle;",
list_item_css => "font-family: courier;",
expanded_item_css_class => "myExpandedListItemClass",
link_css_class => "myListItemLinkClass"
# format complex nodes with a function
node_formatter => sub {
my ($tree) = @_;
return "" . $tree->getNodeValue()->description() . "";
},
# add a radio button element to the tree
# with the name of tree_id
radio_button => tree_id
));
# print out the javascript nessecary for the DHTML
# functionality of this tree
print $tree_view->javascript();
# print out the tree fully expanded
print $tree_view->expandAll();
# print out the tree expanded along a given path (see below for details)
print $tree_view->expandPath("Root", "Child", "GrandChild");
<<lessSYNOPSIS
use Tree::Simple::View::DHTML;
## a simple example
# use the defaults (an unordered list with no CSS)
my $tree_view = Tree::Simple::View::DHTML->new($tree);
## more complex examples
# using the CSS properties
my $tree_view = Tree::Simple::View::DHTML->new($tree => (
list_type => "ordered",
list_css => "list-style: circle;",
list_item_css => "font-family: courier;",
expanded_item_css => "font-family: courier; font-weight: bold",
link_css => "text-decoration: none;"
));
# using the CSS classes
my $tree_view = Tree::Simple::View::DHTML->new($tree => (
list_css_class => "myListClass",
list_item_css_class => "myListItemClass",
expanded_item_css_class => "myExpandedListItemClass",
link_css_class => "myListItemLinkClass"
));
# mixing the CSS properties and CSS classes
my $tree_view = Tree::Simple::View::DHTML->new($tree => (
list_css => "list-style: circle;",
list_item_css => "font-family: courier;",
expanded_item_css_class => "myExpandedListItemClass",
link_css_class => "myListItemLinkClass"
# format complex nodes with a function
node_formatter => sub {
my ($tree) = @_;
return "" . $tree->getNodeValue()->description() . "";
},
# add a radio button element to the tree
# with the name of tree_id
radio_button => tree_id
));
# print out the javascript nessecary for the DHTML
# functionality of this tree
print $tree_view->javascript();
# print out the tree fully expanded
print $tree_view->expandAll();
# print out the tree expanded along a given path (see below for details)
print $tree_view->expandPath("Root", "Child", "GrandChild");
Download (0.022MB)
Added: 2007-08-21 License: Perl Artistic License Price:
794 downloads
Bio::Tree::Compatible 1.5.2_102
Bio::Tree::Compatible is a Perl module for testing compatibility of phylogenetic trees with nested taxa. more>>
Bio::Tree::Compatible is a Perl module for testing compatibility of phylogenetic trees with nested taxa.
SYNOPSIS
use Bio::Tree::Compatible;
use Bio::TreeIO;
my $input = new Bio::TreeIO(-format => newick,
-file => input.tre);
my $t1 = $input->next_tree;
my $t2 = $input->next_tree;
my ($incompat, $ilabels, $inodes) = $t1->is_compatible($t2);
if ($incompat) {
my %cluster1 = %{ $t1->cluster_representation };
my %cluster2 = %{ $t2->cluster_representation };
print "incompatible treesn";
if (scalar(@$ilabels)) {
foreach my $label (@$ilabels) {
my $node1 = $t1->find_node(-id => $label);
my $node2 = $t2->find_node(-id => $label);
my @c1 = sort @{ $cluster1{$node1} };
my @c2 = sort @{ $cluster2{$node2} };
print "label $label";
print " cluster"; map { print " ",$_ } @c1;
print " cluster"; map { print " ",$_ } @c2; print "n";
}
}
if (scalar(@$inodes)) {
while (@$inodes) {
my $node1 = shift @$inodes;
my $node2 = shift @$inodes;
my @c1 = sort @{ $cluster1{$node1} };
my @c2 = sort @{ $cluster2{$node2} };
print "cluster"; map { print " ",$_ } @c1;
print " properly intersects cluster";
map { print " ",$_ } @c2; print "n";
}
}
} else {
print "compatible treesn";
}
Bio::Tree::Compatible is a Perl tool for testing compatibility of phylogenetic trees with nested taxa represented as Bio::Tree::Tree objects. It is based on a recent characterization of ancestral compatibility of semi-labeled trees in terms of their cluster representations.
A semi-labeled tree is a phylogenetic tree with some of its internal nodes labeled, and it can represent a classification tree as well as a phylogenetic tree with nested taxa, with labeled internal nodes corresponding to taxa at a higher level of aggregation or nesting than that of their descendents.
Two semi-labeled trees are compatible if their topological restrictions to the common labels are such that for each node label, the smallest clusters containing it in each of the trees coincide and, furthermore, no cluster in one of the trees properly intersects a cluster of the other tree.
Future extensions of Bio::Tree::Compatible include a Bio::Tree::Supertree module for combining compatible phylogenetic trees with nested taxa into a common supertree.
<<lessSYNOPSIS
use Bio::Tree::Compatible;
use Bio::TreeIO;
my $input = new Bio::TreeIO(-format => newick,
-file => input.tre);
my $t1 = $input->next_tree;
my $t2 = $input->next_tree;
my ($incompat, $ilabels, $inodes) = $t1->is_compatible($t2);
if ($incompat) {
my %cluster1 = %{ $t1->cluster_representation };
my %cluster2 = %{ $t2->cluster_representation };
print "incompatible treesn";
if (scalar(@$ilabels)) {
foreach my $label (@$ilabels) {
my $node1 = $t1->find_node(-id => $label);
my $node2 = $t2->find_node(-id => $label);
my @c1 = sort @{ $cluster1{$node1} };
my @c2 = sort @{ $cluster2{$node2} };
print "label $label";
print " cluster"; map { print " ",$_ } @c1;
print " cluster"; map { print " ",$_ } @c2; print "n";
}
}
if (scalar(@$inodes)) {
while (@$inodes) {
my $node1 = shift @$inodes;
my $node2 = shift @$inodes;
my @c1 = sort @{ $cluster1{$node1} };
my @c2 = sort @{ $cluster2{$node2} };
print "cluster"; map { print " ",$_ } @c1;
print " properly intersects cluster";
map { print " ",$_ } @c2; print "n";
}
}
} else {
print "compatible treesn";
}
Bio::Tree::Compatible is a Perl tool for testing compatibility of phylogenetic trees with nested taxa represented as Bio::Tree::Tree objects. It is based on a recent characterization of ancestral compatibility of semi-labeled trees in terms of their cluster representations.
A semi-labeled tree is a phylogenetic tree with some of its internal nodes labeled, and it can represent a classification tree as well as a phylogenetic tree with nested taxa, with labeled internal nodes corresponding to taxa at a higher level of aggregation or nesting than that of their descendents.
Two semi-labeled trees are compatible if their topological restrictions to the common labels are such that for each node label, the smallest clusters containing it in each of the trees coincide and, furthermore, no cluster in one of the trees properly intersects a cluster of the other tree.
Future extensions of Bio::Tree::Compatible include a Bio::Tree::Supertree module for combining compatible phylogenetic trees with nested taxa into a common supertree.
Download (5.6MB)
Added: 2007-06-28 License: Perl Artistic License Price:
848 downloads
Tree::XPathEngine 0.05
Tree::XPathEngine is a re-usable XPath engine. more>>
Tree::XPathEngine is a re-usable XPath engine.
This module provides an XPath engine, that can be re-used by other module/classes that implement trees.
It is designed to be compatible with Class::XPath, ie it passes its tests if you replace Class::XPath by Tree::XPathEngine.
This code is a more or less direct copy of the XML::XPath module by Matt Sergeant. I only removed the XML processing part (that parses an XML document and load it as a tree in memory) to remove the dependency on XML::Parser, applied a couple of patches, removed a whole bunch of XML specific things (comment, processing inistructions, namespaces...), renamed a whole lot of methods to make Pod::Coverage happy, and changed the docs.
The article eXtending XML XPath, http://www.xmltwig.com/article/extending_xml_xpath/ should give authors who want to use this module enough background to do so.
WARNING: while the underlying code is rather solid, this module most likely lacks docs.
As they say, "patches welcome"... but I am also interested in any experience using this module, what were the tricky parts, and how could the code or the docs be improved.
<<lessThis module provides an XPath engine, that can be re-used by other module/classes that implement trees.
It is designed to be compatible with Class::XPath, ie it passes its tests if you replace Class::XPath by Tree::XPathEngine.
This code is a more or less direct copy of the XML::XPath module by Matt Sergeant. I only removed the XML processing part (that parses an XML document and load it as a tree in memory) to remove the dependency on XML::Parser, applied a couple of patches, removed a whole bunch of XML specific things (comment, processing inistructions, namespaces...), renamed a whole lot of methods to make Pod::Coverage happy, and changed the docs.
The article eXtending XML XPath, http://www.xmltwig.com/article/extending_xml_xpath/ should give authors who want to use this module enough background to do so.
WARNING: while the underlying code is rather solid, this module most likely lacks docs.
As they say, "patches welcome"... but I am also interested in any experience using this module, what were the tricky parts, and how could the code or the docs be improved.
Download (0.026MB)
Added: 2006-09-15 License: Perl Artistic License Price:
1134 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above suffix tree implementation search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed