|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/api/codon.h |
source navigation diff markup identifier search freetext search file search |
1 /* $Id: codon.h,v 6.1 1997/11/06 21:26:11 madden Exp $
2 * ===========================================================================
3 *
4 * PUBLIC DOMAIN NOTICE
5 * National Center for Biotechnology Information
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 have not placed any restriction on its use or reproduction.
13 *
14 * Although all reasonable efforts have been taken to ensure the accuracy
15 * and reliability of the software and data, the NLM and the U.S.
16 * Government do not and cannot warrant the performance or results that
17 * may be obtained by using this software or data. The NLM and the U.S.
18 * Government disclaim all warranties, express or implied, including
19 * warranties of performance, merchantability or fitness for any particular
20 * purpose.
21 *
22 * Please cite the author in any work or product based on this material.
23 *
24 * ===========================================================================
25 *
26 * File Name: $RCSfile: codon.h,v $
27 *
28 * Author: Jinghui Zhang
29 *
30 * Initial Version Creation Date: 03/24/97
31 *
32 * $Revision: 6.1 $
33 *
34 * File Description:
35 *
36 *
37 * $Log: codon.h,v $
38 * Revision 6.1 1997/11/06 21:26:11 madden
39 * Added print_label_to_buffer_all_ex with option to strip semicolons
40 *
41 * Revision 6.0 1997/08/25 18:05:21 madden
42 * Revision changed to 6.0
43 *
44 * Revision 5.6 1997/07/01 15:15:49 zjing
45 * fix the problem of label overflow
46 *
47 * Revision 5.5 1997/06/19 18:37:28 vakatov
48 * [WIN32,MSVC++] Adopted for the "NCBIOBJ.LIB" DLL'ization
49 *
50 * Revision 5.4 1997/03/24 21:00:07 shavirin
51 * Added protection for usage with C++ compiler. Added NCBI header
52 * and started logging
53 *
54 *
55 * ==========================================================================
56 */
57
58 #ifndef _CODON_
59 #define _CODON_
60
61 #include <ncbi.h>
62 #include <objfeat.h>
63 #include <seqport.h>
64 #include <seqmgr.h>
65 #include <jzmisc.h>
66 #include <gather.h>
67 #include <satutil.h>
68
69 typedef struct codonvector{
70 Uint2 exonCount; /*current count of exons*/
71 CharPtr buf[3];
72 Int4 dna_pos; /*position in dna sequence*/
73 SeqIdPtr sip; /*id for the DNA sequence for label*/
74 Uint1 strand; /*orientation of CDs*/
75 Uint1 frame; /*the frame of current exon*/
76 Int2 aa_index; /*0 for partial start , 1 for normal*/
77 }CodonVector, PNTR CodonVectorPtr;
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 #ifdef __cplusplus
88 extern "C" {
89 #endif
90
91 /******************************************************************
92 *
93 * aa_to_codon(sfp, aa_start, aa_stop)
94 * generate a list of CodonVecotr to show the codons of an
95 * amino acid sequence
96 * sfp: the Seq-feat for cds
97 * aa_start: the start position of protein sequence
98 * aa_stop the stop position of protein sequence
99 *
100 ******************************************************************/
101 NLM_EXTERN ValNodePtr aa_to_codon PROTO((SeqFeatPtr sfp, Int4 aa_start, Int4 aa_stop));
102
103
104 /******************************************************************
105 *
106 * free_cvp_list(cvp_list)
107 * free a list of CodonVectorPtr
108 *
109 ******************************************************************/
110 NLM_EXTERN ValNodePtr free_cvp_list PROTO((ValNodePtr cvp_list));
111
112 /*********************************************************************
113 *
114 * make_cds_paragraph(sfp, aa_start, aa_stop)
115 * return a buffer for the display of 3-codon under one amino
116 * acid format. It also includes the new line characters
117 * This is what Jonathan K. desires to have for the sequin
118 * doc object
119 * aa_start, aa_stop: start and stop in the amino acid sequence
120 *
121 *********************************************************************/
122 NLM_EXTERN CharPtr make_cds_paragraph PROTO((SeqFeatPtr sfp, Int4 aa_start, Int4 aa_stop));
123
124
125
126
127 /******************************************************************
128 *
129 * aa_to_dnaloc(sfp, aa_start, aa_stop)
130 * map the amino acid sequence to a list of Seq-locs in the
131 * DNA sequence
132 *
133 ******************************************************************/
134 NLM_EXTERN SeqLocPtr aa_to_dnaloc PROTO((SeqFeatPtr sfp, Int4 aa_start, Int4 aa_stop));
135
136 NLM_EXTERN Int4 print_protein_for_cds PROTO((SeqFeatPtr sfp, CharPtr buf, SeqLocPtr loc, Boolean reverse_minus));
137
138 #define POS_SPACE 10 /*empty space used to write the position*/
139 #define STRAND_SPACE 3 /*empty space used to laod the orientation*/
140 #define B_SPACE 10
141
142 /********************************************************************
143 *
144 * print_label_to_buffer(buf, label, pos, strand, extra_space)
145 *
146 * print a label (with label_name=label, position=pos,
147 * orientation = strand, extra_space = extra_space for partial start)
148 * into the current buffer
149 * return the offset of the buffer pointer to the current buffer
150 *
151 *********************************************************************/
152
153 NLM_EXTERN Int4 print_label_to_buffer PROTO((CharPtr buf, CharPtr label, Int4 pos,
154 Uint1 strand, Boolean extra_space, Boolean is_html, Int4 label_space,
155 Int4 num_space));
156
157 NLM_EXTERN void print_label PROTO((FILE *fp, CharPtr label, Int4 pos, Uint1 strand, Boolean extra_space));
158
159 /********************************************************************
160 *
161 * print_label_to_buffer(buf, label, pos, strand, extra_space)
162 *
163 * print a label (with label_name=label, position=pos,
164 * orientation = strand, extra_space = extra_space for partial start)
165 * into the current buffer
166 * return the offset of the buffer pointer to the current buffer
167 *
168 *********************************************************************/
169 NLM_EXTERN Int4 print_label_to_buffer_all PROTO((CharPtr buf, CharPtr label,
170 Int4 pos, Uint1 strand, Boolean extra_space, Boolean is_html,
171 Int4 label_space, Int4 num_space, Boolean show_strand));
172
173 /********************************************************************
174 *
175 * print_label_to_buffer_all_ex(buf, label, pos, strand, extra_space)
176 *
177 * print a label (with label_name=label, position=pos,
178 * orientation = strand, extra_space = extra_space for partial start)
179 * into the current buffer
180 * return the offset of the buffer pointer to the current buffer
181 * Has an option to strip/not-strip semicolons for hardline old blast
182 * users.
183 *
184 *********************************************************************/
185 NLM_EXTERN Int4 print_label_to_buffer_all_ex PROTO((CharPtr buf, CharPtr label,
186 Int4 pos, Uint1 strand, Boolean extra_space, Boolean is_html,
187 Int4 label_space, Int4 num_space, Boolean show_strand,
188 Boolean strip_semicolon));
189
190 NLM_EXTERN Boolean make_scale_bar_str PROTO((CharPtr PNTR bar, CharPtr PNTR num_str,
191 Int4 num_empty, Int4 line_len));
192
193 #ifdef __cplusplus
194 }
195 #endif
196
197 #undef NLM_EXTERN
198 #ifdef NLM_EXPORT
199 #define NLM_EXTERN NLM_EXPORT
200 #else
201 #define NLM_EXTERN
202 #endif
203
204 #endif
205 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |