Differences between revisions 8 and 9
Revision 8 as of 2008-04-26 10:33:49
Size: 8520
Editor: csik
Comment: add link to project page
Revision 9 as of 2009-02-12 01:03:26
Size: 8546
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 29: Line 29:
see: UndirectedEdges and [http://groups.google.com/group/cytoscape-discuss/browse_frm/thread/b76566844557012/f917a183ecb3b57c?lnk=gst&q=Daniel+Abel#f917a183ecb3b57c thread on cytoscape-discuss] see: UndirectedEdges and [[http://groups.google.com/group/cytoscape-discuss/browse_frm/thread/b76566844557012/f917a183ecb3b57c?lnk=gst&q=Daniel+Abel#f917a183ecb3b57c|thread on cytoscape-discuss]]
Line 43: Line 43:
LocalAttributes and [:Network_specific_node_and_edge_attributes:]) LocalAttributes and [[Network_specific_node_and_edge_attributes]])
Line 50: Line 50:
used work-arounds. (for details, see [http://groups.google.com/group/cytoscape-discuss/browse_frm/thread/a780ee4b9422ca58/3283e4e50128bc11?lnk=gst&q=Daniel+Abel#3283e4e50128bc11 post on cytoscape-discuss]) used work-arounds. (for details, see [[http://groups.google.com/group/cytoscape-discuss/browse_frm/thread/a780ee4b9422ca58/3283e4e50128bc11?lnk=gst&q=Daniel+Abel#3283e4e50128bc11|post on cytoscape-discuss]])
Line 58: Line 58:
[http://groups.google.com/group/cytoscape-discuss/browse_frm/thread/badfc47a12feb4bb/273a4c519ef1b8f7?lnk=gst&q=Daniel+Abel#273a4c519ef1b8f7 thread on cytoscape-discuss where I submitted a previous patch for cytoscape 2.4 implementing local attributes] [[http://groups.google.com/group/cytoscape-discuss/browse_frm/thread/badfc47a12feb4bb/273a4c519ef1b8f7?lnk=gst&q=Daniel+Abel#273a4c519ef1b8f7|thread on cytoscape-discuss where I submitted a previous patch for cytoscape 2.4 implementing local attributes]]
Line 61: Line 61:
 * implement backend part (about one week) ([http://groups.google.com/group/cytoscape-discuss/browse_thread/thread/badfc47a12feb4bb details])  * implement backend part (about one week) ([[http://groups.google.com/group/cytoscape-discuss/browse_thread/thread/badfc47a12feb4bb|details]])
Line 68: Line 68:
As noted in [http://conklinwolf.ucsf.edu/genmappwiki/Google_Summer_of_Code_2008#head-a55054d7ad9a081c3b1fb1194df42a080092d7a6 Idea 6 on the list of GSoC project ideas], currently cytoscape only allows a limited set of edge types. I plan to make this part more costumizable by allowing custom Stroke instances to be used. As noted in [[http://conklinwolf.ucsf.edu/genmappwiki/Google_Summer_of_Code_2008#head-a55054d7ad9a081c3b1fb1194df42a080092d7a6|Idea 6 on the list of GSoC project ideas]], currently cytoscape only allows a limited set of edge types. I plan to make this part more costumizable by allowing custom Stroke instances to be used.
Line 90: Line 90:
From Jun. 23th to Jun. 27th I will be attending the [http://www.ifr.ac.uk/netsci08/ NetSci 2008] conference. so I won't be able to work on cytoscape during this week. From Jun. 23th to Jun. 27th I will be attending the [[http://www.ifr.ac.uk/netsci08/|NetSci 2008]] conference. so I won't be able to work on cytoscape during this week.
Line 96: Line 96:
my [http://angel.elte.hu/~abeld/CV-and-publication-list/cv_en.pdf academic CV] and my
[http://angel.elte.hu/~abeld/CV-and-publication-list/publications.html publication list] are available.
my [[http://angel.elte.hu/~abeld/CV-and-publication-list/cv_en.pdf|academic CV]] and my
[[http://angel.elte.hu/~abeld/CV-and-publication-list/publications.html|publication list]] are available.
Line 110: Line 110:
[http://cytoscape.org/cgi-bin/moin.cgi/DanielAbel?action=fullsearch&context=180&value=DanielAbel&fullsearch=Text list of my contributions])
and reported >20 bugs (using the username 'Abel Daniel', see [http://cbio.mskcc.org/cytoscape/bugs/search.php?project_id=5&reporter_id=151&sticky_issues=off&sortby=last_updated&dir=DESC&hide_status_id=-2 list of bugs reported by me]) in the cytoscape bugtracker, and offered suggested fixes, patches to several of these.
[[http://cytoscape.org/cgi-bin/moin.cgi/DanielAbel?action=fullsearch&context=180&value=DanielAbel&fullsearch=Text|list of my contributions]])
and reported >20 bugs (using the username 'Abel Daniel', see [[http://cbio.mskcc.org/cytoscape/bugs/search.php?project_id=5&reporter_id=151&sticky_issues=off&sortby=last_updated&dir=DESC&hide_status_id=-2|list of bugs reported by me]]) in the cytoscape bugtracker, and offered suggested fixes, patches to several of these.
Line 117: Line 117:
contributing bug-reports to various projects, from debian ([http://bugs.debian.org/cgi-bin/pkgreport.cgi?which=submitter&data=abli%40freemail.hu&archive=yes&version=&dist=unstable list of bugs])
to gtk/pygtk ([http://bugzilla.gnome.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=substring&long_desc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailreporter1=1&emailtype1=substring&email1=abli%40freemail.hu&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= list of bugs])
contributing bug-reports to various projects, from debian ([[http://bugs.debian.org/cgi-bin/pkgreport.cgi?which=submitter&data=abli%40freemail.hu&archive=yes&version=&dist=unstable|list of bugs]])
to gtk/pygtk ([[http://bugzilla.gnome.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=substring&long_desc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailreporter1=1&emailtype1=substring&email1=abli%40freemail.hu&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=|list of bugs]])
Line 120: Line 120:
and being an active participant on mailling lists, for example on python tutor ([http://search.gmane.org/?query=abli%40freemail.hu&group=gmane.comp.python.tutor list of threads]) and elsewhere. and being an active participant on mailling lists, for example on python tutor ([[http://search.gmane.org/?query=abli%40freemail.hu&group=gmane.comp.python.tutor|list of threads]]) and elsewhere.

this is the original text of the project proposal. As I have been accepted, I will use DanielAbel/GsocProject to kepp up-to-date information about my project

Daniel Abel's Google Summer of Code 2008 project proposal (draft)

As my google summer of code project, I propose to merge two features that have been on the cytoscape whishlist for a long time, and for which I already have working implementations in a fork of an older version of cytoscape. These were not yet merged into core cytoscape because some aspects involve changes to large parts of the codebase. In addition, they also involve some (but pretty small) API changes, so seem more appropriate for the upcomming cytoscape 3.0 than for previous point-releases.

1) implement edge directionality.

Currently cytoscape handles all edges as directed. Even though the libraries cytoscape uses (giny, etc.) can handle undirected edges, this fact is hidden by the gui. Due to this limitation, users can only handle directed edges.

I propose to implement undirected edges as 'first-class citizens' i.e. on equal footing with directed edges. I have a working implementation of this for cytoscape 2.4, so the work I am proposing to do as part of my google summer of code project is not to implement this feature, but to port an already working implementation to the current development version of cytoscape,version 3.0, and to merge it into the core cytoscape codebase.

see: UndirectedEdges and thread on cytoscape-discuss

Because core cytoscape libraries already handle undirected edges, and because I already have a working implementation, this part of my proposed summer project should be reasonably simple, taking 2 weeks at most.

Implementation plan:

  • fix backend part (i.e. API and XGMML import / export) (about one week)
  • gui fixes (for example vizmapper so that it will treat both ends of an undirected edge the same, and TableImport so that edge directionality can be specified when importing) (about one week)

2) Implement local attributes

This is a long-standing cytoscape whishlist item. (see LocalAttributes and Network_specific_node_and_edge_attributes)

Apparently the current plan by cytoscape core developers is to implement local attributes using the planned 'attribute namespaces' feature (see AttributeNamespaces) however, the 'attribute namespaces' and 'local attributes' features are semantically different and trying to implement local attributes with attribute namespaces would not be a real improvement over currently used work-arounds. (for details, see post on cytoscape-discuss)

I have a working implementation for local attributes (not using 'attribute namespaces') that I maintain as forked version of cytoscape 2.4. As the second part of my google summer of code project, I plan to merge this to cytoscape 3.0.

see also: thread on cytoscape-discuss where I submitted a previous patch for cytoscape 2.4 implementing local attributes

Implementation plan:

  • implement backend part (about one week) (details)

  • update all core code and coreplugins that use attributes due to the semantic change that local attributes mean. (about two weeks)

Flexible line types

If all goes according to plan, after implementing the above two features I will still have some time left. This will allow me to work on another feature.

As noted in Idea 6 on the list of GSoC project ideas, currently cytoscape only allows a limited set of edge types. I plan to make this part more costumizable by allowing custom Stroke instances to be used.

The aim is to replace the currently hard-coded linetypes with a more flexible approach that is easier to extend and customize.

Implementation plan:

  • review current framework used for rendering, create benchmarks so that rendering speed can be measured (one week)
  • make necessary changes in rendering code / API to allow more flexible line types (one week)
  • handle saving / exporting such custom lines (in XGMML, for example) (one week)
  • vizmapper integration: use custom lines in preview dialog (one week)

Deliverables:

For all features described above, I would create patches (with unittests, where appropriate) for cytoscape 3.0, so that these features can be seamlessly integrated into core cytoscape part of the upcomming 3.0 release.

Timeline

  • first week (starting on May 26th): setting up svn account and svn branches, eclipse, build enviroment
  • second and third week: undirected edges (as noted above in implementation plan)
  • fourth to sixth week: local attributes (as noted above in implementation plan)
  • sixth to tenth week: flexible line types (as noted above in implementation plan)

From Jun. 23th to Jun. 27th I will be attending the NetSci 2008 conference. so I won't be able to work on cytoscape during this week.

About myself:

I am currently a graduate student in Tamas Vicsek's group, working on complex networks. My homepage is at http://angel.elte.hu/~abeld/ where my academic CV and my publication list are available.

As part of my research-related work, I have adapted cytoscape for our uses. This included creating some plugins, but also fixing some bugs and adding some features to core cytoscape code. Because some of these additions involved changes to large parts of cytoscape, with the possibilities of introducing further bugs (especially for use-cases which are different from ours), most of these changes were not yet merged upstream, into the public cytoscape. During my summer of code project, I would like to clean-up these features, and integrate them into the public cytoscape codebase.

I have contributed to the cytoscape wiki (using the username DanielAbel, see list of my contributions) and reported >20 bugs (using the username 'Abel Daniel', see list of bugs reported by me) in the cytoscape bugtracker, and offered suggested fixes, patches to several of these.

Using the abli@freemail.hu email, I have been an active participant on cytoscape-discuss.

On a more general note, I have been an active contributor to open-source projects:

contributing bug-reports to various projects, from debian (list of bugs) to gtk/pygtk (list of bugs)

and being an active participant on mailling lists, for example on python tutor (list of threads) and elsewhere.

I have experience programming in java, python, c/c++ and using version-control systems like subversion.

DanielAbel/GoogleSummerofCode2008 (last edited 2009-02-12 01:03:26 by localhost)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux