Changeset 8309 for trunk/CONVERTALN

Show
Ignore:
Timestamp:
20/12/11 12:29:17 (5 months ago)
Author:
westram
Message:
  • moved much code into static scope
Location:
trunk/CONVERTALN
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/CONVERTALN/embl.cxx

    r7200 r8309  
    154154} 
    155155 
    156 void EmblParser::parse_keyed_section(const char *key) { 
    157     if (str_equal(key, "ID")) { 
    158         embl_one_entry(reader, embl.ID, key); 
    159     } 
    160     else if (str_equal(key, "DT")) { 
    161         embl_date(embl, reader); 
    162     } 
    163     else if (str_equal(key, "DE")) { 
    164         embl_one_entry(reader, embl.description, key); 
    165     } 
    166     else if (str_equal(key, "OS")) { 
    167         embl_one_entry(reader, embl.os, key); 
    168     } 
    169     else if (str_equal(key, "AC")) { 
    170         embl_one_entry(reader, embl.accession, key); 
    171     } 
    172     else if (str_equal(key, "KW")) { 
    173         embl_one_entry(reader, embl.keywords, key); 
    174  
    175         // correct missing '.' 
    176         if (!has_content(embl.keywords)) freedup(embl.keywords, ".\n"); 
    177         else terminate_with(embl.keywords, '.'); 
    178     } 
    179     else if (str_equal(key, "DR")) { 
    180         embl_one_entry(reader, embl.dr, key); 
    181     } 
    182     else if (str_equal(key, "RA")) { 
    183         Emblref& ref = embl.get_latest_ref(); 
    184         embl_one_entry(reader, ref.author, key); 
    185         terminate_with(ref.author, ';'); 
    186     } 
    187     else if (str_equal(key, "RT")) { 
    188         Emblref& ref = embl.get_latest_ref(); 
    189         embl_one_entry(reader, ref.title, key); 
    190         embl_correct_title(ref); 
    191     } 
    192     else if (str_equal(key, "RL")) { 
    193         Emblref& ref = embl.get_latest_ref(); 
    194         embl_one_entry(reader, ref.journal, key); 
    195         terminate_with(ref.journal, '.'); 
    196     } 
    197     else if (str_equal(key, "RP")) { 
    198         Emblref& ref = embl.get_latest_ref(); 
    199         embl_one_entry(reader, ref.processing, key); 
    200     } 
    201     else if (str_equal(key, "RN")) { 
    202         embl.resize_refs(embl.get_refcount()+1); 
    203         ++reader; 
    204     } 
    205     else if (str_equal(key, "CC")) { 
    206         embl_comments(embl, reader); 
    207     } 
    208     else if (str_equal(key, "SQ")) { 
    209         embl_origin(seq, reader); 
    210         state = ENTRY_COMPLETED; 
    211     } 
    212     else { 
    213         embl_skip_unidentified(key, reader); 
    214     } 
    215 } 
    216  
    217 void embl_key_word(const char *line, int index, char *key) { 
    218     parse_key_word(line+index, key, " \t\n"); 
    219 } 
    220  
    221 void embl_origin(Seq& seq, Reader& reader) { 
     156static void embl_origin(Seq& seq, Reader& reader) { 
    222157    // Read in embl sequence data. 
    223158    ca_assert(seq.is_empty()); 
     
    238173    } 
    239174} 
     175 
     176void EmblParser::parse_keyed_section(const char *key) { 
     177    if (str_equal(key, "ID")) { 
     178        embl_one_entry(reader, embl.ID, key); 
     179    } 
     180    else if (str_equal(key, "DT")) { 
     181        embl_date(embl, reader); 
     182    } 
     183    else if (str_equal(key, "DE")) { 
     184        embl_one_entry(reader, embl.description, key); 
     185    } 
     186    else if (str_equal(key, "OS")) { 
     187        embl_one_entry(reader, embl.os, key); 
     188    } 
     189    else if (str_equal(key, "AC")) { 
     190        embl_one_entry(reader, embl.accession, key); 
     191    } 
     192    else if (str_equal(key, "KW")) { 
     193        embl_one_entry(reader, embl.keywords, key); 
     194 
     195        // correct missing '.' 
     196        if (!has_content(embl.keywords)) freedup(embl.keywords, ".\n"); 
     197        else terminate_with(embl.keywords, '.'); 
     198    } 
     199    else if (str_equal(key, "DR")) { 
     200        embl_one_entry(reader, embl.dr, key); 
     201    } 
     202    else if (str_equal(key, "RA")) { 
     203        Emblref& ref = embl.get_latest_ref(); 
     204        embl_one_entry(reader, ref.author, key); 
     205        terminate_with(ref.author, ';'); 
     206    } 
     207    else if (str_equal(key, "RT")) { 
     208        Emblref& ref = embl.get_latest_ref(); 
     209        embl_one_entry(reader, ref.title, key); 
     210        embl_correct_title(ref); 
     211    } 
     212    else if (str_equal(key, "RL")) { 
     213        Emblref& ref = embl.get_latest_ref(); 
     214        embl_one_entry(reader, ref.journal, key); 
     215        terminate_with(ref.journal, '.'); 
     216    } 
     217    else if (str_equal(key, "RP")) { 
     218        Emblref& ref = embl.get_latest_ref(); 
     219        embl_one_entry(reader, ref.processing, key); 
     220    } 
     221    else if (str_equal(key, "RN")) { 
     222        embl.resize_refs(embl.get_refcount()+1); 
     223        ++reader; 
     224    } 
     225    else if (str_equal(key, "CC")) { 
     226        embl_comments(embl, reader); 
     227    } 
     228    else if (str_equal(key, "SQ")) { 
     229        embl_origin(seq, reader); 
     230        state = ENTRY_COMPLETED; 
     231    } 
     232    else { 
     233        embl_skip_unidentified(key, reader); 
     234    } 
     235} 
     236 
     237void embl_key_word(const char *line, int index, char *key) { 
     238    parse_key_word(line+index, key, " \t\n"); 
     239} 
     240 
    240241static void embl_print_lines(Writer& write, const char *key, const char *content, const WrapMode& wrapMode) { 
    241242    // Print EMBL entry and wrap around if line over EMBLMAXLINE. 
  • trunk/CONVERTALN/genbank.cxx

    r7623 r8309  
    5353} 
    5454 
    55 void genbank_one_entry_in(char*& datastring, Reader& reader) { 
     55static void genbank_one_entry_in(char*& datastring, Reader& reader) { 
    5656    freedup(datastring, reader.line()+Skip_white_space(reader.line(), GBINDENT)); 
    5757    return genbank_continue_line(datastring, GBINDENT, reader); 
     
    6464} 
    6565 
    66 void genbank_source(GenBank& gbk, Reader& reader) { 
     66static void genbank_source(GenBank& gbk, Reader& reader) { 
    6767    // Read in genbank SOURCE lines and also ORGANISM lines. 
    6868    genbank_one_entry_in(gbk.source, reader); 
     
    8787 
    8888 
    89 void genbank_skip_unidentified(Reader& reader, int blank_num) { 
     89static void genbank_skip_unidentified(Reader& reader, int blank_num) { 
    9090    // Skip the lines of unidentified keyword. 
    9191    ++reader; 
     
    9494} 
    9595 
    96 void genbank_reference(GenBank& gbk, Reader& reader) { 
     96static void genbank_reference(GenBank& gbk, Reader& reader) { 
    9797    // Read in genbank REFERENCE lines. 
    9898    int  refnum; 
     
    243243} 
    244244 
    245 void GenbankParser::parse_keyed_section(const char *key) { 
    246     if (str_equal(key, "LOCUS")) { 
    247         genbank_one_entry_in(gbk.locus, reader); 
    248         if (!gbk.locus_contains_date()) 
    249             warning(14, "LOCUS data might be incomplete"); 
    250     } 
    251     else if (str_equal(key, "DEFINITION")) { 
    252         genbank_one_entry_in(gbk.definition, reader); 
    253         terminate_with(gbk.definition, '.'); // correct missing '.' at the end 
    254     } 
    255     else if (str_equal(key, "ACCESSION")) { 
    256         genbank_one_entry_in(gbk.accession, reader); 
    257         genbank_verify_accession(gbk); 
    258     } 
    259     else if (str_equal(key, "KEYWORDS")) { 
    260         genbank_one_entry_in(gbk.keywords, reader); 
    261         genbank_verify_keywords(gbk); 
    262     } 
    263     else if (str_equal(key, "SOURCE")) { 
    264         genbank_source(gbk, reader); 
    265         terminate_with(gbk.source, '.'); // correct missing '.' at the end 
    266         terminate_with(gbk.organism, '.'); 
    267     } 
    268     else if (str_equal(key, "REFERENCE")) { 
    269         genbank_reference(gbk, reader); 
    270     } 
    271     else if (str_equal(key, "COMMENTS")) { 
    272         genbank_comments(gbk, reader); 
    273     } 
    274     else if (str_equal(key, "COMMENT")) { 
    275         genbank_comments(gbk, reader); 
    276     } 
    277     else if (str_equal(key, "ORIGIN")) { 
    278         genbank_origin(seq, reader); 
    279         state = ENTRY_COMPLETED; 
    280     } 
    281     else { 
    282         genbank_skip_unidentified(reader, 2); 
    283     } 
    284 } 
    285  
    286 void genbank_origin(Seq& seq, Reader& reader) { 
     245static void genbank_origin(Seq& seq, Reader& reader) { 
    287246    // Read in genbank sequence data. 
    288247    ca_assert(seq.is_empty()); 
     
    299258} 
    300259 
     260void GenbankParser::parse_keyed_section(const char *key) { 
     261    if (str_equal(key, "LOCUS")) { 
     262        genbank_one_entry_in(gbk.locus, reader); 
     263        if (!gbk.locus_contains_date()) 
     264            warning(14, "LOCUS data might be incomplete"); 
     265    } 
     266    else if (str_equal(key, "DEFINITION")) { 
     267        genbank_one_entry_in(gbk.definition, reader); 
     268        terminate_with(gbk.definition, '.'); // correct missing '.' at the end 
     269    } 
     270    else if (str_equal(key, "ACCESSION")) { 
     271        genbank_one_entry_in(gbk.accession, reader); 
     272        genbank_verify_accession(gbk); 
     273    } 
     274    else if (str_equal(key, "KEYWORDS")) { 
     275        genbank_one_entry_in(gbk.keywords, reader); 
     276        genbank_verify_keywords(gbk); 
     277    } 
     278    else if (str_equal(key, "SOURCE")) { 
     279        genbank_source(gbk, reader); 
     280        terminate_with(gbk.source, '.'); // correct missing '.' at the end 
     281        terminate_with(gbk.organism, '.'); 
     282    } 
     283    else if (str_equal(key, "REFERENCE")) { 
     284        genbank_reference(gbk, reader); 
     285    } 
     286    else if (str_equal(key, "COMMENTS")) { 
     287        genbank_comments(gbk, reader); 
     288    } 
     289    else if (str_equal(key, "COMMENT")) { 
     290        genbank_comments(gbk, reader); 
     291    } 
     292    else if (str_equal(key, "ORIGIN")) { 
     293        genbank_origin(seq, reader); 
     294        state = ENTRY_COMPLETED; 
     295    } 
     296    else { 
     297        genbank_skip_unidentified(reader, 2); 
     298    } 
     299} 
     300 
    301301static void genbank_print_lines(Writer& write, const char *key, const char *content, const WrapMode& wrapMode) { 
    302302    // Print one genbank line, wrap around if over column GBMAXLINE 
  • trunk/CONVERTALN/macke.cxx

    r7046 r8309  
    88 
    99#define MACKELIMIT 10000 
     10 
     11static int macke_abbrev(const char *line, char *key, int index) { 
     12    // Get the key from a macke line. 
     13    // returns index behind delimiting ':' 
     14    index   = Skip_white_space(line, index); 
     15    int len = parse_key_word(line+index, key, " :\t\n"); 
     16    return index+len+1; 
     17} 
    1018 
    1119static void macke_continue_line(const char *key, char *oldname, char*& var, Reader& reader) { 
     
    6674    ca_assert(seqabbr);                   // = macke.seqabbr 
    6775    macke_read_seq(seq, seqabbr, reader); 
    68 } 
    69  
    70 int macke_abbrev(const char *line, char *key, int index) { 
    71     // Get the key from a macke line. 
    72     // returns index behind delimiting ':' 
    73     index   = Skip_white_space(line, index); 
    74     int len = parse_key_word(line+index, key, " :\t\n"); 
    75     return index+len+1; 
    7676} 
    7777 
  • trunk/CONVERTALN/main.cxx

    r8246 r8309  
    1616struct TypeSwitch { const char *switchtext; Format format; }; 
    1717 
    18 TypeSwitch convertible_type[] = { // see fconv.cxx@format_spec 
     18static TypeSwitch convertible_type[] = { // see fconv.cxx@format_spec 
    1919    { "GenBank",   GENBANK   }, 
    2020    { "EMBL",      EMBL      }, 
  • trunk/CONVERTALN/prototypes.h

    r8246 r8309  
    2323int comment_subkey(const char *line, char *key); 
    2424void embl_key_word(const char *line, int index, char *key); 
    25 void embl_origin(Seq &seq, Reader &reader); 
    2625void embl_out_header(const Embl &embl, const Seq &seq, Writer &write); 
    2726void embl_out(const Embl &embl, const Seq &seq, Writer &write); 
     
    4443/* genbank.cxx */ 
    4544void genbank_key_word(const char *line, int index, char *key); 
    46 void genbank_one_entry_in(char *&datastring, Reader &reader); 
    47 void genbank_source(GenBank &gbk, Reader &reader); 
    48 void genbank_skip_unidentified(Reader &reader, int blank_num); 
    49 void genbank_reference(GenBank &gbk, Reader &reader); 
    50 void genbank_origin(Seq &seq, Reader &reader); 
    5145void genbank_out_header(const GenBank &gbk, const Seq &seq, Writer &write); 
    5246void genbank_out_base_count(const Seq &seq, Writer &write); 
     
    5549/* macke.cxx */ 
    5650void macke_origin(Seq &seq, char *&seqabbr, Reader &reader); 
    57 int macke_abbrev(const char *line, char *key, int index); 
    5851void macke_out_header(Writer &write); 
    5952void macke_seq_display_out(const Macke &macke, Writer &write, Format inType, bool first_sequence);