
#
# The Gsa Application Layers Model
#
#             ||   Application    |   Datastructure  |  Internal
# ===================================================================
#  Abstract   || *                | *                | - not used -
#  Alignment  ||                  |                  |
# ------------++------------------+------------------+---------------
#  Concrete   || *                | *                | *
#  Gsa        ||                  |                  |
# ------------++------------------+------------------+---------------
#  Universal  || - not used -     | Trie             | TrieNode TrieBranch 
#             ||                  | Hashtable2dim    | TrieLeaf
#             ||                  |                  |
# * see below
#
# The classes from the Universal Layer are in the types directory.
#
#

AbstractAlignmentApplication_Layer = \
	AlignmentGenerator \
	AlignmentManager \
	InputLoader \
	GsaException \
	AlignmentWorker \


ConcteteGsaApplication_Layer = \
	AlignmentWorker_Nothing \
	AlignmentGenerator_Simple \
	AlignmentWorker_Dijkstra \
		AlignDijkstraSegment \
		AlignDijkstraSegmentFaces \
		AlignGSASegment \
	AlignmentWorker_Segments \
	AlignmentWorker_Iterative \


AbstractAlignmentDatastructure_Layer = \
	Alignment \
	Family \
	Scores \
	Sequence \
	Weightmatrix \
	Path \
	Alphabet \
	Edge \
	Vertex \
	Column \
		ColumnOfAlignment \
		ColumnOfFamily \
	DMatrix \


ConcreteGsaDatastructure_Layer = \
	ScoresDCA \
	ScoresUniform \
	InputLoader_DCA \
	Weightmatrix_DCA \
	AlignmentManager_DCA \
	AlignmentGenerator_DCA \
	AlignmentGenerator_MSA \


InternalGsaDatastructure_Layer = \
	Face \
	Section \
	FamilySegment \
	AlignmentFull \
		AlignmentDCA \
		AlignmentSegment \
		AlignmentProjection \
	TrieGraycode \
		TrieGraycodeColumn \
		TrieGraycodeColumnFaces \
		Trie_GSA \
	EstimateEntry \
	Cutpositions \


#	FaceConfinedTrie \
#	SectionTrieBranch \


InternalGsaAlgorithm_Layer = \
	Parameters \
	Watch \
	Bounding \
		Bounding_Nothing \
		Bounding_ExistingAlignment \
		Bounding_GSA \
	EdgeQueue \
		EdgeQueue_GDUS \



CLASSES = \
	$(InternalGsaAlgorithm_Layer) \
	$(InternalGsaDatastructure_Layer) \
	$(ConcreteGsaDatastructure_Layer) \
	$(AbstractAlignmentDatastructure_Layer) \
	$(ConcteteGsaApplication_Layer) \
	$(AbstractAlignmentApplication_Layer) \


INTERFACES = \


LIB = ../libgsa.a
RUN =

include ../Make.general
include ../Make.$(HOST)





