|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/api/alignval.h |
source navigation diff markup identifier search freetext search file search |
1 /* alignval.hA
2 * ===========================================================================
3 *
4 * PUBLIC DOMAIN NOTICE
5 * National Center for Biotechnology Information (NCBI)
6 *
7 * This software/database is a "United States Government Work" under the
8 * terms of the United States Copyright Act. It was written as part of
9 * the author's official duties as a United States Government employee and
10 * thus cannot be copyrighted. This software/database is freely available
11 * to the public for use. The National Library of Medicine and the U.S.
12 * Government do not place any restriction on its use or reproduction.
13 * We would, however, appreciate having the NCBI and the author cited in
14 * any work or product based on this material
15 *
16 * Although all reasonable efforts have been taken to ensure the accuracy
17 * and reliability of the software and data, the NLM and the U.S.
18 * Government do not and cannot warrant the performance or results that
19 * may be obtained by using this software or data. The NLM and the U.S.
20 * Government disclaim all warranties, express or implied, including
21 * warranties of performance, merchantability or fitness for any particular
22 * purpose.
23 *
24 * ===========================================================================
25 *
26 * File Name: alignval.h
27 *
28 * Author: Jian Ye, Colombe Chappey
29 *
30 * Version Creation Date: 6/3/99
31 *
32 * $Revision: 6.19 $
33 *
34 * File Description:
35 *
36 * Modifications:
37 * --------------------------------------------------------------------------
38 * $Log: alignval.h,v $
39 * Revision 6.19 2009/06/18 17:18:08 bollin
40 * Changed FASTA-like validator error to use minimum length of two sequences
41 * when comparing, allow N to match anything.
42 * Report unexpected alignment types.
43 * Corrected problem with missing ShortAln error.
44 * Corrected some errors in reporting positions of alignment problems.
45 *
46 * Revision 6.18 2007/07/05 17:50:49 bollin
47 * Added validation INFO when alignment stops before ends of sequences.
48 * Added red vertical bar to columns in alignment assistant when weighted
49 * percent identity for column is less than 50%.
50 *
51 * Revision 6.17 2007/02/28 21:07:13 bollin
52 * Added function for weighted percent identity for alignments
53 *
54 * Revision 6.16 2006/10/23 15:11:42 bollin
55 * Moved AlignmentPercentIdentity and supporting functions here from
56 * tools/salptool.c to avoid library dependency problems.
57 *
58 * Revision 6.15 2006/10/20 13:30:22 bollin
59 * Added Validator error for alignment percent identity.
60 *
61 * Revision 6.14 2003/11/14 18:06:42 kans
62 * added do_hist_assembly parameter
63 *
64 * Revision 6.13 1999/11/23 21:47:31 vakatov
65 * Fixed for C++ and/or DLL compilation
66 *
67 * ==========================================================================
68 */
69
70 #ifndef ALIGNVAL_H
71 #define ALIGNVAL_H
72
73 #include <ncbi.h>
74 #include <objall.h>
75 #include <objseq.h>
76 #include <objmgr.h>
77 #include <objfdef.h>
78
79
80 #undef NLM_EXTERN
81 #ifdef NLM_IMPORT
82 #define NLM_EXTERN NLM_IMPORT
83 #else
84 #define NLM_EXTERN extern
85 #endif
86
87
88 #ifdef __cplusplus
89 extern "C" {
90 #endif
91
92
93 /*call back function for REGISTER_ALIGNVALIDATION defined in sequin4.c.
94 Starting point for seqalignment validation if user clicked on SeqalignValidation
95 under menu Filer/Alignment. Either individual alignment or alignment block
96 should be highlighted for this validation to work*/
97
98 NLM_EXTERN Int2 LIBCALLBACK ValidateSeqAlignFromData (Pointer data);
99
100 /*validate each alignment sequentially. This function will subject the seqalign to all validation functions*/
101 NLM_EXTERN Boolean ValidateSeqAlign (SeqAlignPtr salp, Uint2 entityID, Boolean message,
102 Boolean msg_success, Boolean find_remote_bsp,
103 Boolean delete_bsp, Boolean delete_salp, BoolPtr dirty);
104
105 NLM_EXTERN Boolean ValidateSeqAlignInSeqEntry (SeqEntryPtr sep, Boolean message,
106 Boolean msg_success, Boolean find_remote_bsp,
107 Boolean delete_bsp, Boolean delete_salp,
108 Boolean do_hist_assembly);
109
110 extern Uint2 AlignmentPercentIdentity (SeqAlignPtr salp, Boolean internal_gaps);
111 extern Uint2 WeightedAlignmentPercentIdentity (SeqAlignPtr salp, Boolean internal_gaps);
112
113 extern double *
114 GetAlignmentColumnPercentIdentities
115 (SeqAlignPtr salp,
116 Int4 start,
117 Int4 stop,
118 Boolean internal_gaps,
119 Boolean internal_validation);
120
121
122 #define Err_SeqId 1
123 #define Err_Strand_Rev 2
124 #define Err_Denseg_Len_Start 3
125 #define Err_Start_Less_Than_Zero 4
126 #define Err_Start_More_Than_Biolen 5
127 #define Err_End_Less_Than_Zero 6
128 #define Err_End_More_Than_Biolen 7
129 #define Err_Len_Less_Than_Zero 8
130 #define Err_Len_More_Than_Biolen 9
131 #define Err_Sum_Len_Start 10
132 #define Err_SeqAlign_DimSeqId_Not_Match 11
133 #define Err_Segs_DimSeqId_Not_Match 12
134 #define Err_Fastalike 13
135 #define Err_Null_Segs 14
136 #define Err_Segment_Gap 15
137 #define Err_Segs_Dim_One 16
138 #define Err_SeqAlign_Dim_One 17
139 #define Err_Segtype 18
140 #define Err_Pcnt_ID 20
141 #define Err_Short_Aln 21
142 #define Err_Unexpected_Alignment_Type 22
143
144 #ifdef __cplusplus
145 }
146 #endif
147
148
149 #undef NLM_EXTERN
150 #ifdef NLM_EXPORT
151 #define NLM_EXTERN NLM_EXPORT
152 #else
153 #define NLM_EXTERN
154 #endif
155
156 #endif
157
158
159 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |