Due to small probabilities for long protein sequences numerical
underflow errors are occuring. Double checking the scaling
implementation and looking at implementing log transformations for the
inference and training algorithms.

- _gmm_update() lines 1778-1789 to be outside the scope the if-else
		conditional.
	- Line 1789 was changed to curr_prot_w_inc (weight increment) from
		curr_prot_m_inc (mean increment).

Checking underflow error. In algo_HMM --> _aposteriori() the ap
numpy.array has NaN values due to the small values of Scale. These
values are replaced by DEF.smallpositive. 


--> Be sure to check input/output file names incase of file_io errors.
--> Fixed sys.exit call in forward_mat function call due to scale list
	having zero value entries. 

(1) Test different input representations
	--> msa profile (created)
	--> hydrophobic moment profile (created)
	--> msa + hyydrophobic moment profiles (created)
	--> pca of msa profile (need to create)
	--> single seq + msa profile (created)

(2) PSICOV --> contact map estimation
	--> look for significant local correlation as most people only search
		for non-local correlation for beta-strands
	--> data stored on server at /gluster/data/tmb_maps.tgz
	
(3) Non-negative matrix factorisation or Principle Component Analysis
	for input encoding dimension reduction

(4) Different grammars, mixtures, and window sizes
	--> tied at mixture level not state level
	--> different mixture numbers (1,3,and 4)
	--> window sizes (7,15,19,21,31)