This project has 44 classes.
ECF: protein-folding.ecf
Various implementations of an optimal protein folding algorithm using the 2D HP model Includes both a single and multi-core implementation.
This project was a joint collaboration between Gerrit Leder and Finnian Reilly. Gerrit developed the implemented the 2D HP algorithm in Eiffel and Finnian optimized it's performance and created a multi-core parallel computation version.
The multi-core version showcases the Eiffel-Loop class EL_PROCEDURE_DISTRIBUTER.
See: Sourceforge repository PF_HP-mt
Application root
Further Information
Click on class link to see instructions.
Build specification
Further Information
Click on class link to see notes.
Command line interface to test sets
LIMITED_ARRAY_TEST_SET BOOLEAN_GRID_TEST_SET PROTEIN_FOLDING_TEST_SET
PF_HP Ver 1.0: brute force proteinfolding in the 2D HP Model Multi-core model (threads)
PF_HP Ver 1.0: brute force proteinfolding in the 2D HP Model
Further Information
Click on class link to see instructions.
PF_HP Ver 1.0: brute force proteinfolding in the 2D HP Model Single-core model (thread)
Boolean constants
Direction constants
Constants for class FOLD_SEQUENCE
Sets of points around current grid position
2D grid of boolean values
Default loss calculator
Generate direction constants code
Loss calculator
PROTEIN_FOLDING_COMMAND with the computations distributed over multiple cores
BOOL_STRING with added string conversion functions
Command line interface to commands conforming to PROTEIN_FOLDING_COMMAND
PF_HP Ver 1.0: brute force proteinfolding in the 2D HP Model
Prediction of protein-folding in the 2D HP Model version 1.0
Refactored utility methods from class PF_HP
Caculates minimum losses for a partial set of fold direction permutations. These limited permutations can be assigned to a thread for losses caculations.
Implementation of MULTI_CORE_PF_COMMAND with a grid conforming to GRID_2_X
Implementation of PROTEIN_FOLDING_COMMAND_2_0 with a grid conforming to GRID_2_X
Prediction of protein-folding in the 2D HP Model for grids conforming to GRID_2_X. Version 2.0
Two-dimensional BOOLEAN_GRID
Two-dimensional BOOLEAN_GRID
Two-dimensional BOOLEAN_GRID
Further Information
Click on class link to see notes.
Two-dimensional BOOLEAN_GRID using nested inspect for double direction loss calc
Two-dimensional BOOLEAN_GRID using nested inspect for double direction loss calc
Two-dimensional BOOLEAN_GRID
Further Information
Click on class link to see notes.
Two-dimensional BOOLEAN_GRID with base class GRID_2_* classes
Sequence of fold directions
List of folds with object comparison
Fold grid
An optimized form of fold direction sequences using a sequence of mini-sequences each packed into a 64 bit integer. Each mini-sequence contains 18 bit-shifted direction letters of 3 bits each. The highest 10 bits contain two 5-bit numbers representing the mini-sequence current item and current count.
Fold array that permutes a limited number of times up to upper_iteration_count This object represents a "chunk of work" that a worker thread will have to do. upper_iteration_count defines how many iterations the thread will perform. If it is set too low the routine {EL_WORK_DISTRIBUTER}.do_final might hang.
Prediction of protein-folding in 2D HP model
SmartEiffel compatible 2 dimensional array
Tests for class FOLD_SEQUENCE and BOOLEAN_GRID
Test set for LIMITED_FOLD_ARRAY
Protein folding test set
Test suite for SmartEiffel compatible array
Fold array that updates CRC checksum in calc_losses
Fold array that updates CRC checksum in calc_losses