source: branches/port5/ALIV3/a3_ali.hxx

Last change on this file was 3482, checked in by westram, 20 years ago
  • tabs → spaces
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.4 KB
Line 
1// -----------------------------------------------------------------------------
2
3#ifndef _A3_ALI_HXX
4#define _A3_ALI_HXX
5
6// -----------------------------------------------------------------------------
7//  Include-Dateien
8// -----------------------------------------------------------------------------
9
10#include "a3_ptree.hxx"
11#include "a3_helix.hxx"
12
13// -----------------------------------------------------------------------------
14//  Datentypen
15// -----------------------------------------------------------------------------
16
17struct PSolution    // Loesung des Prealigners
18{
19    int      score; // Bewertung der Loesung
20    DArray   match; // Array of HMatch*, sortiert nach first
21
22             PSolution  ( void ) : match () { score = 0;
23                                              match.Free(DARRAY_FREE);
24                                              match.Null(DARRAY_NONULL); };
25    void     Dump       ( void );
26};
27
28class Aligner       // Sekundaerstrukturalignment einer Sequenz
29{
30    private:
31   
32    Postree     postree;        // Positionsbaum der Sequenz
33    DArray      prealigned;     // Array of PSolution*, sortiert nach score
34    A3Helix     helix;          // Helixstruktur und haeufigste Familiensequenz
35
36                Aligner ( Aligner   &other );   // Kopien verbieten
37   
38    public:
39
40                Aligner ( void );
41
42                Aligner ( str        seq,   // Zu alignde Sequenz
43                          str        hel,   // Sekundaerstruktur
44                          str        kon,   // Haeufigste Familiensequenz
45                          DArray    &pre ); // Array of PSolution, sortiert nach score
46
47    void        Set     ( str        seq,   // Zu alignde Sequenz
48                          str        hel,   // Sekundaerstruktur
49                          str        kon,   // Haeufigste Familiensequenz
50                          DArray    &pre ); // Array of PSolution, sortiert nach score
51
52    DArray     &Align   ( void );
53
54    void        Dump    ( void );
55};
56
57// -----------------------------------------------------------------------------
58//  Funktionen
59// -----------------------------------------------------------------------------
60
61extern  int     psolcmp     ( const void *a,
62                              const void *b );
63
64extern  void    psoldump    ( vp    val );
65
66// -----------------------------------------------------------------------------
67
68#endif
69
70// -----------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.