source: branches/stable/GDE/MUSCLE/src/hydro.cpp

Last change on this file was 10390, checked in by aboeckma, 11 years ago

added muscle sourcles amd makefile

File size: 919 bytes
Line 
1#include "muscle.h"
2#include "profile.h"
3
4extern void TomHydro(ProfPos *Prof, unsigned Length);
5
6// Apply hydrophobicity heuristic to a profile
7void Hydro(ProfPos *Prof, unsigned uLength)
8        {
9        if (ALPHA_Amino != g_Alpha)
10                return;
11
12        if (g_bTomHydro)
13                {
14                TomHydro(Prof, uLength);
15                return;
16                }
17
18        if (0 == g_uHydrophobicRunLength)
19                return;
20
21        if (uLength <= g_uHydrophobicRunLength)
22                return;
23
24        unsigned uRunLength = 0;
25        unsigned L2 = g_uHydrophobicRunLength/2;
26        for (unsigned uColIndex = L2; uColIndex < uLength - L2; ++uColIndex)
27                {
28                ProfPos &PP = Prof[uColIndex];
29                bool bHydro = IsHydrophobic(PP.m_fcCounts);
30                if (bHydro)
31                        {
32                        ++uRunLength;
33                        if (uRunLength >= g_uHydrophobicRunLength)
34                                {
35                                Prof[uColIndex-L2].m_scoreGapOpen *= (SCORE) g_dHydroFactor;
36                                Prof[uColIndex-L2].m_scoreGapClose *= (SCORE) g_dHydroFactor;
37                                }
38                        }
39                else
40                        uRunLength = 0;
41                }
42        }
Note: See TracBrowser for help on using the repository browser.