!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! $Source: /kappa1/srs4_0/odd/RCS/embl.sdl,v $ ! $Revision: 1.13 $ ! $Date: 1995/01/11 17:26:28 $ ! $Author: etzold $ ! !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #library /id=%EMBL_DB /group=@SEQUENCE_LIBS /name=EMBL /logicname=EM, EMBL /format=@EMBL_FORMAT /cachesize=2048 /maxIndexSizeKb=3200 /oddfile="embl.sdl" { #file /name=est #file /name=patent #file /name=fun #file /name=inv #file /name=mam #file /name=org #file /name=phg #file /name=pln #file /name=pri #file /name=pro #file /name=rod #file /name=syn #file /name=unc #file /name=vrl #file /name=vrt #file /name=sts } !names of the files in GCG format !{ ! #file /name=em_fun /logicname=EM_FUN ! #file /name=em_in /logicname=EM_IN ! #file /name=em_om /logicname=EM_OM ! #file /name=em_or /logicname=EM_OR ! #file /name=em_ph /logicname=EM_PH ! #file /name=em_pl /logicname=EM_PL ! #file /name=em_pr /logicname=EM_PR ! #file /name=em_ba /logicname=EM_BA ! #file /name=em_ro /logicname=EM_RO ! #file /name=em_sy /logicname=EM_SY ! #file /name=em_un /logicname=EM_UN ! #file /name=em_vi /logicname=EM_VI ! #file /name=em_ov /logicname=EM_OV ! #file /name=em_sts /logicname=EM_STS ! #file /name=em_pat /logicname=EM_PAT ! #file /name=em_est /logicname=EM_EST !} #libformat /id=%EMBL_FORMAT /parser=@EMBL_PARSER /file_type=@EMBLREF_FILE, @EMBLSEQ_FILE !GCG format ! /file_type=@GCGREF_FILE, @GCGSEQ_FILE /featureExpression=@EMBL_FEATURE_EXPRESSION { !ID-field #field /gblid=%EMBL_ID_FIELD /itype=ID /ftype=@DF_ID /idtype=@SRSxSEQID /begstr="ID " /find=id /maxlines=1 /relIndexSize=0.95 !accession #field /gblid=%EMBL_ACC_FIELD /itype=key /ftype=@DF_ACCESSION /idtype=@SRSxSEQID /find=accession /begstr="AC " /nextstr="AC " /relIndexSize=1 !date #field /itype=num /ftype=@DF_DATE /idtype=@SRSxSEQID /find=date /begstr="DT " /nextstr="DT " !keywords #field /itype=key /ftype=@DF_KEYWORDS /idtype=@SRSxSEQID /find=keywords /begstr="KW " /nextstr="KW " /relIndexSize=0.34 !definiton #field /itype=key /ftype=@DF_DEFINITION /idtype=@SRSxSEQID /find=definition /begstr="DE " /nextstr="DE " /relIndexSize=0.61 !organism #field /itype=key /ftype=@DF_ORGANISM /idtype=@SRSxSEQID /find=emtaxons /begstr="OS ", "OG " /nextstr="OC ", "OS ", "OG " /relIndexSize=0.1 !reference number #field /itype=show /ftype=@DF_REFNUMBER /idtype=@SRSxSEQID /begstr="RN " /nextstr="RN " !authors #field /itype=key /ftype=@DF_AUTHORS /idtype=@SRSxSEQID /find=authors /begstr="RA " /nextstr="RA " /relIndexSize=0.6 !title #field /itype=key /ftype=@DF_TITLE /idtype=@SRSxSEQID /find=definition /begstr="RT " /nextstr="RT " /relIndexSize=0.25 !features #field /gblid=%EMBL_FEATURES_FIELD /itype=key /ftype=@DF_FEATURES /idtype=@SRSxSFTID /begstr="FT " /nextstr="FT " /next1str="FT " /find=feature /relIndexSize=0.29 !link #field /gblid=%EMBL_DR_FIELD /itype=link /ftype=@DF_LINK /idtype=@SRSxLINKID /begstr="DR " /nextstr="DR EXIT " /find=embllink !reference #field /gblid=%EMBL_REF_FIELD /itype=key /ftype=@DF_REF /idtype=@SRSxSEQID /suppress_error=yes /find=reference /begstr="RL " /nextstr="RL "!/maxlines=1 /relIndexSize=0.13 !comment #field /itype=key /ftype=@DF_COMMENT /idtype=@SRSxSEQID /find=comment /begstr="CC " /nextstr="CC " /relIndexSize=0.1 !sequence length #field /itype=num /ftype=@DF_SEQLENGTH /idtype=@SRSxSEQID /find="" #readlink/id=%EMBL_EPD_REF /link=@EMBL_EPD_LINK } #library /id=%EMBLNEW_DB /group=@SEQUENCE_LIBS /name=EMNEW /format=@EMNEW_FORMAT /logicname=EMBL_NEW /cachesize=2024 /oddfile="embl.sdl" { #file /id=0 /name=emnew } #libformat /id=%EMNEW_FORMAT /parser=@EMBL_PARSER /file_type=@EMBLREF_FILE, @EMBLSEQ_FILE ! /file_type=@GCGREF_FILE, @GCGSEQ_FILE /featureExpression=@EMBL_FEATURE_EXPRESSION { !ID-field #field /gblid=%EMNEW_ID_FIELD /itype=ID /ftype=@DF_ID /idtype=@SRSxSEQID /begstr="ID " /find=id /maxlines=1 !accession #field /gblid=%EMNEW_ACC_FIELD /itype=key /ftype=@DF_ACCESSION /idtype=@SRSxSEQID /find=accession /begstr="AC " /nextstr="AC " !date #field /itype=show /ftype=@DF_DATE /idtype=@SRSxSEQID /find=accession /begstr="DT " /nextstr="DT " !keywords #field /itype=key /ftype=@DF_KEYWORDS /idtype=@SRSxSEQID /find=keywords /begstr="KW " /nextstr="KW " /relIndexSize=0.34 !definiton #field /itype=key /ftype=@DF_DEFINITION /idtype=@SRSxSEQID /find=definition /begstr="DE " /nextstr="DE " /relIndexSize=0.6 !organism #field /itype=key /ftype=@DF_ORGANISM /idtype=@SRSxSEQID /find=emtaxons /begstr="OS ", "OG " /nextstr="OC ", "OS ", "OG " /relIndexSize=0.1 !authors #field /itype=key /ftype=@DF_AUTHORS /idtype=@SRSxSEQID /find=authors /begstr="RA " /nextstr="RA " /relIndexSize=0.6 !title #field /itype=key /ftype=@DF_TITLE /idtype=@SRSxSEQID /find=definition /begstr="RT " /nextstr="RT " /relIndexSize=0.3 !features #field /gblid=%EMNEW_FEATURES_FIELD /itype=key /ftype=@DF_FEATURES /idtype=@SRSxSFTID /begstr="FT " /nextstr="FT " /next1str="FT " /find=feature /relIndexSize=0.3 !link #field /itype=link /ftype=@DF_LINK /idtype=@SRSxLINKID !/link=@EMBL_EPD_LINK /begstr="DR " /nextstr="DR EXIT " /find=embllink !reference number #field /itype=show /ftype=@DF_REFNUMBER /idtype=@SRSxSEQID /begstr="RN " /nextstr="RN " !reference #field /itype=key /ftype=@DF_REF /idtype=@SRSxSEQID /suppress_error=yes /find=reference /begstr="RL " /nextstr="RL "!/maxlines=1 /relIndexSize=0.2 !comment #field /itype=key /ftype=@DF_COMMENT /idtype=@SRSxSEQID /find=comment /begstr="CC " /nextstr="CC " /relIndexSize=0.1 !sequence length #field /itype=num /ftype=@DF_SEQLENGTH /idtype=@SRSxSEQID /find="" } #link /id=%EMBL_EPD_LINK /lib1=@EMBL_DB /lib2=@EPD_DB /field1=@EMBL_ID_FIELD /field2=@EPD_ID_FIELD /idtype1=@SRSxSEQID /idtype2=@ENTRY_ID !#link /id=%EMBL_GENBANK_LINK ! /lib1=@EMBL_DB /lib2=@GENBANK_DB /type=index ! /field1=@EMBL_ACC_FIELD /field2=@GENBANK_ACC_FIELD ! /idtype1=@SRSxSEQID /idtype2=@SRSxSEQID #link /id=%EMNEW_EMBL_LINK /lib1=@EMBLNEW_DB /lib2=@EMBL_DB /type=index /field1=@EMNEW_ACC_FIELD /field2=@EMBL_ACC_FIELD /idtype1=@SRSxSEQID /idtype2=@SRSxSEQID #filetype /ID=%EMBLREF_FILE /typename="dat" /maxline=90 /exitstr=" " #filetype /ID=%EMBLSEQ_FILE /begstr="SQ " /advance=1 /seqtype=embl ! SLBxEMBL, dgg addition /typename="dat" /maxline=90 /exitstr="//" #srsfield /id=%DF_REFNUMBER /shortname="RFN" /name="RefNumber" /itype=show ASSIGN %%EM_SFT_KEY 2 ASSIGN %%EM_SFT_FSTKEY 1 ASSIGN %%EM_SFT_OPEN 20 ASSIGN %%EM_SFT_BEG 21 ASSIGN %%EM_SFT_END 22 ASSIGN %%EM_SFT_COMPL 23 ASSIGN %%EM_SFT_OP 30 #PARSER /id=%EMBL_PARSER /newline="\n" /ignore=" " /convert=upper /#BNF = name = ~A-Z0-9$_\-~; noword = ~\-;.()[=,/]'\"~; word = ~\-,;.()[=/] '\\\"~ ; cword = ~',;.()[=/] \\\"~ ; id = name ; key = word; accnr = ^A-Z^ ~0-9~; accession = accnr ';' [accession]; definition = { noword | key }; taxon = ~;.(),~ ; taxons = { taxon | ~;.~ }; trivial = '(' { ~);,(~ | ~;,~ | trivial } ')'; emtax = ~;.()~ [ '(' ~;.()~ ')']; emtaxons = { emtax | ~.;~ }; keyword = ~;.~ ; keywords = [keyword { ';' keyword }] ['.']; ! authors = author { ',' author} [';']; author = ~A-Z'\-~ {?initials | (~ ~ ~A-Z'\-~ ) }; initials = ~ ~ ',' ~A-Z\-~ '.' {~A-Z\-~'.'}; ! !literature reference ! num = ~0-9~ ; year = '(' num ')'; page = num '-'; reference = ? ref | {~ ~ }; ref = ~A-Za-z .\-_~ ~0-9~ ':' ~0-9~ '-' ~0-9~ '(' ~0-9~ ')'; ! !date ! date = ?credate | ~@~ ; credate = ~0-9A-Z\-~ '(REL.' ~0-9~ ',' 'CREATED)' ; ! !parsing feature tables ! feature = ffirstword [location] { qualifier }; ffirstword = ~a-zA-Z0-9_\-'~; location = ~/~ ; qualifier = ecnumber | citation | qual; ecnumber = '/EC_NUMBER=' '\"' ~0123456789.\-~ '\"'; qual = '/' ~/a-zA-Z0-9\-_~ ['=' ( '\"' {fwordquot} '\"' | ~/~ )]; fwordquot = inparenth | fsepquot | fword; fsepquot = ~\-;:.()[=,/]'~; fword = ~\-,;.:()[=/] '\\\"~ ; inparenth = '(' ~)"~ [')']; citation = '/CITATION=' ( ('[' ~]~ ']' ) | ('(' ~)~ ')') ); ! comment = { (~\-A-Z0-9~ ) | (~\-A-Z0-9~ ) }; locus = name ; ! !--------EMBL links ----------------------------------------------------------- epdlink = 'EPD;' ~0-9~ ; embllink = 'SWISS-PROT' | 'TFD' | 'FLYBASE' | epdlink.