[pygr-notify] [pygr commit] r22 - wiki
codesite-noreply at google.com
codesite-noreply at google.com
Fri May 30 17:50:32 PDT 2008
Author: cjlee112
Date: Fri May 30 17:50:28 2008
New Revision: 22
Added:
wiki/DevelopmentRoadmap.wiki
Log:
Created wiki page through web user interface.
Added: wiki/DevelopmentRoadmap.wiki
==============================================================================
--- (empty file)
+++ wiki/DevelopmentRoadmap.wiki Fri May 30 17:50:28 2008
@@ -0,0 +1,58 @@
+#summary Outline of plans for Pygr's future development.
+
+= Background =
+First, to put this all in context, let's review the new features added
in the v0.7 release
+ * pygr.Data
+ * XMLRPC services (NLMSA, BlastDB)
+ * in-memory NLMSA
+ * many enhancements to NLMSA
+ * switched all alignment cases to use NLMSA interface
+ * many new features in other areas
+ * many bug fixes
+
+In short, an enormous number of different areas of new features were
roped together under the "0.7" label. This had a logical basis, namely
that pygr.Data drove a wide-ranging unification of many different
things so that they would all work seamlessly with pygr.Data.
+
+Going forward, I think it would be better for each "point release" to
have a better defined (and smaller) scope of new capabilities. This
will make our development process a bit more disciplined and
understandable to others, facilitate our testing, and make things go
faster, I hope. In this spirit, here are some ideas for the next point releases.
+
+= Planned Release Milestones =
+
+== v0.8: Enhancement & Clean-up Release ==
+V0.7 was very much a "developer release" in that it was a constant
stream of new features. I propose that v0.8 be more a "production
release" that is less about new features and more about ensuring that
the most used features -- alignment and annotation data -- work really
smoothly and easily for a typical Python programmer. I propose that
this release would concentrate on the annotation and testing projects
that we already have. The goal for this release is to define several
areas where developers other than myself can easily contribute to Pygr:
+ * add new sources of annotation data (e.g. Ensembl)
+ * add new sources of alignment data (e.g. programs like CLUSTAL etc.)
+ * add new resources to pygr.Data
+ * add web interfaces for searching / browsing contents of a
pygr.Data server
+
+
+New features:
+ * pygr.Data auto-download capabilities (download=True mode)
+ * simple browsing / searching HTTP interface for pygr.Data server
+ * simple management functions over SSL XMLRPC
+ * XMLRPC annotation services
+ * classes supporting Ensembl annotation (in support of Jenny & Rob's project)
+ * additional UCSC alignment format(s), e.g. supporting hg18/hg17 mapping
+
+API Clean-up:
+ * define an "alignment parser API" that makes it simple to add a
parser for an arbitrary alignment format, and have the results
automatically loaded into an NLMSA.
+ * ensure that dict-like interfaces in Pygr properly support all the
standard Mapping Protocol methods
+ * greatly expanded test suites courtesy of Rachel, Alex and Titus
+ * other clean-up and bug fixes
+
+== v0.9: NLMSA Joins ==
+In a
[http://groups.google.com/group/pygr-dev/browse_thread/thread/0d4d02149022e5a6?hl=en
number of discussions], we have already gone into some detail about new
possible features for NLMSA. The main idea is to define general
purpose JOIN operations that execute in a high-speed, scalable way,
obviating the need for researchers to write their own Python code (slow
and possibly buggy) every time they need to find some intersection
between two or more datasets. The result of an NLMSA join will of
course just be another NLMSA. The goal is to make alignment and
annotation query a killer app in terms of speed, query capabilities and
ease of use.
+
+New features:
+ * ID standardization: adopting a convention for keeping IDs for
sequence sets consistent across different NLMSAs will greatly speed up
JOIN operations
+ * JOIN operations implemented in C
+ * more "Allen Logic" interval query operators for convenient query
+ * Python interfaces for join operations, possibly as a graph query
+
+== v1.0: pygr.Data Extensions ==
+pygr.Data is a powerful concept for sharing data, but needs additional
tools and
+refinement. Currently, it is not easy to manage pygr.Data resource
databases, e.g. to copy resource or schema entries from one database to
another, group them, delete them etc.
+
+New features:
+ * pygr.Data makerules: initially this could be implemented as simple
construction rules a la SCons for building some type of resource from
some types of dependencies.
+ * pygr.Data security via Signed Pickles: Python pickles create
potential security vulnerabilities. One simple and general solution is
to create digitally signed pickles using OpenPGP that can be verified
with the author's public key. This would then integrate with standard
tools (e.g. GnuPG) for listing sets of people whose content you trust.
+ * Pygr.Data management tools for viewing, copying, organizing,
deleting resource and schema entries between pygr.Data resource
databases. These should work transparently with local resource
databases, MySQL resource databases, and remote XMLRPC resource
databases (all using authentication).
+ * DNS-like framework for servers to share name lookup info with each other
More information about the pygr-notify
mailing list