jsoup is a Java library for working with real-world HTML. It can parse HTML from a URL, file, or string. It can find and extract data, using DOM traversal or CSS selectors. The HTML elements, attributes, and text can be manipulated. It can clean user-submitted content against a safe white-list. jsoup is designed to deal with all varieties of HTML found in the wild, from pristine and validating to invalid tag-soup; jsoup will create a sensible parse tree.
phoneutria is a Web crawler that is multi-threaded, scalable, high performance, extensible, and polite. It can be used to crawl, index, load-test, or even download any Web or enterprise domain and is configurable through a XML configuration file. Phoneutria can be used for either checking the links of a Web site or for load-testing purposes (i.e. the level of politeness can be configured). It provides a plug-in mechanism for further extensions.
BorderFlow implements a general-purpose graph clustering algorithm. It maximizes the inner to outer flow ratio from the border of each cluster to the rest of the graph. The main advantage of the algorithm is that it does not need parametrization to compute results of high accuracy.
PathVisio is a bioinformatics tool that lets you do everything with biological pathway diagrams. PathVisio helps you organize biological information and lets you present or publish that information easily. You can create and draw pathways, export them to many image formats, annotate them with links to online biological databases such as Ensembl, Entrez or HMDB, and add comments and literature references from pubmed. PathVisio also lets you sort through high-throughput experimental data in pathway context. This is a much more pleasant way to present data than just a large table. You can import microarray, proteomics or metabolomics data. PathVisio has a plugin interface that lets users customize it to new analysis types, new visualization methods, and new pathway formats. PathVisio is compatible with WikiPathways.
Zynaptic Reaction is a flexible asynchronous programming framework for Java which may be used to implement complex event-driven applications. It is heavily influenced by the Twisted programming framework developed by TwistedMatrix Labs for the Python programming language. The focus of the Reaction library is on the concurrency and callback model and as such it is application neutral. It can be used to manage lots of concurrent I/O or to farm out compute intensive tasks to multicore processors. As well as being usable as a basic Java library, Reaction can also run as an independent OSGi service and integrate into any GUI framework you choose.
Ujorm is an easy-to-use ORM framework based on key-value objects. The framework was designed for rapid Java development with great performance and a small footprint. The key features are type safe queries, relation mapping by Java code, no entity states, and a memory overloading protection cache.
BRAP is a Java remoting protocol that uses native Java object serialization encapsulated in HTTP. It aims to be an alternative to Spring HttpInvoker and Spring Security, especially when you don't need or want the dependencies of Spring in your client, such as when building a rich client application where size might be an issue. The authentication mechanism lets you use your own domain objects as credentials. BRAP gives you "pass by reference" even though the object arguments are serialized and passed to the remote service: changes that happen on the remote side can be applied to the client side automatically. BRAP focuses on being easy to use, small in size, yet powerful and extensible.
terp is a modular template engine that integrates tightly into ANT and provides a portable C++ compiler task (aCC, g++, icc, msvc++, SUN CC, xlC) on many platforms and processor architectures, a collection iterator task, a full-featured expression language with host introspection, formatters, selectors, and transformers for expressions, and much more. It can be embedded into Ant, used as a stand-alone or embedded templating engine, or used as a batch or interactive expression evaluator. It is extremely flexible and can be extended with your own types, operators can be overloaded, and properties and methods can be added to types.