!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! $Source: pir-ascii.sdl $ ! $Revision: 1.0 $ ! $Date: 1995/04/14 $ ! $Author: d.gilbert $ ! !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !! this one is written to allow wais-type searches as nearly as possible !! no phrases, only words are indexed. #library /id=%PIR_DB /group=@SEQUENCE_LIBS /name=PIR /logicname=PIR /format=@PIRA_FORMAT /help="pir" /comment="Protein Identification Resource" /oddfile="pir-ascii.sdl" /cachesize=32 /maxIndexSizeKb=1500 { ! #file /name=pironly #file /name=pir1 /logicname=PIR1 #file /name=pir2 /logicname=PIR2 #file /name=pir3 /logicname=PIR3 } #libformat /id=%PIRA_FORMAT /parser=@PIR_PARSER /file_type=@PIRAREF_FILE, @PIRASEQ_FILE ! /featureExpression=@EMBL_FEATURE_EXPRESSION { !ID #field /gblid=%PIR_ID_FIELD /itype=ID /ftype=@DF_ID /idtype=@SRSxSEQID /begstr="ENTRY " /find=id /maxlines=1 !all flds #field /itype=group /ftype=@DF_ALL /idtype=@SRSxSEQID !accession #field /gblid=%PIR_ACC_FIELD /itype=key /ftype=@DF_ACCESSION /find=accession /idtype=@SRSxSEQID /begstr="ACCESSIONS " /nextstr=" " !definition #field /itype=key /ftype=@DF_DEFINITION /idtype=@SRSxSEQID /begstr="TITLE " /nextstr=" " /find=definition !organism #field /itype=key /ftype=@DF_ORGANISM /idtype=@SRSxSEQID /find=species /begstr="ORGANISM " /nextstr=" " !date #field /itype=num /ftype=@DF_DATE /idtype=@SRSxSEQID /begstr="DATE " /nextstr=" " /find=dates !keywords #field /itype=key /ftype=@DF_KEYWORDS /idtype=@SRSxSEQID /begstr="KEYWORDS","CLASSIFICATION","GENETICS" /nextstr=" " /find=keywords !!authors !!#field /gblid=%PIR_AUT /itype=key /ftype=@DF_AUTHORS /idtype=@SRSxSEQID !! /begstr=" #authors" /nextstr=" " !! ! /begleft=4 /begright=4 !! /find=authors !title !!#field /itype=key /ftype=@DF_TITLE /idtype=@SRSxSEQID !! /begstr=" #title" /nextstr=" " !! ! /begleft=4 /begright=4 !! /find=title !reference #field /itype=key /ftype=@DF_REF /idtype=@SRSxSEQID /begstr = "REFERENCE" /nextstr= " " !/begstr= "#title ","#authors " /begleft=4 /begright=4 /nextstr=" " /find=reference !/suppress_error=yes !comment #field /itype=key /ftype=@DF_COMMENT /idtype=@SRSxSEQID /begstr="COMMENT" /nextstr=" " /find=keywords !features #field !/gblid=%PIR_FEATURES_FIELD /itype=key /ftype=@DF_FEATURES /idtype=@SRSxSFTID /begstr="FEATURE" /nextstr=" " /find=feature !sequence length #field /itype=num /ftype=@DF_SEQLENGTH /idtype=@SRSxSEQID /find="" } #library /id=%PIRALN_DB /group=@SEQRELATED_LIBS /name=PIRALN /logicname=PIRALN /format=@PIRALN_FORMAT /comment="Database of Protein Sequence Alignments" /oddfile="pir.sdl" /cachesize=32 /maxIndexSizeKb=1500 { #file /name=aln } #libformat /id=%PIRALN_FORMAT /parser=@PIR_PARSER /file_type=@PIRAREF_FILE { ! fix later ! id #field /gblid=%PIRALN_ID_FIELD /itype=ID /ftype=@DF_ID /idtype=@ENTRY_ID /begstr=">" /find=id /maxlines=1 ! definition #field /itype=key /ftype=@DF_DEFINITION /idtype=@ENTRY_ID /after=@PIRALN_ID_FIELD /find=definition /maxlines=1 !member references #field /gblid=%PIRALN_LINK_FIELD /itype=link /ftype=@DF_LINK /idtype=@SRSxLINKID /begstr="C;Members:", "C;MEMBERS:" /maxlines=1 /find=alnmembers #readlink /id=%PIRALN_PIR_REF /link=@PIRALN_PIR_LINK } #link /id=%PIRALN_PIR_LINK /lib1=@PIRALN_DB /lib2=@PIR_DB /field1=@PIRALN_ID_FIELD /field2=@PIR_ID_FIELD /idtype1=@ENTRY_ID /idtype2=@SRSxSEQID #library /id=%NRL3D_DB /group=@SEQUENCE_LIBS /name=NRL3D /logicname=NRL /format=@NRL3D_FORMAT /comment=" NRL_3D protein sequence structure database" /cachesize=32 /oddfile="pir.sdl" { #file /name=nrl_3d } #libformat /id=%NRL3D_FORMAT /parser=@PIR_PARSER /file_type=@PIRAREF_FILE, @PIRASEQ_FILE { ! id #field /gblid=%NRL3D_ID_FIELD /itype=ID /ftype=@DF_ID /idtype=@SRSxSEQID /begstr="ENTRY" /find=id /maxlines=1 !all flds #field /itype=group /ftype=@DF_ALL /idtype=@SRSxSEQID !definition #field /itype=key /ftype=@DF_DEFINITION /idtype=@SRSxSEQID /begstr="TITLE " /nextstr=" " /find=definition !organism #field /itype=key /ftype=@DF_ORGANISM /idtype=@SRSxSEQID /find=species /begstr="ORGANISM " /nextstr=" " !keywords #field /itype=key /ftype=@DF_KEYWORDS /idtype=@SRSxSEQID /begstr="KEYWORDS" /nextstr=" " /find=keywords !reference #field /itype=key /ftype=@DF_REF /idtype=@SRSxSEQID /begstr = "REFERENCE" /nextstr= " " !/begstr= "#title ","#authors " /begleft=4 /begright=4 /nextstr=" " /find=reference !/suppress_error=yes !comment #field /itype=key /ftype=@DF_COMMENT /idtype=@SRSxSEQID /begstr="COMMENT" /nextstr=" " /find=keywords !features #field !/gblid=%PIR_FEATURES_FIELD /itype=key /ftype=@DF_FEATURES /idtype=@SRSxSFTID /begstr="FEATURE" /nextstr=" " /find=feature #readlink /id=%NRL3D_PDB_REF /link=@NRL3D_PDB_LINK } #link /id=%NRL3D_PDB_LINK /lib1=@NRL3D_DB /lib2=@PDB_DB /field1=@NRL3D_ID_FIELD /field2=@PDB_ID_FIELD /idtype1=@SRSxSEQID /idtype2=@STRUCTENT_ID ASSIGN %%PIR_SFT_KEY 10 ASSIGN %%PIR_SFT_FLD 11 ASSIGN %%PIR_SFT_LOC 12 ASSIGN %%PIR_SFT_LOCEND 13 #PARSER /id=%PIR_PARSER /newline="\n" /ignore=" \r" /convert=upper /#BNF = noword = ~#*\\\'\"\-;.:()[]=,/~; word = ~#*\\\'\"\-;.:()[]=,/ ~ ; name = ^A-Za-z0-9$^ ~A-Za-z0-9$_\-~ ; id = name ; key = word; accnr = ~A-Z0-9~; accession = accnr [ ';' accession]; definition = { noword | word }; fldname = ~#~ name; organizm = ~A-Za-z0-9_$\-~ ; org = [ fldname ] { organizm } [ fldname { organizm } ]; species = org ; !keyword = ~;.~ ; !keywords = [ fldname ] keyword { ';' [ fldname ] keyword }; nokword = ~*\\\'\"\-,.:()[]=/~; kword = ~#*\\\'\"\-,.:()[]=/ ;~ ; keywords = [fldname] {kword | nokword} { ';' [fldname] {kword | nokword} }; ! ! date ! adate = ~0-9~ '-' ~A-Za-z~ '-' ~0-9~ ; dates = [ fldname ] adate { fldname adate }; ! !literature reference ! refwords = { (fldname | noword | word ) }; reference = refwords; ! !parsing feature tables ! nofword = ~*\'\"\-\!;.:()[]=,\/ ~; fword = ^A-Za-z^ [~A-Za-z0-9_\-~ ]; !fword = ~#*\\\'\"\-,;.:()[]=/ ~ ; number = ~0-9~; ftend = number; ftbeg = number; ftkey = fword; loc = ftbeg [ '-' ftend ]; ftstring = ~#~ name {ftkey | nofword} ; !!feature = loc { ',' loc } { ftstring } [ ~\\~ loc { ',' loc } { ftstring }] ; ftline = loc { ',' loc } { ftstring }; feature = ftline [ '\\' ftline ] ; ! ! other things ! pdblink = ~0-9A-Z~ [';''PDB:' ~0-9A-Z~ ]; alnmembers = alnmember {';' alnmember}; alnmember = ~A-Za-z0-9~ ['(' ~)~ ')']. !end parser #filetype /ID=%PIRAREF_FILE /typename="dat" /maxline=200 /exitstr="SEQUENCE" #filetype /ID=%PIRASEQ_FILE /typename="dat" /maxline=200 /seqtype=codata ! SLBxCODATA, dgg addition /begstr="SEQUENCE" /advance=1 /exitstr="///"