Skip to content

Commit 3ad597b

Browse files
sblivenandreasprlic
authored andcommitted
/* Improve structural alignment datastructures to support topology-independent alignments */
1 parent 2ea48ee commit 3ad597b

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

_wikis/Google_Summer_of_Code_2013.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,36 @@ integrate them as a whole or cannibalize them and extract something
4747
useful on its own. You are more than welcome to optimize and improve the
4848
code while porting it to BioJava as you see fit.
4949

50+
#### Improve structural alignment datastructures to support topology-independent alignments
51+
52+
BioJava contains a number of algorithms for aligning protein structures.
53+
In the most general case, an alignment consists of a mapping between
54+
residues of two (or more) proteins. However, for historical and
55+
performance reasons alignments are stored as linear, sorted arrays. This
56+
makes it difficult to express cases where the order of aligned residues
57+
differs between the two proteins. For instance, storing the following
58+
alignment requires some creative work-arounds:
59+
60+
` 123456`
61+
` 456123`
62+
63+
Additionally, the class to store structural alignments (AFPChain)
64+
contains a number of unneccessary, poorly documented, or
65+
algorithm-specific parameters which should be removed or refactored.
66+
67+
Your challenge is to propose and implement a data structure for storing
68+
structure alignments which
69+
70+
- Is flexible enough to store topology-independent alignments
71+
- Efficiently utilizes memory
72+
- Has good performance for common tasks
73+
74+
This project requires an understanding of basic data structures and
75+
performance considerations. A successful proposal should consider not
76+
only the new data structure, but also suggest a plan for integrating it
77+
into existing methods, particularly in the biojava3-structure and
78+
biojava3-structure-gui modules.
79+
5080
Previous Years
5181
--------------
5282

_wikis/Google_Summer_of_Code_2013.mediawiki

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,22 @@ Please send your proposals to the BioJava dev mailing list early, so we can disc
2323

2424
P.S. Actually you are not limited to the old versions of BioJava, there are plenty of small little known Java projects in the Bioinformatics field which can be of interest to a wider user community. You can integrate them as a whole or cannibalize them and extract something useful on its own. You are more than welcome to optimize and improve the code while porting it to BioJava as you see fit.
2525

26+
==== Improve structural alignment datastructures to support topology-independent alignments ====
27+
28+
BioJava contains a number of algorithms for aligning protein structures. In the most general case, an alignment consists of a mapping between residues of two (or more) proteins. However, for historical and performance reasons alignments are stored as linear, sorted arrays. This makes it difficult to express cases where the order of aligned residues differs between the two proteins. For instance, storing the following alignment requires some creative work-arounds:
29+
30+
123456
31+
456123
32+
33+
Additionally, the class to store structural alignments (AFPChain) contains a number of unneccessary, poorly documented, or algorithm-specific parameters which should be removed or refactored.
34+
35+
Your challenge is to propose and implement a data structure for storing structure alignments which
36+
* Is flexible enough to store topology-independent alignments
37+
* Efficiently utilizes memory
38+
* Has good performance for common tasks
39+
40+
This project requires an understanding of basic data structures and performance considerations. A successful proposal should consider not only the new data structure, but also suggest a plan for integrating it into existing methods, particularly in the biojava3-structure and biojava3-structure-gui modules.
41+
2642
== Previous Years ==
2743

2844
[[Google Summer of Code 2012]]

0 commit comments

Comments
 (0)