NCBI C Toolkit Cross Reference

C/api/alignval.h


  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 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.