[med-svn] [pftools] 01/02: New upstream version 2.3.5.d
Andreas Tille
tille at debian.org
Wed Mar 22 11:55:47 UTC 2017
This is an automated email from the git hooks/post-receive script.
tille pushed a commit to branch master
in repository pftools.
commit f670c22102b33d73485a11a75fa4f82ffb499e90
Author: Andreas Tille <tille at debian.org>
Date: Wed Mar 22 12:54:55 2017 +0100
New upstream version 2.3.5.d
---
2ft.f | 351 ++++++
6ft.f | 372 +++++++
CFAve.f | 25 +
CPAve.f | 22 +
CVPBR322 | 483 +++++++++
GTPA_HUMAN | 84 ++
MYSA_HUMAN | 99 ++
Makefile | 112 ++
NtoR.f | 23 +
R76849.seq | 9 +
README | 219 ++++
RtoN.f | 22 +
Xblnk.f | 24 +
abini.f | 37 +
ardim.f | 51 +
avdat.f | 10 +
blosum100.cmp | 36 +
blosum30.cmp | 36 +
blosum45.cmp | 36 +
blosum50.cmp | 36 +
blosum62.cmp | 36 +
blosum65.cmp | 36 +
blosum80.cmp | 36 +
codat.f | 18 +
coils.prf | 16 +
cvini.f | 22 +
dfdat.f | 13 +
dfnul.f | 48 +
djdat.f | 16 +
ecp.prf | 57 +
gonnet.cmp | 33 +
gsdat.f | 20 +
gtop.f | 215 ++++
hmdat.f | 9 +
htop.f | 677 ++++++++++++
install_pftools.sh | 228 ++++
io.c | 15 +
jprsm.f | 97 ++
lblnk.f | 20 +
man/2ft.1 | 125 +++
man/6ft.1 | 127 +++
man/gtop.1 | 261 +++++
man/htop.1 | 375 +++++++
man/pfmake.1 | 537 +++++++++
man/pfscale.1 | 324 ++++++
man/pfscan.1 | 416 +++++++
man/pfsearch.1 | 415 +++++++
man/pfw.1 | 222 ++++
man/psa.5 | 197 ++++
man/psa2msa.1 | 247 +++++
man/ptof.1 | 317 ++++++
man/ptoh.1 | 295 +++++
man/xpsa.5 | 396 +++++++
nodat.f | 21 +
pam120.cmp | 39 +
pam160.cmp | 39 +
pam200.cmp | 39 +
pam220.cmp | 39 +
pam250.cmp | 39 +
pam30.cmp | 39 +
pam40.cmp | 40 +
pam400.cmp | 38 +
pam80.cmp | 39 +
pfam_sh3.hmm | 196 ++++
pfdat.f | 72 ++
pfind.f | 56 +
pfmake.f | 1105 +++++++++++++++++++
pfscale.f | 446 ++++++++
pfscan.1 | 416 +++++++
pfscan.f | 940 ++++++++++++++++
pfsearch.f | 923 ++++++++++++++++
pfsearch.f.cpy | 904 ++++++++++++++++
pfw.f | 540 +++++++++
pmali.f | 138 +++
prali.f | 144 +++
profile.txt | 1622 ++++++++++++++++++++++++++++
prosite13.prf | 3061 ++++++++++++++++++++++++++++++++++++++++++++++++++++
prsp.f | 65 ++
prxp.f | 63 ++
psa.5 | 197 ++++
psa2msa.f | 540 +++++++++
psdat.f | 20 +
ptof.f | 584 ++++++++++
ptoh.f | 413 +++++++
pxdat.f | 35 +
recmd.f | 30 +
regpr.f | 285 +++++
remsa.f | 128 +++
remsf.f | 191 ++++
reprf.f | 1140 +++++++++++++++++++
reseq.f | 185 ++++
rfseq.f | 137 +++
rhmmer.f | 153 +++
rhmmer2.f | 540 +++++++++
rhnul.f | 90 ++
schmm.f | 270 +++++
score.lis | 2023 ++++++++++++++++++++++++++++++++++
sh3.gpr | 66 ++
sh3.msf | 86 ++
sh3.prf | 133 +++
sh3.seq | 297 +++++
standard.random | 3 +
sterr.f | 12 +
test.out | 1337 +++++++++++++++++++++++
test.sh | 54 +
wprsm.f | 285 +++++
wrhmr.f | 141 +++
wrprf.f | 1061 ++++++++++++++++++
wrsam.f | 170 +++
xali1.f | 228 ++++
xalip.f | 806 ++++++++++++++
xalit.f | 879 +++++++++++++++
xprsm.f | 468 ++++++++
xpsa.5 | 370 +++++++
114 files changed, 32373 insertions(+)
diff --git a/2ft.f b/2ft.f
new file mode 100644
index 0000000..2cde4b2
--- /dev/null
+++ b/2ft.f
@@ -0,0 +1,351 @@
+* Program 2ft
+*----------------------------------------------------------------------*
+* $Id: 2ft.f,v 2.8 2003/11/28 11:53:33 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: 2-frame translation of DNA sequence into protein
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+
+ Include 'ardim.f'
+ Parameter (NOUT= 6)
+
+ Character*512 RCIN
+ Character*512 CHDE
+ Character*64 CHID
+ Character*512 RCEX
+
+ Integer*2 ISEQ(IDMS)
+ Character CSEQ(IDMS)
+
+ Character CABC(0:63)
+ Character CNBC(0:15)
+
+ Character*04 CDNA
+ Integer NBSQ
+ Integer IOS
+
+ Include 'sterr.f'
+
+* options
+
+ Integer NW
+ Logical OPTS
+ Logical OPTR
+
+* Initializations
+
+ Data CABC( 0)/'K'/
+ Data CABC( 1)/'N'/
+ Data CABC( 2)/'K'/
+ Data CABC( 3)/'N'/
+ Data CABC( 4)/'T'/
+ Data CABC( 5)/'T'/
+ Data CABC( 6)/'T'/
+ Data CABC( 7)/'T'/
+ Data CABC( 8)/'R'/
+ Data CABC( 9)/'S'/
+ Data CABC(10)/'R'/
+ Data CABC(11)/'S'/
+ Data CABC(12)/'I'/
+ Data CABC(13)/'I'/
+ Data CABC(14)/'M'/
+ Data CABC(15)/'I'/
+ Data CABC(16)/'Q'/
+ Data CABC(17)/'H'/
+ Data CABC(18)/'Q'/
+ Data CABC(19)/'H'/
+ Data CABC(20)/'P'/
+ Data CABC(21)/'P'/
+ Data CABC(22)/'P'/
+ Data CABC(23)/'P'/
+ Data CABC(24)/'R'/
+ Data CABC(25)/'R'/
+ Data CABC(26)/'R'/
+ Data CABC(27)/'R'/
+ Data CABC(28)/'L'/
+ Data CABC(29)/'L'/
+ Data CABC(30)/'L'/
+ Data CABC(31)/'L'/
+ Data CABC(32)/'E'/
+ Data CABC(33)/'D'/
+ Data CABC(34)/'E'/
+ Data CABC(35)/'D'/
+ Data CABC(36)/'A'/
+ Data CABC(37)/'A'/
+ Data CABC(38)/'A'/
+ Data CABC(39)/'A'/
+ Data CABC(40)/'G'/
+ Data CABC(41)/'G'/
+ Data CABC(42)/'G'/
+ Data CABC(43)/'G'/
+ Data CABC(44)/'V'/
+ Data CABC(45)/'V'/
+ Data CABC(46)/'V'/
+ Data CABC(47)/'V'/
+ Data CABC(48)/'O'/
+ Data CABC(49)/'Y'/
+ Data CABC(50)/'O'/
+ Data CABC(51)/'Y'/
+ Data CABC(52)/'S'/
+ Data CABC(53)/'S'/
+ Data CABC(54)/'S'/
+ Data CABC(55)/'S'/
+ Data CABC(56)/'O'/
+ Data CABC(57)/'C'/
+ Data CABC(58)/'W'/
+ Data CABC(59)/'C'/
+ Data CABC(60)/'L'/
+ Data CABC(61)/'F'/
+ Data CABC(62)/'L'/
+ Data CABC(63)/'F'/
+
+ Data CNBC( 0)/'X'/
+ Data CNBC( 1)/'T'/
+ Data CNBC( 2)/'X'/
+ Data CNBC( 3)/'X'/
+ Data CNBC( 4)/'X'/
+ Data CNBC( 5)/'P'/
+ Data CNBC( 6)/'R'/
+ Data CNBC( 7)/'L'/
+ Data CNBC( 8)/'X'/
+ Data CNBC( 9)/'A'/
+ Data CNBC(10)/'G'/
+ Data CNBC(11)/'V'/
+ Data CNBC(12)/'X'/
+ Data CNBC(13)/'S'/
+ Data CNBC(14)/'X'/
+ Data CNBC(15)/'X'/
+
+ IRC=0
+ NBSQ=0
+ NW=60
+ IOS=0
+
+ CDNA='ACGT'
+
+ Call Repar(OPTS,OPTR,NW,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''2ft 2.3 revision 5.d'',//
+ * ''Usage: 2ft [-[r|s]hW] < seq-library-file '',/
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -r: translate only reverse (antisense) strand.'',/
+ * '' -s: translate only sense strand.'',/
+ * '' -h: print usage help text.'',/
+ * '' -W<value>:'',/
+ * '' specifies the output width (default: 60).'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+ 1 Read(5,'(A)',End=920,Err=900) RCIN
+ If(RCIN(1:1).NE.'>') go to 1
+
+ 2 If(RCIN(1:1).NE.'>') Go to 920
+ J1=Index(RCIN,' ')
+ CHID='>x|' // RCIN(2:J1)
+ LNID=Lblnk(CHID)
+ LNDE=512-LNID+3
+ CHDE=RCIN(J1+1:J1+LNDE)
+ IF(OPTS.OR.OPTR) then
+ RCEX=CHID(1:LNID) // ' ' // CHDE(1:LNDE)
+ Else
+ RCEX=CHID(1:LNID) // ' ' // CHDE(1:LNDE)
+ End if
+
+ LSEQ=0
+ 3 Read(5,'(A)',Iostat=IOS,Err=900) RCIN
+ 4 If(RCIN(1:1).EQ.'>') go to 10
+ L1=Lblnk(RCIN)
+
+ Do 5 I1=1,L1
+ K1=Ichar(RCIN(I1:I1))
+ If(K1.GE.97) then
+ K1=K1-32
+ RCIN(I1:I1)=char(K1)
+ End if
+ If(K1.GT.90.OR.K1.LT.65) go to 5
+ LSEQ=LSEQ+1
+ If(LSEQ.GT.IDMS) Go to 901
+ ISEQ(LSEQ)=Index(CDNA,(RCIN(I1:I1)))-1
+ If(ISEQ(LSEQ).EQ.-1) ISEQ(LSEQ)=-64
+ 5 Continue
+ RCIN=' '
+ If(IOS.EQ.0) Go to 3
+
+ 10 Continue
+
+ If(LSEQ.GE.3) then
+ NBSQ=NBSQ+1
+ Else
+ Go to 902
+ End if
+
+* convert sequence into codons.
+
+ J1=LNID+1
+ J2=LNID+2
+ J3=Lblnk(RCEX)
+
+* - plus strand
+
+ If(.NOT.OPTR) then
+
+ Do 12 I1=1,LSEQ-2
+ N1=ISEQ(I1)*16+ISEQ(I1+1)*4+ISEQ(I1+2)
+ If(N1.LT.0) then
+ N1=ISEQ(I1)*4+ISEQ(I1+1)
+ If(N1.GE.0) then
+ CSEQ(I1)=CNBC(N1)
+ Else
+ CSEQ(I1)='X'
+ End if
+ Else
+ CSEQ(I1)=CABC(N1)
+ End if
+ 12 Continue
+
+ If(.NOT.OPTS) RCEX(J1:J2)='_P'
+ Write(NOUT,'(512A)')(RCEX(ii1:ii1),ii1=1,J3)
+ Call Prsq(CSEQ,LSEQ-2,NW)
+
+ End if
+
+* - minus strand
+
+ If(.NOT.OPTS) then
+
+ Do 13 I1=LSEQ,1,-1
+ ISEQ(I1)=3-ISEQ(I1)
+ If(ISEQ(I1).GT.4) ISEQ(I1)=-64
+ 13 Continue
+ K1=1
+ Do 14 I1=LSEQ,3,-1
+ N1=ISEQ(I1)*16+ISEQ(I1-1)*4+ISEQ(I1-2)
+ If(N1.LT.0) then
+ N1=ISEQ(I1)*4+ISEQ(I1-1)
+ If(N1.GE.0) then
+ CSEQ(K1)=CNBC(N1)
+ Else
+ CSEQ(K1)='X'
+ End if
+ Else
+ CSEQ(K1)=CABC(N1)
+ End if
+ K1=K1+1
+ 14 Continue
+
+ If(.NOT.OPTR) RCEX(J1:J2)='_M'
+ Write(NOUT,'(512A)')(RCEX(ii1:ii1),ii1=1,J3)
+ Call Prsq(CSEQ,LSEQ-2,NW)
+
+ End if
+
+ If(IOS.EQ.0) Go to 2
+
+ 100 Call Exit(IRC)
+
+ 900 Write(NERR,*) 'Error: Unable to read sequence from standard'//
+ * ' input.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: sequence length exceeds buffer size (',
+ * IDMS,').'
+ Write(NERR,*) ' While processing sequence ',
+ * CHID(4:Lblnk(CHID))
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: sequence length too short.'
+ Write(NERR,*) ' While processing sequence ',
+ * CHID(4:Lblnk(CHID))
+ IRC=1
+ Go to 100
+ 920 If(NBSQ.EQ.0) then
+ Write(NERR,*) 'Warning: No FASTA sequence found. '
+ IRC=-1
+ End if
+ Go to 100
+ End
+
+*----------------------------------------------------------------------*
+ Subroutine Repar(OPTS,OPTR,NW,IRC)
+
+ Character*64 CARG
+
+ Integer NW
+ Logical OPTS
+ Logical OPTR
+
+ IRC=0
+
+ OPTS=.FALSE.
+ OPTR=.FALSE.
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do I1=1,N1
+ Call GetArg(I2,CARG)
+ If(CARG(1:1).EQ.'-') then
+ If (Index(CARG,'h').NE.0) then
+ go to 900
+ Else if(Index(CARG,'s').NE.0) then
+ OPTS=.TRUE.
+ Else if(Index(CARG,'r').NE.0) then
+ OPTR=.TRUE.
+ Else if(Index(CARG,'W').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NW
+ Else
+ I2=I2+1
+ If(I2.GT.N1) Go to 900
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NW
+ End if
+ End if
+ Else
+ K1=K1+1
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ End do
+
+ 20 If(K1.GT.0.OR.(OPTS.AND.OPTR)) go to 900
+ If(NW.LE.0.OR.NW.GT.512) NW=60
+
+ 100 Return
+ 900 IRC=-1
+ Go to 100
+ End
+
+*----------------------------------------------------------------------*
+ Subroutine Prsq(CSEQ,LSEQ,NW)
+
+ Character*512 RCOUT
+ Character CSEQ(*)
+
+ INB=LSEQ/NW
+ INR=LSEQ-INB*NW
+ IN1=0
+
+ Do IN2=1,INB
+ Do ii1=1,NW
+ RCOUT(ii1:ii1)=CSEQ(ii1+IN1)
+ End do
+ IN1=IN1+NW
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,NW)
+ End do
+ If(INR.GT.0) then
+ Do ii1=1,INR
+ RCOUT(ii1:ii1)=CSEQ(ii1+IN1)
+ End do
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,INR)
+ End if
+ End
+*----------------------------------------------------------------------*
+ Include 'lblnk.f'
diff --git a/6ft.f b/6ft.f
new file mode 100644
index 0000000..739edc8
--- /dev/null
+++ b/6ft.f
@@ -0,0 +1,372 @@
+* Program 6ft
+*----------------------------------------------------------------------*
+* $Id: 6ft.f,v 2.8 2003/11/28 11:53:33 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: 6-frame translation of DNA sequence into protein
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+
+ Include 'ardim.f'
+ Parameter (NOUT=6)
+
+ Character*512 RCIN
+ Character*512 CHDE
+ Character*64 CHID
+ Character*512 RCEX
+
+ Integer*2 ISEQ(IDMS)
+ Character CSEQ(IDMS)
+
+ Character CABC(0:63)
+ Character CNBC(0:15)
+
+ Character*04 CDNA
+ Integer NBSQ
+ Integer IOS
+
+ Include 'sterr.f'
+
+* options
+
+ Integer NW
+ Logical OPTS
+ Logical OPTR
+
+* Initializations
+
+ Data CABC( 0)/'K'/
+ Data CABC( 1)/'N'/
+ Data CABC( 2)/'K'/
+ Data CABC( 3)/'N'/
+ Data CABC( 4)/'T'/
+ Data CABC( 5)/'T'/
+ Data CABC( 6)/'T'/
+ Data CABC( 7)/'T'/
+ Data CABC( 8)/'R'/
+ Data CABC( 9)/'S'/
+ Data CABC(10)/'R'/
+ Data CABC(11)/'S'/
+ Data CABC(12)/'I'/
+ Data CABC(13)/'I'/
+ Data CABC(14)/'M'/
+ Data CABC(15)/'I'/
+ Data CABC(16)/'Q'/
+ Data CABC(17)/'H'/
+ Data CABC(18)/'Q'/
+ Data CABC(19)/'H'/
+ Data CABC(20)/'P'/
+ Data CABC(21)/'P'/
+ Data CABC(22)/'P'/
+ Data CABC(23)/'P'/
+ Data CABC(24)/'R'/
+ Data CABC(25)/'R'/
+ Data CABC(26)/'R'/
+ Data CABC(27)/'R'/
+ Data CABC(28)/'L'/
+ Data CABC(29)/'L'/
+ Data CABC(30)/'L'/
+ Data CABC(31)/'L'/
+ Data CABC(32)/'E'/
+ Data CABC(33)/'D'/
+ Data CABC(34)/'E'/
+ Data CABC(35)/'D'/
+ Data CABC(36)/'A'/
+ Data CABC(37)/'A'/
+ Data CABC(38)/'A'/
+ Data CABC(39)/'A'/
+ Data CABC(40)/'G'/
+ Data CABC(41)/'G'/
+ Data CABC(42)/'G'/
+ Data CABC(43)/'G'/
+ Data CABC(44)/'V'/
+ Data CABC(45)/'V'/
+ Data CABC(46)/'V'/
+ Data CABC(47)/'V'/
+ Data CABC(48)/'O'/
+ Data CABC(49)/'Y'/
+ Data CABC(50)/'O'/
+ Data CABC(51)/'Y'/
+ Data CABC(52)/'S'/
+ Data CABC(53)/'S'/
+ Data CABC(54)/'S'/
+ Data CABC(55)/'S'/
+ Data CABC(56)/'O'/
+ Data CABC(57)/'C'/
+ Data CABC(58)/'W'/
+ Data CABC(59)/'C'/
+ Data CABC(60)/'L'/
+ Data CABC(61)/'F'/
+ Data CABC(62)/'L'/
+ Data CABC(63)/'F'/
+
+ Data CNBC( 0)/'X'/
+ Data CNBC( 1)/'T'/
+ Data CNBC( 2)/'X'/
+ Data CNBC( 3)/'X'/
+ Data CNBC( 4)/'X'/
+ Data CNBC( 5)/'P'/
+ Data CNBC( 6)/'R'/
+ Data CNBC( 7)/'L'/
+ Data CNBC( 8)/'X'/
+ Data CNBC( 9)/'A'/
+ Data CNBC(10)/'G'/
+ Data CNBC(11)/'V'/
+ Data CNBC(12)/'X'/
+ Data CNBC(13)/'S'/
+ Data CNBC(14)/'X'/
+ Data CNBC(15)/'X'/
+
+ IRC=0
+ NBSQ=0
+ NW=60
+ IOS=0
+
+ CDNA='ACGT'
+
+ Call Repar(OPTS,OPTR,NW,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''6ft 2.3 revision 5.d'',//
+ * ''Usage: 6ft [-[r|s]hW] < seq-library-file '',/
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -r: translate only reverse (antisense) strand.'',/
+ * '' -s: translate only sense strand.'',/
+ * '' -h: print usage help text.'',/
+ * '' -W<value>:'',/
+ * '' specifies the output width (default: 60).'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+ 1 Read(5,'(A)',End=920,Err=900) RCIN
+ If(RCIN(1:1).NE.'>') go to 1
+
+ 2 If(RCIN(1:1).NE.'>') Go to 920
+ J1=Index(RCIN,' ')
+ CHID='>x|' // RCIN(2:J1)
+ LNID=Lblnk(CHID)
+ LNDE=512-LNID+3
+ CHDE=RCIN(J1+1:J1+LNDE)
+ RCEX=CHID(1:LNID) // ' ' // CHDE(1:LNDE)
+
+ LSEQ=0
+ 3 Read(5,'(A)',Iostat=IOS,Err=900) RCIN
+ If(RCIN(1:1).EQ.'>') go to 10
+ L1=Lblnk(RCIN)
+
+ Do 5 I1=1,L1
+ K1=Ichar(RCIN(I1:I1))
+ If(K1.GE.97) then
+ K1=K1-32
+ RCIN(I1:I1)=char(K1)
+ End if
+ If(K1.GT.90.OR.K1.LT.65) go to 5
+ LSEQ=LSEQ+1
+ If(LSEQ.GT.IDMS) Go to 901
+ ISEQ(LSEQ)=Index(CDNA,(RCIN(I1:I1)))-1
+ If(ISEQ(LSEQ).EQ.-1) ISEQ(LSEQ)=-64
+ 5 Continue
+ RCIN=' '
+ If(IOS.EQ.0) Go to 3
+
+ 10 Continue
+
+ If(LSEQ.GE.3) then
+ NBSQ=NBSQ+1
+ Else
+ Go to 902
+ End if
+
+* convert sequence into codons.
+
+ J1=LNID+1
+ J2=LNID+2
+ J3=Lblnk(RCEX)
+
+* - plus strand
+
+ If(.NOT.OPTR) then
+
+ Do 12 I1=1,LSEQ-2
+ N1=ISEQ(I1)*16+ISEQ(I1+1)*4+ISEQ(I1+2)
+ If(N1.LT.0) then
+ N1=ISEQ(I1)*4+ISEQ(I1+1)
+ If(N1.GE.0) then
+ CSEQ(I1)=CNBC(N1)
+ Else
+ CSEQ(I1)='X'
+ End if
+ Else
+ CSEQ(I1)=CABC(N1)
+ End if
+ 12 Continue
+
+ RCEX(J1:J2)='_1'
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,J3)
+ Call Prsq(CSEQ,1,LSEQ-2,NW)
+ RCEX(J1:J2)='_2'
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,J3)
+ Call Prsq(CSEQ,2,LSEQ-2,NW)
+ RCEX(J1:J2)='_3'
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,J3)
+ Call Prsq(CSEQ,3,LSEQ-2,NW)
+
+ End if
+
+* - minus strand
+
+ If(.NOT.OPTS) then
+
+ Do 13 I1=LSEQ,1,-1
+ ISEQ(I1)=3-ISEQ(I1)
+ If(ISEQ(I1).GT.4) ISEQ(I1)=-64
+ 13 Continue
+ K1=1
+ Do 14 I1=LSEQ,3,-1
+ N1=ISEQ(I1)*16+ISEQ(I1-1)*4+ISEQ(I1-2)
+ If(N1.LT.0) then
+ N1=ISEQ(I1)*4+ISEQ(I1-1)
+ If(N1.GE.0) then
+ CSEQ(K1)=CNBC(N1)
+ Else
+ CSEQ(K1)='X'
+ End if
+ Else
+ CSEQ(K1)=CABC(N1)
+ End if
+ K1=K1+1
+ 14 Continue
+
+ RCEX(J1:J2)='_4'
+ If(OPTR) RCEX(J1:J2)='_1'
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,J3)
+ Call Prsq(CSEQ,1,LSEQ-2,NW)
+ RCEX(J1:J2)='_5'
+ If(OPTR) RCEX(J1:J2)='_2'
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,J3)
+ Call Prsq(CSEQ,2,LSEQ-2,NW)
+ RCEX(J1:J2)='_6'
+ If(OPTR) RCEX(J1:J2)='_3'
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,J3)
+ Call Prsq(CSEQ,3,LSEQ-2,NW)
+
+ End if
+
+ If(IOS.EQ.0) Go to 2
+
+ 100 Call Exit(IRC)
+
+ 900 Write(NERR,*) 'Error: Unable to read sequence from standard'//
+ * ' input.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: sequence length exceeds buffer size (',
+ * IDMS,').'
+ Write(NERR,*) ' While processing sequence ',
+ * CHID(4:Lblnk(CHID))
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: sequence length too short.'
+ Write(NERR,*) ' While processing sequence ',
+ * CHID(4:Lblnk(CHID))
+ IRC=1
+ Go to 100
+ 920 If(NBSQ.EQ.0) then
+ Write(NERR,*) 'Warning: No FASTA sequence found. '
+ IRC=-1
+ End if
+ Go to 100
+ End
+
+*----------------------------------------------------------------------*
+ Subroutine Repar(OPTS,OPTR,NW,IRC)
+
+ Character*64 CARG
+
+ Integer NW
+ Logical OPTS
+ Logical OPTR
+
+ IRC=0
+
+ OPTS=.FALSE.
+ OPTR=.FALSE.
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do I1=1,N1
+ Call GetArg(I2,CARG)
+ If(CARG(1:1).EQ.'-') then
+ If (Index(CARG,'h').NE.0) then
+ go to 900
+ Else if(Index(CARG,'s').NE.0) then
+ OPTS=.TRUE.
+ Else if(Index(CARG,'r').NE.0) then
+ OPTR=.TRUE.
+ Else if(Index(CARG,'W').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NW
+ Else
+ I2=I2+1
+ If(I2.GT.N1) Go to 900
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NW
+ End if
+ End if
+ Else
+ K1=K1+1
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ End do
+
+ 20 If(K1.GT.0.OR.(OPTS.AND.OPTR)) go to 900
+ If(NW.LE.0.OR.NW.GT.512) NW=60
+
+ 100 Return
+ 900 IRC=-1
+ Go to 100
+ End
+
+*----------------------------------------------------------------------*
+ Subroutine Prsq(CSEQ,BSEQ,LSEQ,NW)
+
+ Character*512 RCOUT
+ Character CSEQ(*)
+ Integer BSEQ
+
+ If((LSEQ-BSEQ).LT.0) go to 900
+ INL=(LSEQ-BSEQ)/3+1
+ INB=INL/NW
+ INR=INL-INB*NW
+
+ ii2=BSEQ
+ Do IN2=1,INB
+ Do ii1=1,NW
+ RCOUT(ii1:ii1)=CSEQ(ii2)
+ ii2=ii2+3
+ End do
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,NW)
+ End do
+ If(INR.GT.0) then
+ Do ii1=1,INR
+ RCOUT(ii1:ii1)=CSEQ(ii2)
+ ii2=ii2+3
+ End do
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,INR)
+ End if
+
+ 100 Return
+
+ 900 Write(6,'(1A)')' '
+ Go to 100
+
+ End
+*----------------------------------------------------------------------*
+ Include 'lblnk.f'
diff --git a/CFAve.f b/CFAve.f
new file mode 100644
index 0000000..a07a685
--- /dev/null
+++ b/CFAve.f
@@ -0,0 +1,25 @@
+*----------------------------------------------------------------------*
+* $Id: CFAve.f,v 2.5 2003/04/10 11:58:37 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine CFAve(ISEQ,IDMS,BSEQ,LSEQ,CABC,NABC,FAVE)
+
+ Integer*2 ISEQ(IDMS)
+ Integer BSEQ
+ Character CABC(0:26)
+ Real FAVE(0:26)
+
+ Do I1=0,NABC
+ FAVE(I1)=0
+ End Do
+ Do I1=BSEQ,LSEQ
+ J1=ISEQ(I1)
+ FAVE(J1)=FAVE(J1)+1
+ End Do
+ Do I1=0,NABC
+ FAVE(I1)=FAVE(I1)/(LSEQ-BSEQ)
+ End Do
+
+ Return
+ End
diff --git a/CPAve.f b/CPAve.f
new file mode 100644
index 0000000..b8fbaf4
--- /dev/null
+++ b/CPAve.f
@@ -0,0 +1,22 @@
+*----------------------------------------------------------------------*
+* $Id: CPAve.f,v 2.4 2003/04/10 11:58:37 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine CPAve(IMPP,IDMP,LPRF,CABC,NABC,PAVE)
+
+ Integer IMPP(0:27,0:IDMP)
+ Character CABC(0:26)
+ Real PAVE(0:26)
+
+ Do I1=0,NABC
+ PAVE(I1)=0
+ End Do
+ Do I1=1,LPRF
+ Do I2=0,NABC
+ PAVE(I2)=PAVE(I2)+IMPP(I2,I1)
+ End do
+ End Do
+
+ Return
+ End
diff --git a/CVPBR322 b/CVPBR322
new file mode 100644
index 0000000..9914c7a
--- /dev/null
+++ b/CVPBR322
@@ -0,0 +1,483 @@
+ID CVPBR322 standard; circular DNA; SYN; 4361 BP.
+XX
+AC J01749; K00005; L08654; M10282; M10283; M10286; M10356; M10784;
+AC M10785; M10786; M33694; V01119;
+XX
+DT 16-JUN-1990 (Rel. 24, Created)
+DT 02-AUG-1995 (Rel. 44, Last updated, Version 20)
+XX
+DE Cloning vector pBR322, complete genome.
+XX
+KW ampicillin resistance; beta-lactamase; cloning vector;
+KW drug resistance protein; origin of replication; plasmid;
+KW tetracycline resistance.
+XX
+OS Cloning vector
+OC Artificial sequences; Cloning vectors.
+XX
+RN [1]
+RP 1-3, 3259-4361
+RX MEDLINE; 79012484.
+RA Sutcliffe J.G.;
+RT "Nucleotide sequence of the ampicillin resistance gene of
+RT Escherichia coli plasmid pBR322";
+RL Proc. Natl. Acad. Sci. U.S.A. 75:3737-3741(1978).
+XX
+RN [2]
+RP 1-4361
+RX MEDLINE; 80002802.
+RA Sutcliffe J.G.;
+RT "Complete nucleotide sequence of the Escherichia coli plasmid
+RT pBR322";
+RL Cold Spring Harb. Symp. Quant. Biol. 43:77-90(1979).
+XX
+RN [3]
+RP 1500-2300
+RX MEDLINE; 80056597.
+RA Reed R.R., Young R.A., Steitz J.A., Grindley N.D.F., Guyer M.;
+RT "Transposition of the Escherichia coli insertion element gamma
+RT generates a five-base-pair repeat";
+RL Proc. Natl. Acad. Sci. U.S.A. 76:4882-4886(1979).
+XX
+RN [4]
+RP 2207-2265
+RX MEDLINE; 81213464.
+RA Covarrubias L., Cervantes L., Covarrubias A., Soberon X.,
+RA Vichido I., Blanco A., Kupersztoch-Portnoy Y.M., Bolivar F.;
+RT "Construction and characterization of new cloning vehicles: V.
+RT Mobilization and coding properties of pBR322 and several deletion
+RT derivatives including pBR327 and pBR328";
+RL Gene 13:25-35(1981).
+XX
+RN [5]
+RP 2000-2500
+RX MEDLINE; 82167416.
+RA Marians K.J., Soeller W., Zipursky S.L.;
+RT "Maximal limits of the Escherichia coli replication factor Y
+RT effector site sequences in pBR322 DNA";
+RL J. Biol. Chem. 257:5656-5662(1982).
+XX
+RN [6]
+RP 1-80, 4151-4229, 4349-4361
+RX MEDLINE; 82239419.
+RA Brosius J., Cate R.L., Perlmutter A.P.;
+RT "Precise location of two promoters for the beta-lactamase gene of
+RT pBR322 : S1 mapping of ribonucleic acid isolated from Escherichia
+RT coli or synthesized in vitro";
+RL J. Biol. Chem. 257:9205-9210(1982).
+XX
+RN [7]
+RP 4241-4343
+RX MEDLINE; 83039392.
+RA Van dyke M.W., Hertzberg R.P., Dervan P.B.;
+RT "Map of distamycin, netropsin, and actinomycin binding sites on
+RT heterogeneous DNA: Dna cleavage-inhibition patterns with
+RT methidiumpropyl-EDTA.Fe(II)";
+RL Proc. Natl. Acad. Sci. U.S.A. 79:5470-5474(1982).
+XX
+RN [8]
+RP 584-709
+RX MEDLINE; 83117649.
+RA Peden K.W.C., Nathans D.;
+RT "Local mutagenesis within deletion loops of DNA heteroduplexes";
+RL Proc. Natl. Acad. Sci. U.S.A. 79:7214-7217(1982).
+XX
+RN [9]
+RP 373-649
+RX MEDLINE; 83263146.
+RA Peden K.W.C.;
+RT "Revised sequence of the tetracycline-resistance gene of pBR322";
+RL Gene 22:277-280(1983).
+XX
+RN [10]
+RP 132-181
+RX MEDLINE; 83161053.
+RA Watabe H.o., Iino T., Kaneko T., Shibata T., Ando T.;
+RT "A new class of site-specific endo-deoxyribonucleases: Endo.Sce I
+RT isolated from a eukaryote, Saccharomyces cerevisiae";
+RL J. Biol. Chem. 258:4663-4665(1983).
+XX
+RN [11]
+RP 368-581
+RX MEDLINE; 83117828.
+RA Livneh Z.;
+RT "Directed mutagenesis method for analysis of mutagen specificity:
+RT Application to ultraviolet-induced mutagenesis";
+RL Proc. Natl. Acad. Sci. U.S.A. 80:237-241(1983).
+XX
+RN [12]
+RP 2627-2682, 2781-2828
+RX MEDLINE; 84070716.
+RA Mascharak P.K., Sugiura Y., Kuwahara J., Suzuki T., Lippard S.J.;
+RT "Alteration and activation of sequence-specific cleavage of DNA by
+RT bleomycin in the presence of the antitumor drug
+RT cis-diamminedichloroplatinum(II)";
+RL Proc. Natl. Acad. Sci. U.S.A. 80:6795-6798(1983).
+XX
+RN [13]
+RP 4276-4336
+RX MEDLINE; 84070724.
+RA Schultz P.G., Dervan P.B.;
+RT "Sequence-specific double-stranded cleavage of DNA by
+RT penta-N-methylpyrrolecarboxamide-EDTA.Fe(II)";
+RL Proc. Natl. Acad. Sci. U.S.A. 80:6834-6837(1983).
+XX
+RN [14]
+RP 518-528
+RA Sutcliffe J.G.;
+RT ;
+RL Unpublished.
+XX
+RN [15]
+RP 2395-2495
+RX MEDLINE; 85024881.
+RA Fuller R.S., Funnell B.E., Kornberg A.;
+RT "The dnaA protein complex with the E. coli chromosomal replication
+RT origin (oriC) and other DNA sites";
+RL Cell 38:889-900(1984).
+XX
+RN [16]
+RP 2729-2731
+RX MEDLINE; 84207440.
+RA Lathe R., Kieny M.P., Skory S., Lecocoq J.P.;
+RT "Laboratory methods linker tailing: Unphosphorylated linker
+RT oligonucleotides for joining DNA termini";
+RL DNA 3:173-182(1984).
+XX
+RN [17]
+RC bases
+RX MEDLINE; 84260952.
+RA Heusterspreute M., Davison J.;
+RT "Restriction site bank vectors. II. DNA sequence analysis of
+RT plasmid pJRD158";
+RL DNA 3:259-268(1984).
+XX
+RN [18]
+RP 2113-2186, 2348-2415
+RX MEDLINE; 85054885.
+RA Abarzua P.I., Soeller W., Marians K.J.;
+RT "Mutational analysis of the primosome assembly sites: I. Distinct
+RT classes of mutants in the pBR322 Escherichia coli factor Y DNA
+RT effector sequences";
+RL J. Biol. Chem. 259:14286-14292(1984).
+XX
+RN [19]
+RP 2348-2415
+RX MEDLINE; 85054886.
+RA Soeller W., Abarzua P.I., Marians K.J.;
+RT "Mutational analysis of primosome assembly sites: II. Role of
+RT secondary structure in the formation of active sites";
+RL J. Biol. Chem. 259:14293-14300(1984).
+XX
+RN [20]
+RP 1-4361
+RX MEDLINE; 84300294.
+RA Van Dyke M.M., Dervan P.B.;
+RT "Echinomycin binding sites on DNA";
+RL Science 225:1122-1127(1984).
+XX
+RN [21]
+RA Pouwels P.H., Enger-Valk B.E., Brammar W.J.;
+RT "Vector I-A-iv-1";
+RL (in) Brammar W.J. (eds.);
+RL CLONING VECTORS:1-1;
+RL Elsevier Scientific Publishing, Amsterdam (1985)
+XX
+RN [22]
+RP 1-4361
+RX MEDLINE; 89108024.
+RA Watson N.;
+RT "A new revision of the sequence of plasmid pBR322";
+RL Gene 70:399-403(1988).
+XX
+RN [23]
+RA Gilbert W.;
+RT "Obtained from VecBase 3.0";
+RL Unpublished.
+XX
+CC The circular sequence is numbered such that 0 is the middle of the
+CC unique EcoRI site and the count increases first through the tet
+CC genes, the pMB1 material, and finally through the Tn3 region.
+CC Plasmid pBR322 contains ampicillin and tetracycline resistance
+CC genes. The ampicillin resistance gene (amp-r) is a penicillin
+CC beta-lactamase. Promoters P1 and P3 are for the beta-lactamase
+CC gene. P3 is the natural promoter, and P1 is artificially created by
+CC the ligation of two different DNA fragments to create pBR322. P2 is
+CC in the same region as P1, but it is on the opposite strand and
+CC initiates transcription in the direction of the tetracycline
+CC resistance gene. Mutational studies in the primosome assembly sites
+CC indicate four types of mutations: Class I having no effect on the
+CC activities elicited by the DNA site and the bases involved are
+CC probably spacers; Class II requiring higher Mg-2+ concentrations
+CC than the wild-type to be fully activated as factor Y ATPase
+CC effectors; Class III co-inactivating both the ATPase effector and
+CC DNA replication template activity of the site, indicating that they
+CC probably represent essential contact points between factor Y and
+CC the DNA; Class IV having a replication template activity
+CC intermediate that of class III and class II mutant DNAs. Specific
+CC sites within or near the origins of replication are recognized by
+CC dnaA protein. Without dnaA binding to the origin of replication
+CC chromosomal replication is not possible [15]. pBR322 DNA contains
+CC two separate regions on opposite strands and close to the origin of
+CC replication which, when in single-stranded form, can act as
+CC effectors for the ATPase activity of E.coli replication factor Y
+CC [5]. Small fragments of DNA containing these sites when cloned in
+CC an f1 phage vector act as origins of DNA replication allowing the
+CC formation of complementary double-stranded DNA in
+CC rifampicin-resistant, dna[B,G,C]-dependent fashion in vitro [5].
+CC The biological activity of echinomycin is thought to be related to
+CC the formation of complexes by intercalating with cellular DNA [20].
+CC Complete source information: Plasmid pBR322 from E.coli
+CC [2],[1],[3],[6],[11],[8],[5],[7],[12],
+CC [13],[10],[9],[14],[18],[19],[15],[20],[16]; pBR322 DNA in pXf3
+CC [4]. The following data and their annotation were supplied by Will
+CC Gilbert under the auspices of the Curator Program. CROSSREFERENCE
+CC #parent GenBank(50):pSC101C, GenBank(50):Trn3 #offspring
+CC VecBase(3):pBR325, VecBase(3):pBR327, VecBase(3): pBR328,
+CC VecBase(3):pAT153, VecBase(3):pUC7, VecBase(3): pJRD158,
+CC VecBase(3):PiVX, VecBase(3):PiAN7, VecBase(3): pSP64,
+CC VecBase(3):pSP65, VecBase(3):pGEM1, VecBase(3): pGEM2,
+CC VecBase(3):pGEM3, VecBase(3):pGEM4, VecBase(3): pKK223,
+CC VecBase(3):pLBU3, VecBase(3):pTrS3, VecBase(3): pRSVNeo,
+CC VecBase(3):pSV2Cat, VecBase(3):M13mp9, VecBase(3): pHC79,
+CC VecBase(3):pV34, VecBase(3):pKTH601, VecBase(3): pKTH604,
+CC VecBase(3):pKTH605, VecBase(3):pKTH606, VecBase(3):YEp24,
+CC VecBase(3):YIp5, VecBase(3):YRp17, VecBase(3): pSP18,
+CC VecBase(3):pSP19, VecBase(3):pSP6T3, VecBase(3):pSP6T719,
+CC VecBase(3):pT712, VecBase(3):pT713, VecBase(3):pT7T318, VecBase(3):
+CC pT7T319, VecBase(3):pT7T3A18, VecBase(3):pT7T3A19, VecBase(3):pEX1,
+CC VecBase(3):pEX2, VecBase(3):pEX3, VecBase(3): pCKSP6,
+CC VecBase(3):pACYC177, VecBase(3):pKO1, VecBase(3): pKO2,
+CC VecBase(3):pKM1, VecBase(3):pKM2, VecBase(3):pMBL1, VecBase(3):
+CC pMBL604, VecBase(3):pMC1511, VecBase(3):pMC1871, VecBase(3):pAA37X,
+CC VecBase(3):pUR278, VecBase(3):pUR288, VecBase(3): pUR289,
+CC VecBase(3):pUR290, VecBase(3):pUR291, VecBase(3): pUR292,
+CC VecBase(3):pUR222. NCBI gi: 208958
+XX
+FH Key Location/Qualifiers
+FH
+FT source 1..4361
+FT /organism="Cloning vector"
+FT /sub_species="Cloning vector pBR322"
+FT /sequenced_mol="DNA"
+FT /tissue_lib="ATCC 31344, ATCC 37017"
+FT misc_feature 1..1643
+FT /note="from pSC101 (bp 1-1643)"
+FT misc_binding 24..27
+FT /bound_moiety="echinomycin"
+FT promoter complement(27..33)
+FT /note="promoter P1 [6]"
+FT misc_binding 39..42
+FT /bound_moiety="echinomycin"
+FT promoter 43..49
+FT /note="promoter P2 [6]"
+FT misc_binding 53..56
+FT /bound_moiety="echinomycin"
+FT misc_binding 67..70
+FT /bound_moiety="echinomycin"
+FT misc_binding 80..83
+FT /bound_moiety="echinomycin"
+FT CDS 86..1276
+FT /gene="tet"
+FT /note="NCBI gi: 208959"
+FT /codon_start=1
+FT /product="tetracycline resistance protein"
+FT /db_xref="PID:g208959"
+FT /translation="MKSNNALIVILGTVTLDAVGIGLVMPVLPGLLRDIVHSDSIASHY
+FT GVLLALYALMQFLCAPVLGALSDRFGRRPVLLASLLGATIDYAIMATTPVLWILYAGRI
+FT VAGITGATGAVAGAYIADITDGEDRARHFGLMSACFGVGMVAGPVAGGLLGAISLHAPF
+FT LAAAVLNGLNLLLGCFLMQESHKGERRPMPLRAFNPVSSFRWARGMTIVAALMTVFFIM
+FT QLVGQVPAALWVIFGEDRFRWSATMIGLSLAVFGILHALAQAFVTGPATKRFGEKQAII
+FT AGMAADALGYVLLAFATRGWMAFPIMILLASGGIGMPALQAMLSRQVDDDHQGQLQGSL
+FT AALTSLTSITGPLIVTAIYAASASTWNGLAWIVGAALYLVCLPALRRGAWSRATST"
+FT misc_feature complement(141..142)
+FT /note="Endo.Sce I cleavage site coordinated with site at
+FT base 146 [10]"
+FT misc_feature 146..147
+FT /note="Endo.Sce I cleavage site coordinated with site at
+FT base 142 [10]"
+FT misc_binding 411..414
+FT /bound_moiety="echinomycin"
+FT conflict replace(426,"")
+FT /citation=[11]
+FT misc_binding 469..472
+FT /bound_moiety="echinomycin"
+FT old_sequence 526..528
+FT /citation=[17]
+FT repeat_unit complement(1515..1519)
+FT /note="gamma-delta insertion target sequence"
+FT /rpt_type=DIRECT
+FT misc_feature 1636..1762
+FT /note="from pSC101 (bp 1860-1986)"
+FT misc_feature 1763..3147
+FT /note="from pMB1"
+FT repeat_unit complement(1788..1792)
+FT /note="gamma-delta insertion target sequence"
+FT /rpt_type=DIRECT
+FT conflict replace(1891..1892,"att")
+FT /citation=[23]
+FT old_sequence 1892..1893
+FT /citation=[2]
+FT /citation=[22]
+FT RBS 1905..1910
+FT RBS 1905..1909
+FT /note="Shine-Dalgarno sequence"
+FT conflict replace(1913..1914,"caa")
+FT /citation=[23]
+FT old_sequence 1914..1915
+FT /citation=[17]
+FT CDS 1915..2106
+FT /note="NCBI gi: 456436"
+FT /codon_start=1
+FT /product="ROP protein"
+FT /db_xref="PID:g456436"
+FT /translation="VTKQEKTALNMARFIRSQTLTLLEKLNELDADEQADICESLHDHA
+FT DELYRSCLARFGDDGENL"
+FT CDS 1915..2106
+FT /note="NCBI gi: 506846"
+FT /codon_start=1
+FT /product="ROP protein"
+FT /db_xref="PID:g506846"
+FT /translation="VTKQEKTALNMARFIRSQTLTLLEKLNELDADEQADICESLHDHA
+FT DELYRSCLARFGDDGENL"
+FT misc_feature 2011..2167
+FT /note="H-strand Y effector site [5]"
+FT repeat_unit complement(2245..2249)
+FT /note="gamma-delta insertion target sequence"
+FT /rpt_type=DIRECT
+FT misc_feature complement(2351..2414)
+FT /note="L-strand Y effector site [5]"
+FT misc_binding 2439..2447
+FT /bound_moiety="dnaA"
+FT rep_origin 2535
+FT old_sequence replace(2729..2730,"at")
+FT /note="revision according to [17]"
+FT /citation=[17]
+FT /citation=[2]
+FT old_sequence 2729
+FT /citation=[17]
+FT old_sequence replace(2730,"t")
+FT /note="revision according to [16]"
+FT /citation=[2]
+FT /citation=[16]
+FT old_sequence 2730
+FT /citation=[17]
+FT misc_feature 3148..4361
+FT /note="from Tn3 (bp 4957-3742)"
+FT repeat_region 3148..3185
+FT /note="corresponds to one of the 38bp repeats found in Tn3
+FT (bp 1-38 and complement (4920-4957))"
+FT /rpt_type=INVERTED
+FT CDS complement(3293..4153)
+FT /gene="bla"
+FT /note="E-286; NCBI gi: 455370"
+FT /codon_start=1
+FT /product="beta-lactamase"
+FT /db_xref="PID:g455370"
+FT /translation="MSIQHFRVALIPFFAAFCLPVFAHPETLVKVKDAEDQLGARVGYI
+FT ELDLNSGKILESFRPEERFPMMSTFKVLLCGAVLSRVDAGQEQLGRRIHYSQNDLVEYS
+FT PVTEKHLTDGMTVRELCSAAITMSDNTAANLLLTTIGGPKELTAFLHNMGDHVTRLDRW
+FT EPELNEAIPNDERDTTMPAAMATTLRKLLTGELLTLASRQQLIDWMEADKVAGPLLRSA
+FT LPAGWFIADKSGAGERGSRGIIAALGPDGKPSRIVVIYTTGSQATMDERNRQIAEIGAS
+FT LIKHW"
+FT mat_peptide complement(3296..4084)
+FT /gene="bla"
+FT /codon_start=1
+FT /product="beta-lactamase"
+FT sig_peptide complement(4085..4153)
+FT /gene="bla"
+FT /codon_start=1
+FT RBS complement(4161..4165)
+FT /note="Shine-Dalgarno sequence"
+FT promoter complement(4188..4194)
+FT /note="promoter P3 [6]"
+FT misc_binding complement(4268..4271)
+FT /bound_moiety="echinomycin"
+FT misc_binding complement(4280..4283)
+FT /bound_moiety="echinomycin"
+FT misc_binding complement(4285..4288)
+FT /bound_moiety="echinomycin"
+FT misc_binding complement(4296..4299)
+FT /bound_moiety="echinomycin"
+FT misc_binding complement(4311..4314)
+FT /bound_moiety="echinomycin"
+FT misc_binding complement(4317..4320)
+FT /bound_moiety="echinomycin"
+FT misc_binding complement(4331..4334)
+FT /bound_moiety="echinomycin"
+XX
+SQ Sequence 4361 BP; 983 A; 1210 C; 1134 G; 1034 T; 0 other;
+ ttctcatgtt tgacagctta tcatcgataa gctttaatgc ggtagtttat cacagttaaa 60
+ ttgctaacgc agtcaggcac cgtgtatgaa atctaacaat gcgctcatcg tcatcctcgg 120
+ caccgtcacc ctggatgctg taggcatagg cttggttatg ccggtactgc cgggcctctt 180
+ gcgggatatc gtccattccg acagcatcgc cagtcactat ggcgtgctgc tagcgctata 240
+ tgcgttgatg caatttctat gcgcacccgt tctcggagca ctgtccgacc gctttggccg 300
+ ccgcccagtc ctgctcgctt cgctacttgg agccactatc gactacgcga tcatggcgac 360
+ cacacccgtc ctgtggatcc tctacgccgg acgcatcgtg gccggcatca ccggcgccac 420
+ aggtgcggtt gctggcgcct atatcgccga catcaccgat ggggaagatc gggctcgcca 480
+ cttcgggctc atgagcgctt gtttcggcgt gggtatggtg gcaggccccg tggccggggg 540
+ actgttgggc gccatctcct tgcatgcacc attccttgcg gcggcggtgc tcaacggcct 600
+ caacctacta ctgggctgct tcctaatgca ggagtcgcat aagggagagc gtcgaccgat 660
+ gcccttgaga gccttcaacc cagtcagctc cttccggtgg gcgcggggca tgactatcgt 720
+ cgccgcactt atgactgtct tctttatcat gcaactcgta ggacaggtgc cggcagcgct 780
+ ctgggtcatt ttcggcgagg accgctttcg ctggagcgcg acgatgatcg gcctgtcgct 840
+ tgcggtattc ggaatcttgc acgccctcgc tcaagccttc gtcactggtc ccgccaccaa 900
+ acgtttcggc gagaagcagg ccattatcgc cggcatggcg gccgacgcgc tgggctacgt 960
+ cttgctggcg ttcgcgacgc gaggctggat ggccttcccc attatgattc ttctcgcttc 1020
+ cggcggcatc gggatgcccg cgttgcaggc catgctgtcc aggcaggtag atgacgacca 1080
+ tcagggacag cttcaaggat cgctcgcggc tcttaccagc ctaacttcga tcactggacc 1140
+ gctgatcgtc acggcgattt atgccgcctc ggcgagcaca tggaacgggt tggcatggat 1200
+ tgtaggcgcc gccctatacc ttgtctgcct ccccgcgttg cgtcgcggtg catggagccg 1260
+ ggccacctcg acctgaatgg aagccggcgg cacctcgcta acggattcac cactccaaga 1320
+ attggagcca atcaattctt gcggagaact gtgaatgcgc aaaccaaccc ttggcagaac 1380
+ atatccatcg cgtccgccat ctccagcagc cgcacgcggc gcatctcggg cagcgttggg 1440
+ tcctggccac gggtgcgcat gatcgtgctc ctgtcgttga ggacccggct aggctggcgg 1500
+ ggttgcctta ctggttagca gaatgaatca ccgatacgcg agcgaacgtg aagcgactgc 1560
+ tgctgcaaaa cgtctgcgac ctgagcaaca acatgaatgg tcttcggttt ccgtgtttcg 1620
+ taaagtctgg aaacgcggaa gtcagcgccc tgcaccatta tgttccggat ctgcatcgca 1680
+ ggatgctgct ggctaccctg tggaacacct acatctgtat taacgaagcg ctggcattga 1740
+ ccctgagtga tttttctctg gtcccgccgc atccataccg ccagttgttt accctcacaa 1800
+ cgttccagta accgggcatg ttcatcatca gtaacccgta tcgtgagcat cctctctcgt 1860
+ ttcatcggta tcattacccc catgaacaga aatccccctt acacggaggc atcagtgacc 1920
+ aaacaggaaa aaaccgccct taacatggcc cgctttatca gaagccagac attaacgctt 1980
+ ctggagaaac tcaacgagct ggacgcggat gaacaggcag acatctgtga atcgcttcac 2040
+ gaccacgctg atgagcttta ccgcagctgc ctcgcgcgtt tcggtgatga cggtgaaaac 2100
+ ctctgacaca tgcagctccc ggagacggtc acagcttgtc tgtaagcgga tgccgggagc 2160
+ agacaagccc gtcagggcgc gtcagcgggt gttggcgggt gtcggggcgc agccatgacc 2220
+ cagtcacgta gcgatagcgg agtgtatact ggcttaacta tgcggcatca gagcagattg 2280
+ tactgagagt gcaccatatg cggtgtgaaa taccgcacag atgcgtaagg agaaaatacc 2340
+ gcatcaggcg ctcttccgct tcctcgctca ctgactcgct gcgctcggtc gttcggctgc 2400
+ ggcgagcggt atcagctcac tcaaaggcgg taatacggtt atccacagaa tcaggggata 2460
+ acgcaggaaa gaacatgtga gcaaaaggcc agcaaaaggc caggaaccgt aaaaaggccg 2520
+ cgttgctggc gtttttccat aggctccgcc cccctgacga gcatcacaaa aatcgacgct 2580
+ caagtcagag gtggcgaaac ccgacaggac tataaagata ccaggcgttt ccccctggaa 2640
+ gctccctcgt gcgctctcct gttccgaccc tgccgcttac cggatacctg tccgcctttc 2700
+ tcccttcggg aagcgtggcg ctttctcata gctcacgctg taggtatctc agttcggtgt 2760
+ aggtcgttcg ctccaagctg ggctgtgtgc acgaaccccc cgttcagccc gaccgctgcg 2820
+ ccttatccgg taactatcgt cttgagtcca acccggtaag acacgactta tcgccactgg 2880
+ cagcagccac tggtaacagg attagcagag cgaggtatgt aggcggtgct acagagttct 2940
+ tgaagtggtg gcctaactac ggctacacta gaaggacagt atttggtatc tgcgctctgc 3000
+ tgaagccagt taccttcgga aaaagagttg gtagctcttg atccggcaaa caaaccaccg 3060
+ ctggtagcgg tggttttttt gtttgcaagc agcagattac gcgcagaaaa aaaggatctc 3120
+ aagaagatcc tttgatcttt tctacggggt ctgacgctca gtggaacgaa aactcacgtt 3180
+ aagggatttt ggtcatgaga ttatcaaaaa ggatcttcac ctagatcctt ttaaattaaa 3240
+ aatgaagttt taaatcaatc taaagtatat atgagtaaac ttggtctgac agttaccaat 3300
+ gcttaatcag tgaggcacct atctcagcga tctgtctatt tcgttcatcc atagttgcct 3360
+ gactccccgt cgtgtagata actacgatac gggagggctt accatctggc cccagtgctg 3420
+ caatgatacc gcgagaccca cgctcaccgg ctccagattt atcagcaata aaccagccag 3480
+ ccggaagggc cgagcgcaga agtggtcctg caactttatc cgcctccatc cagtctatta 3540
+ attgttgccg ggaagctaga gtaagtagtt cgccagttaa tagtttgcgc aacgttgttg 3600
+ ccattgctgc aggcatcgtg gtgtcacgct cgtcgtttgg tatggcttca ttcagctccg 3660
+ gttcccaacg atcaaggcga gttacatgat cccccatgtt gtgcaaaaaa gcggttagct 3720
+ ccttcggtcc tccgatcgtt gtcagaagta agttggccgc agtgttatca ctcatggtta 3780
+ tggcagcact gcataattct cttactgtca tgccatccgt aagatgcttt tctgtgactg 3840
+ gtgagtactc aaccaagtca ttctgagaat agtgtatgcg gcgaccgagt tgctcttgcc 3900
+ cggcgtcaac acgggataat accgcgccac atagcagaac tttaaaagtg ctcatcattg 3960
+ gaaaacgttc ttcggggcga aaactctcaa ggatcttacc gctgttgaga tccagttcga 4020
+ tgtaacccac tcgtgcaccc aactgatctt cagcatcttt tactttcacc agcgtttctg 4080
+ ggtgagcaaa aacaggaagg caaaatgccg caaaaaaggg aataagggcg acacggaaat 4140
+ gttgaatact catactcttc ctttttcaat attattgaag catttatcag ggttattgtc 4200
+ tcatgagcgg atacatattt gaatgtattt agaaaaataa acaaataggg gttccgcgca 4260
+ catttccccg aaaagtgcca cctgacgtct aagaaaccat tattatcatg acattaacct 4320
+ ataaaaatag gcgtatcacg aggccctttc gtcttcaaga a 4361
+//
diff --git a/GTPA_HUMAN b/GTPA_HUMAN
new file mode 100644
index 0000000..24cf3d6
--- /dev/null
+++ b/GTPA_HUMAN
@@ -0,0 +1,84 @@
+ID GTPA_HUMAN STANDARD; PRT; 1047 AA.
+AC P20936;
+DT 01-FEB-1991 (REL. 17, CREATED)
+DT 01-FEB-1991 (REL. 17, LAST SEQUENCE UPDATE)
+DT 01-NOV-1995 (REL. 32, LAST ANNOTATION UPDATE)
+DE GTPASE-ACTIVATING PROTEIN (GAP) (RAS P21 PROTEIN ACTIVATOR).
+GN RASA.
+OS HOMO SAPIENS (HUMAN).
+OC EUKARYOTA; METAZOA; CHORDATA; VERTEBRATA; TETRAPODA; MAMMALIA;
+OC EUTHERIA; PRIMATES.
+RN [1]
+RP SEQUENCE FROM N.A.
+RC TISSUE=PLACENTA;
+RX MEDLINE; 89072759.
+RA TRAHEY M., WONG G., HALENBECK R., RUBINFELD B., MARTIN G.A.,
+RA LADNER M., LONG C.M., CROSIER W.J., WATT K., KOTHS K.,
+RA MCCORMICK F.;
+RL SCIENCE 242:1697-1700(1988).
+RN [2]
+RP STRUCTURE BY NMR OF 275-350.
+RX MEDLINE; 94185632.
+RA YANG Y.S., GARBAY C., DUSCHESNE M., CORNILLE F., JULLIAN N.,
+RA FROMAGE N., TOCQUE B., ROQUES B.P.;
+RL EMBO J. 13:1270-1279(1994).
+RN [3]
+RP VARIANTS LEU-398; GLY-400 AND VAL-401.
+RA FRIEDMAN E., GEJMAN P.V., MARTIN G.A., MCCORMICK F.;
+RL NAT. GENET. 5:242-247(1993).
+CC -!- FUNCTION: GAP STIMULATES THE GTPASE OF NORMAL BUT NOT ONCOGENIC
+CC RAS P21.
+CC -!- SUBCELLULAR LOCATION: CYTOPLASMIC.
+CC -!- ALTERNATIVE PRODUCTS: THE TWO FORMS OF GAP ARE PROBABLY PRODUCED
+CC BY ALTERNATIVE SPLICING OF THE SAME GENE.
+CC -!- SIMILARITY: TO OTHER RAS GTPASE-ACTIVATING PROTEINS.
+CC -!- SIMILARITY: CONTAINS TWO COPIES OF THE SH2 DOMAIN AND ONE COPY OF
+CC THE SH3 DOMAIN.
+CC -!- SIMILARITY: CONTAINS A COPY OF THE C2 DOMAIN.
+CC -!- SIMILARITY: CONTAINS A PH DOMAIN.
+CC -!- DISEASE: MUTATIONS IN THE SH2 DOMAIN OF RASA SEEM TO BE ONCOGENIC
+CC AND CAUSE BASAL CELL CARCINOMAS.
+DR EMBL; M23379; M23379.
+DR EMBL; M23612; M23612.
+DR PIR; A40121; A40121.
+DR HSSP; P00519; 1AYB.
+DR MIM; 139150; 11TH EDITION.
+DR PROSITE; PS00509; RAS_GTPASE_ACTIV_1.
+DR PROSITE; PS50001; SH2.
+DR PROSITE; PS50002; SH3.
+DR PROSITE; PS50003; PH_DOMAIN.
+DR PROSITE; PS50004; C2_DOMAIN_2.
+DR PROSITE; PS50018; RAS_GTPASE_ACTIV_2.
+KW GTPASE ACTIVATION; ALTERNATIVE SPLICING; SH2 DOMAIN; SH3 DOMAIN;
+KW PROTO-ONCOGENE; DISEASE MUTATION.
+FT VARSPLIC 1 176 MISSING (IN SHORT FORM).
+FT VARSPLIC 177 180 TNK -> MKG (IN SHORT FORM).
+FT DOMAIN 181 272 SH2.
+FT DOMAIN 279 341 SH3.
+FT DOMAIN 351 441 SH2.
+FT DOMAIN 474 577 PH.
+FT DOMAIN 594 676 C2 DOMAIN.
+FT DOMAIN 748 942 RAS-GAP.
+FT VARIANT 398 398 R -> L (IN BASAL CELL CARCINOMAS).
+FT VARIANT 400 400 K -> G (IN BASAL CELL CARCINOMAS).
+FT VARIANT 401 401 I -> V (IN BASAL CELL CARCINOMAS).
+SQ SEQUENCE 1047 AA; 116403 MW; 5700778 CN;
+ MMAAEAGSEE GGPVTAGAGG GGAAAGSSAY PAVCRVKIPA ALPVAAAPYP GLVETGVAGT
+ LGGGAALGSE FLGAGSVAGA LGGAGLTGGG TAAGVAGAAA GVAGAAVAGP SGDMALTKLP
+ TSLLAETLGP GGGFPPLPPP PYLPPLGAGL GTVDEGDSLD GPEYEEEEVA IPLTAPPTNQ
+ WYHGKLDRTI AEERLRQAGK SGSYLIRESD RRPGSFVLSF LSQMNVVNHF RIIAMCGDYY
+ IGGRRFSSLS DLIGYYSHVS CLLKGEKLLY PVAPPEPVED RRRVRAILPY TKVPDTDEIS
+ FLKGDMFIVH NELEDGWMWV TNLRTDEQGL IVEDLVEEVG REEDPHEGKI WFHGKISKQE
+ AYNLLMTVGQ VCSFLVRPSD NTPGDYSLYF RTNENIQRFK ICPTPNNQFM MGGRYYNSIG
+ DIIDHYRKEQ IVEGYYLKEP VPMQDQEQVL NDTVDGKEIY NTIRRKTKDA FYKNIVKKGY
+ LLKKGKGKRW KNLYFILEGS DAQLIYFESE KRATKPKGLI DLSVCSVYVV HDSLFGRPNC
+ FQIVVQHFSE EHYIFYFAGE TPEQAEDWMK GLQAFCNLRK SSPGTSNKRL RQVSSLVLHI
+ EEAHKLPVKH FTNPYCNIYL NSVQVAKTHA REGQNPVWSE EFVFDDLPPD INRFEITLSN
+ KTKKSKDPDI LFMRCQLSRL QKGHATDEWF LLSSHIPLKG IEPGSLRVRA RYSMEKIMPE
+ EEYSEFKELI LQKELHVVYA LSHVCGQDRT LLASILLRIF LHEKLESLLL CTLNDREISM
+ EDEATTLFRA TTLASTLMEQ YMKATATQFV HHALKDSILK IMESKQSCEL SPSKLEKNED
+ VNTNLTHLLN ILSELVEKIF MASEILPPTL RYIYGCLQKS VQHKWPTNTT MRTRVVSGFV
+ FLRLICPAIL NPRMFNIISD SPSPIAARTL ILVAKSVQNL ANLVEFGAKE PYMEGVNPFI
+ KSNKHRMIMF LDELGNVPEL PDTTEHSRTD LSRDLAALHE ICVAHSDELR TLSNERGAQQ
+ HVLKKLLAIT ELLQQKQNQY TKTNDVR
+//
diff --git a/MYSA_HUMAN b/MYSA_HUMAN
new file mode 100644
index 0000000..f9de4fd
--- /dev/null
+++ b/MYSA_HUMAN
@@ -0,0 +1,99 @@
+ID MYSA_HUMAN STANDARD; PRT; 1939 AA.
+AC P13533;
+DT 01-JAN-1990 (REL. 13, CREATED)
+DT 01-JUN-1994 (REL. 29, LAST SEQUENCE UPDATE)
+DT 01-JUN-1994 (REL. 29, LAST ANNOTATION UPDATE)
+DE MYOSIN HEAVY CHAIN, CARDIAC MUSCLE ALPHA ISOFORM.
+GN MYH6 OR MYHCA.
+OS HOMO SAPIENS (HUMAN).
+OC EUKARYOTA; METAZOA; CHORDATA; VERTEBRATA; TETRAPODA; MAMMALIA;
+OC EUTHERIA; PRIMATES.
+RN [1]
+RP SEQUENCE FROM N.A.
+RX MEDLINE; 92133665.
+RA MATSUOKA R., BEISEL K.W., FURUTANI M., ARAI S., TAKAO A.;
+RL AM. J. MED. GENET. 41:537-547(1991).
+RN [2]
+RP SEQUENCE OF 1407-1939 FROM N.A.
+RX MEDLINE; 88299163.
+RA KURABAYASHI M., TSUCHIMOCHI H., KOMURO I., TAKAKU F., YAZAKI Y.;
+RL J. CLIN. INVEST. 82:524-531(1988).
+CC -!- FUNCTION: MUSCLE CONTRACTION.
+CC -!- SUBUNIT: MUSCLE MYOSIN IS A HEXAMERIC PROTEIN THAT CONSISTS OF 2
+CC HEAVY CHAIN SUBUNITS (MHC), 2 ALKALI LIGHT CHAIN SUBUNITS (MLC)
+CC AND 2 REGULATORY LIGHT CHAIN SUBUNITS (MLC-2).
+CC -!- SUBCELLULAR LOCATION: THICK FILAMENTS OF THE MYOFIBRILS.
+CC -!- DOMAIN: THE RODLIKE TAIL SEQUENCE IS HIGHLY REPETITIVE, SHOWING
+CC CYCLES OF A 28-RESIDUE REPEAT PATTERN COMPOSED OF 4 HEPTAPEPTIDES,
+CC CHARACTERISTIC FOR ALPHA-HELICAL COILED COILS.
+CC -!- PTM: TWO CYSTEINE RESIDUES IN THE S1 DOMAIN ARE SELECTIVELY
+CC ALKYLATED AND ARE REQUIRED FOR MYOSIN ATPASE ACTIVITY.
+CC -!- EACH MYOSIN HEAVY CHAIN CAN BE SPLIT INTO 1 LIGHT MEROMYOSIN (LMM)
+CC AND 1 HEAVY MEROMYOSIN (HMM). IT CAN LATTER BE SPLIT FURTHER INTO
+CC 2 GLOBULAR SUBFRAGMENTS (S1) AND 1 ROD-SHAPED SUBFRAGMENT (S2).
+CC -!- THE CARDIAC ALPHA ISOFORM IS A 'FAST' ATPASE MYOSIN, WHILE THE
+CC BETA ISOFORM IS A 'SLOW' ATPASE.
+CC -!- SIMILARITY: THE PERIODICITIES OF HYDROPHOBIC AND CHARGED RESIDUES,
+CC WHICH DICTATE THE ALPHA-HELICAL COILED-COIL STRUCTURE ARE
+CC CONSERVED.
+DR EMBL; D00943; G219524; -.
+DR EMBL; M21664; G386972; -.
+DR PIR; A46762; A46762.
+DR PIR; A28908; A28908.
+DR HSSP; P24733; 1SCM.
+DR MIM; 160710; -.
+KW MYOSIN; MUSCLE PROTEIN; COILED COIL; THICK FILAMENT; ACTIN-BINDING;
+KW ATP-BINDING; METHYLATION; ALKYLATION; HEPTAD REPEAT PATTERN;
+KW MULTIGENE FAMILY.
+FT DOMAIN 1 840 GLOBULAR HEAD (S1).
+FT DOMAIN 841 1939 RODLIKE TAIL (S2 AND LMM DOMAINS).
+FT NP_BIND 178 185 ATP.
+FT DOMAIN 657 679 ACTIN-BINDING.
+FT DOMAIN 759 773 ACTIN-BINDING.
+FT MOD_RES 129 129 METHYLATION (TRI-) (POTENTIAL).
+FT MOD_RES 697 697 ALKYLATION (SH-1) (POTENTIAL).
+FT MOD_RES 707 707 ALKYLATION (SH-2) (POTENTIAL).
+FT CONFLICT 1533 1533 K -> N (IN REF. 2).
+FT CONFLICT 1540 1540 L -> M (IN REF. 2).
+FT CONFLICT 1577 1578 KL -> NV (IN REF. 2).
+FT CONFLICT 1705 1706 DR -> EQ (IN REF. 2).
+FT CONFLICT 1763 1763 H -> D (IN REF. 2).
+FT CONFLICT 1871 1871 D -> N (IN REF. 2).
+FT CONFLICT 1882 1882 R -> G (IN REF. 2).
+FT CONFLICT 1890 1890 Q -> R (IN REF. 2).
+FT CONFLICT 1933 1933 MISSING (IN REF. 2).
+SQ SEQUENCE 1939 AA; 223552 MW; 40812E5A CRC32;
+ MTDAQMADFG AAAQYLRKSE KERLEAQTRP FDIRTECFVP DDKEEFVKAK ILSREGGKVI
+ AETENGKTVT VKEDQVLQQN PPKFDKIEDM AMLTFLHEPA VLFNLKERYA AWMIYTYSGL
+ FCVTVNPYKW LPVYNAEVVA AYRGKKRSEA PPHIFSISDN AYQYMLTDRE NQSILITGES
+ GAGKTVNTKR VIQYFASIAA IGDRGKKDNA NANKGTLEDQ IIQANPALEA FGNAKTVRND
+ NSSRFGKFIR IHFGATGKLA SADIETYLLE KSRVIFQLKA ERNYHIFYQI LSNKKPELLD
+ MLLVTNNPYD YAFVSQGEVS VASIDDSEEL MATDSAFDVL GFTSEEKAGV YKLTGAIMHY
+ GNMKFKQKQR EEQAEPDGTE DADKSAYLMG LNSADLLKGL CHPRVKVGNE YVTKGQSVQQ
+ VYYSIGALAK AVYEKMFNWM VTRINATLET KQPRQYFIGV LDIAGFEIFD FNSFEQLCIN
+ FTNEKLQQFF NHHMFVLEQE EYKKEGIEWT FIDFGMDLQA CIDLIEKPMG IMSILEEECM
+ FPKATDMTFK AKLYDNHLGK SNNFQKPRNI KGKPEAHFSL IHYAGTVDYN ILGWLEKNKD
+ PLNETVVGLY QKSSLKLMAT LFSSYATADT GDSGKSKGGK KKGSSFQTVS ALHRENLNKL
+ MTNLRTTHPH FVRCIIPNER KAPGVMDNPL VMHQLRCNGV LEGIRICRKG FPNRILYGDF
+ RQRYRILNPV AIPEGQFIDS RKGAEKLLSS LDIDHNQYKF GHTKVFFKAG LLGLLEEMRD
+ ERLSRIITRI QAQARGQLMR IEFKKIVERR DALLVIQWNI RAFMGVKNWP WMKLYFKIKP
+ LLKSAETEKE MATMKEEFGR IKETLEKSEA RRKELEEKMV SLLQEKNDLQ LQVQAEQDNL
+ NDAEERCDQL IKNKIQLEAK VKEMNERLED EEEMNAELTA KKRKLEDECS ELKKDIDDLE
+ LTLAKVEKEK HATENKVKNL TEEMAGLDEI IAKLTKEKKA LQEAHQQALD DLQAEEDKVN
+ TLSKSKVKLE QQVDDLEGSL EQEKKVRMDL ERAKRKLEGD LKLTQESIMD LENDKLQLEE
+ KLKKKEFDIN QQNSKIEDEQ VLALQLQKKL KENQARIEEL EEELEAERTA RAKVEKLRSD
+ LSRELEEISE RLEEAGGATS VQIEMNKKRE AEFQKMRRDL EEATLQHEAT AAALRKKHAD
+ SVAELGEQID NLQRVKQKLE KEKSEFKLEL DDVTSNMEQI IKAKANLEKV SRTLEDQANE
+ YRVKLEEAQR SLNDFTTQRA KLQTENGELS RQLEEKEALI SQLTRGKLSY TQQMEDLKRQ
+ LEEEGKAKNA LAHALQSARH DCDLLREQYE EETEAKAELQ RVLSKANSEV AQCRTKYETD
+ AIQRTEELEE AKKKLAQRLQ DAEEAVEAVN AKCSSLEKTK HRLQNEIEDL MVDVERSNAA
+ AAALDKKQRN FDKILAEWKQ KYEESQSELE SSQKEARSLS TELFKLKNAY EESLEHLETF
+ KRENKNLQEE ISDLTEQLGE GGKNVHELEK VRKQLEVEKL ELQSALEEAE ASLEHEEGKI
+ LRAQLEFNQI KAEIERKLAE KDEEMEQAKR NHQRVVDSLQ TSLDAETRSR NEVLRVKKKM
+ EGDLNEMEIQ LSHANRMAAE AQKQVKSLQS LLKDTQIQLD DAVRANDDLK ENIAIVERRN
+ NLLQAELEEL RAVVEQTERS RKLADRELIE TSERVQLLHS QNTSLINQKK KMDADLSQLQ
+ SEVEEAVQEC RNAEEKAKKA ITHAAMMAEE LKKEQDTSAH LERMKKNMEQ TIKDLQHRLD
+ EAEQIALKGG KKQLQKLEAR VRELEGELEA EQKRNAESVK GMRKSERRIK ELTYQTEEDK
+ KNLLRLQDLV DKLQLKVKAY KRQAEEAEEQ ANTNLSKFRK VQHELDEAEE RADIAESQVN
+ KLRAKSRDIG AKQKMHDEE
+//
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..45b8b2b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,112 @@
+# M A K E F I L E F O R P F T O O L S R E L E A S E 2.3
+#----------------------------------------------------------------------#
+# $Id: Makefile,v 2.16 2003/11/28 11:54:37 vflegel Exp $
+#----------------------------------------------------------------------#
+
+PROGS = gtop pfmake pfscan pfw ptoh htop \
+ pfscale pfsearch psa2msa 2ft 6ft ptof
+MANS = gtop.1 pfmake.1 pfscan.1 pfw.1 ptoh.1 htop.1 pfscale.1 \
+ pfsearch.1 psa2msa.1 2ft.1 6ft.1 ptof.1 psa.5 xpsa.5
+
+F77 = gfortran
+CC = gcc
+#FFLAGS= -O2 -init-local-zero -fno-automatic io.o
+#FFLAGS= -O2 -finit-local-zero -fno-automatic io.o
+FFLAGS= -O2 -fno-automatic io.o
+#PRFLAG= -g -pg
+
+
+# For MAC OX X SnowLeopard we need to specify the 32bit architecture for gcc
+#CFLAGS= -m32
+# otherwise keep it empty
+CFLAGS=
+
+
+#----------------------------------------------------------------------#
+# Location of package installation directory
+#
+PKGDIR = /usr/share/pftools23
+#----------------------------------------------------------------------#
+#
+# Compilation with native fortran compilers (f77)
+#
+#F77 = f77
+#CC = cc
+#
+# sunos / solaris
+#FFLAGS= -cg89 -O4
+#
+# HP-UX
+#FFLAGS= +O4 +E4 +E6 +U77 -K
+#
+# IRIX
+#FFLAGS= -O2 -static
+#
+# AIX 3.2.5
+#FFLAGS= -qcharlen=1024 -O3
+#
+# Tru64 UNIX V5.1A
+#FFLAGS= -noautomatic -fast -g0
+#----------------------------------------------------------------------#
+
+all : io.o $(PROGS)
+
+install: $(PROGS)
+ ./install_pftools.sh $(PKGDIR)
+
+clean:
+ rm $(PROGS) io.o
+
+io.o : io.c
+ $(CC) -c io.c -o io.o $(CFLAGS) $(PRFLAG)
+
+gtop : gtop.f io.o psdat.f gsdat.f djdat.f nodat.f codat.f pfdat.f dfdat.f \
+ sterr.f cvini.f lblnk.f regpr.f wrprf.f sterr.f ardim.f
+ $(F77) $(FFLAGS) gtop.f -o gtop $(PRFLAG)
+
+htop : htop.f codat.f cvini.f dfdat.f djdat.f gsdat.f lblnk.f nodat.f \
+ pfdat.f pfind.f psdat.f rhmmer.f rhmmer2.f rhnul.f sterr.f wrprf.f recmd.f ardim.f
+ $(F77) $(FFLAGS) htop.f -o htop $(PRFLAG)
+
+pfsearch : pfsearch.f gsdat.f djdat.f nodat.f codat.f pfdat.f dfdat.f pxdat.f \
+ avdat.f sterr.f cvini.f reprf.f reseq.f rfseq.f xali1.f xalip.f \
+ RtoN.f NtoR.f CFAve.f CPAve.f wprsm.f xprsm.f xalit.f lblnk.f prali.f sterr.f \
+ pmali.f ardim.f prsp.f prxp.f Xblnk.f jprsm.f
+ $(F77) $(FFLAGS) pfsearch.f -o pfsearch $(PRFLAG)
+
+pfscan : pfscan.f psdat.f gsdat.f djdat.f nodat.f codat.f pfdat.f dfdat.f \
+ pxdat.f avdat.f sterr.f cvini.f abini.f reprf.f reseq.f rfseq.f \
+ xali1.f xalip.f RtoN.f NtoR.f CFAve.f CPAve.f wprsm.f xprsm.f xalit.f lblnk.f \
+ prali.f ardim.f prsp.f prxp.f Xblnk.f
+ $(F77) $(FFLAGS) pfscan.f -o pfscan $(PRFLAG)
+
+psa2msa : psa2msa.f ardim.f io.o sterr.f lblnk.f
+ $(F77) $(FFLAGS) psa2msa.f -o psa2msa $(PRFLAG)
+
+pfmake : pfmake.f psdat.f gsdat.f djdat.f nodat.f codat.f pfdat.f dfdat.f \
+ sterr.f cvini.f remsf.f wrprf.f lblnk.f remsf.f wrprf.f lblnk.f recmd.f \
+ remsa.f Xblnk.f
+ $(F77) $(FFLAGS) pfmake.f -o pfmake $(PRFLAG)
+
+ptoh : ptoh.f psdat.f gsdat.f djdat.f nodat.f codat.f pfdat.f dfdat.f sterr.f \
+ hmdat.f cvini.f reprf.f rhnul.f wrsam.f wrhmr.f schmm.f dfnul.f lblnk.f \
+ ardim.f Xblnk.f
+ $(F77) $(FFLAGS) ptoh.f -o ptoh $(PRFLAG)
+
+pfw : pfw.f sterr.f remsf.f lblnk.f remsa.f
+ $(F77) $(FFLAGS) pfw.f -o pfw $(PRFLAG)
+
+pfscale : pfscale.f sterr.f recmd.f ardim.f psdat.f gsdat.f djdat.f nodat.f codat.f \
+ pfdat.f dfdat.f sterr.f cvini.f reprf.f wrprf.f recmd.f NtoR.f lblnk.f ardim.f \
+ Xblnk.f
+ $(F77) $(FFLAGS) pfscale.f -o pfscale
+
+2ft : 2ft.f lblnk.f ardim.f sterr.f
+ $(F77) $(FFLAGS) 2ft.f -o 2ft $(PRFLAG)
+
+6ft : 6ft.f lblnk.f ardim.f sterr.f
+ $(F77) $(FFLAGS) 6ft.f -o 6ft $(PRFLAG)
+
+ptof : ptof.f codat.f cvini.f dfdat.f djdat.f gsdat.f lblnk.f nodat.f pfdat.f \
+ psdat.f reprf.f sterr.f wrprf.f recmd.f ardim.f Xblnk.f
+ $(F77) $(FFLAGS) ptof.f -o ptof $(PRFLAG)
diff --git a/NtoR.f b/NtoR.f
new file mode 100644
index 0000000..4a8e1cb
--- /dev/null
+++ b/NtoR.f
@@ -0,0 +1,23 @@
+*----------------------------------------------------------------------*
+* $Id: NtoR.f,v 2.5 2003/02/05 14:24:42 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine NtoR(R,N,RNOP,KNPM,MAXN,INOR,IFUN,LSEQ,RAVE)
+
+ Real RNOP(KNPM,MAXN)
+ Integer BSEQ
+
+ If (IFUN.EQ.1) then
+ X=(R-RNOP(1,INOR)) / RNOP(2,INOR)
+ Else if(IFUN.EQ.2) then
+ X=( RNOP(1,INOR)*(1.0-EXP(RNOP(2,INOR)*LSEQ-RNOP(3,INOR) )))
+ * *( RNOP(5,INOR) * R + RNOP(4,INOR) )
+ Else if(IFUN.EQ.3) then
+ X=( RNOP(1,INOR)*(1.0-EXP(RNOP(2,INOR)*LSEQ-RNOP(3,INOR) )))
+ * *( RNOP(5,INOR) * R + RNOP(4,INOR) ) + RAVE
+ End if
+ N=INT(X)
+ If(Real(N).LT.X) N=N+1
+ Return
+ End
diff --git a/R76849.seq b/R76849.seq
new file mode 100644
index 0000000..b20ff75
--- /dev/null
+++ b/R76849.seq
@@ -0,0 +1,9 @@
+>gi|851481|gb|R76849|R76849 yi63d09.r1 Homo sapiens cDNA clone 143921 5' similar to gb:M23379 GTPASE-ACTIVATING PROTEIN (HUMAN);.
+NCGANAATAAAGTGAATAATCGCCAGGAGTATTATCTGAGGGCCTCACAAGAAAACTGCAGACTTGACCA
+ACTGTCATTAGTAAATTATAAGCTTCCTGTTTGGAAATCTTCCCATGGAACCATATTTTTCCTTCATGTG
+GATCTTCTTCCCGGCCCACCTCTTCTACTAGGTCTTCAACAATAAGGCCTTGTTCATCTGTTCTTAAATT
+TGTAACCCACATCCATCCATCTTCTAATTCATTATGAACAATGAACATATCTCCTTTTAAGGAAACTTAT
+TTCATCAGTGTCTGGGTACTTTTGTGTAAGGGTAGGAATAGGCTTCGTACACGCCTTCTATTCTTCTACT
+GGCTCNGGGTGGGTGCAANTGGGGTAAAGTAATTTTTTCTCCNTTTAAGGGCAAACAAGGGAACAGGANT
+GTTANTAACCNCATTGGGGNTCGGACAGTGGAGGGAAAACGGTTTTTCCACCCATGTAGGGNAATCTTCC
+ACACNGGGG
diff --git a/README b/README
new file mode 100644
index 0000000..09ed5ea
--- /dev/null
+++ b/README
@@ -0,0 +1,219 @@
+*-----------------------------------------------------------------------------*
+* $Id: README,v 2.4 2003/11/19 11:56:10 vflegel Exp $
+*-----------------------------------------------------------------------------*
+*
+* README - Description of 'pftools' release 2.3 package and files.
+* Package install instructions.
+*
+* Author:
+* Philipp Bucher
+*
+* Maintainer:
+* Volker Flegel
+*
+*-----------------------------------------------------------------------------*
+*
+* Contact and bug reports:
+* pftools at isb-sib.ch
+*
+*-----------------------------------------------------------------------------*
+*
+* Copyright:
+* (c) 2003 Swiss Institute of Bioinformatics
+*
+*-----------------------------------------------------------------------------*
+*-----------------------------------------------------------------------------*
+
+Contents:
+
+ - Package description
+ . Profile format
+ . Programs and manual pages
+ . Compilation issues
+
+ - Installation
+ . Compiling
+ . Installing
+
+ - File list
+
+ - Testing
+
+ - Contact
+
+*-----------------------------------------------------------------------------*
+
+Package description:
+-------------------
+The 'pftools' package is a collection of experimental programs supporting the
+generalized profile format and search method of PROSITE.
+A description of the generalized profile format is given in the file:
+
+ profile.txt
+
+The official web site for the 'pftools' package can be found under:
+
+ http://www.isrec.isb-sib.ch/pftools
+
+Further information on PROSITE specific applications of the 'pftools' programs
+can be found at the following URL:
+
+ http://www.expasy.org/prosite/
+
+Release 2.3 contains FORTRAN 77 source code and manual pages for the following
+programs:
+
+ pfsearch
+ pfscan
+ psa2msa
+ gtop
+ htop
+ ptoh
+ pfmake
+ pfw
+ pfscale
+ ptof
+ 6ft
+ 2ft
+
+Some supplementary manual pages describing the 'psa' and 'xpsa' file formats
+have also been included.
+
+These programs have successfully been compiled and tested under Solaris,
+IRIX64, HP-UX, Tru64 and Linux operating systems, using the GNU g77 or f77
+compilers.
+
+For compilation with native f77 compilers, the Makefile needs to be modified
+according to instructions given therein.
+
+For use under HP-UX, the file 'sterr.f' should also be modified according to
+instructions given therein.
+
+The buffer sizes in release 2.3 of the 'pftools' have been significantly
+increased to handle large sequences and profiles. Therefore it might be
+necessary to reduce the buffer sizes in order to run the programs on machines
+with less RAM. This can be achieved by modifying the file 'ardim.f' according
+to instructions given therein.
+
+The "Integer*2" declarations may cause problems with early versions
+of the g77 compiler; solution: replace "Integer*2" by "Integer".
+
+*-----------------------------------------------------------------------------*
+
+Installation:
+------------
+The compressed 'tar' archive can be extracted to the current directory using
+the following command:
+
+ tar -xzvf pftools_23.tar.gz
+
+This will create a directory containing the source and package files.
+
+In order to compile the programs on Unix like systems with a FORTRAN 77
+compiler, change into the source directory and simply type:
+
+ make all
+
+This will create the 12 binaries listed above. To install the binaries and the
+corresponding manual pages, an installation script has been provided. It can
+be invoked using:
+
+ make install
+
+The installation script will ask the user the destination directory for the
+'pftools' package. This directory will contain all the supplementary files,
+as well as a 'bin' directory for the executable programs. The installer will
+then create symbolic links to the binary programs in a directory specified by
+the user. This directory should be included in the users 'PATH' variable for
+him to be able to execute the 'pftools' programs.
+In a last step, the installer will link the man pages in the system wide man
+page location, this location can also be specified by the user.
+After successful installation, the build directory can safely be deleted.
+
+Note that you should have write permissions on the destination directories
+specified during installation. For system wide installation you may need root
+privileges, if necessary contact your system administrator.
+
+
+*-----------------------------------------------------------------------------*
+
+File list:
+---------
+Further included in this release are the following demo data files:
+
+ CVPBR322
+ sh3.seq
+ GTPA_HUMAN
+ sh3.msf
+ ecp.prf
+ sh3.gpr
+ sh3.prf
+ pfam_sh3.hmm
+ prosite13.prf
+ standard.random
+ blosum45.cmp
+ score.lis
+ coils.prf
+ MYSA_HUMAN
+ R76849.seq
+
+plus the following additional substution matrices in old GCG format:
+
+ blosum30.cmp
+ blosum50.cmp
+ blosum62.cmp
+ blosum65.cmp
+ blosum80.cmp
+ blosum100.cmp
+ gonnet.cmp
+ pam30.cmp
+ pam40.cmp
+ pam80.cmp
+ pam120.cmp
+ pam160.cmp
+ pam200.cmp
+ pam220.cmp
+ pam250.cmp
+ pam400.cmp
+
+*-----------------------------------------------------------------------------*
+
+Testing:
+-------
+A test script is provided. It will simply execute all the 'pftools' binaries
+with some example files. The test script 'test.sh' should be executed in
+the same directory as the binaries and the demo files. An example test
+output file 'test.out' is provided as a reference.
+To test the programs, type:
+
+ ./test.sh > out
+ diff test.out out
+
+Some rounding or formatting variation may occur with real number
+editing. With g77 there will be lots of small integer rounding
+differences in the result of test 7.
+
+Note that the file pfam_sh3.hmm contains a hidden Markov model from the
+PFAM A collection release 4.0 (see http://www.sanger.ac.uk/Pfam).
+
+
+*-----------------------------------------------------------------------------*
+
+Contact:
+-------
+Please send bug reports to:
+
+ pftools at isb-sib.ch
+
+The pftools package was originaly developped by Philipp Bucher and is
+currently maintained by Volker Flegel at the:
+
+Swiss Institute of Bioinformatics (Epalinges office)
+chemin des Boveresses 155
+1066 Epalinges
+Switzerland
+
+http://www.isb-sib.ch
+
+*-----------------------------------------------------------------------------*
+*-----------------------------------------------------------------------------*
diff --git a/RtoN.f b/RtoN.f
new file mode 100644
index 0000000..71480e2
--- /dev/null
+++ b/RtoN.f
@@ -0,0 +1,22 @@
+*----------------------------------------------------------------------*
+* $Id: RtoN.f,v 2.4 2003/04/10 11:58:37 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine RtoN(N,R,RNOP,KNPM,MAXN,INOR,IFUN,LSEQ,RAVE)
+
+ Real RNOP(KNPM,MAXN)
+
+ If (IFUN.EQ.1) then
+ R=RNOP(1,INOR)+RNOP(2,INOR)*Real(N)
+ Else if(IFUN.EQ.2) then
+ R=( Real(N) /
+ * ( RNOP(1,INOR)*(1.0-EXP(RNOP(2,INOR)*LSEQ-RNOP(3,INOR) )))
+ * - RNOP(4,INOR) ) / RNOP(5,INOR)
+ Else if(IFUN.EQ.3) then
+ R=( (N-RAVE) /
+ * ( RNOP(1,INOR)*(1.0-EXP(RNOP(2,INOR)*LSEQ-RNOP(3,INOR) )))
+ * - RNOP(4,INOR) ) / RNOP(5,INOR)
+ End if
+ Return
+ End
diff --git a/Xblnk.f b/Xblnk.f
new file mode 100644
index 0000000..37adbab
--- /dev/null
+++ b/Xblnk.f
@@ -0,0 +1,24 @@
+*----------------------------------------------------------------------*
+* $Id: Xblnk.f,v 1.3 2003/11/28 11:56:08 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Integer Function Xblnk(STRING,LIMIT)
+ Character*(*) STRING
+ Integer LIMIT
+
+ L=Len(STRING)
+ Xblnk=0
+ J1=0
+
+ Do I1=1,L
+ If(STRING(I1:I1).EQ.' ') then
+ J1=J1+1
+ Else
+ J1=0
+ End if
+ Xblnk=I1-J1
+ If(J1.GE.LIMIT) return
+ End do
+ Return
+ End
diff --git a/abini.f b/abini.f
new file mode 100644
index 0000000..351523b
--- /dev/null
+++ b/abini.f
@@ -0,0 +1,37 @@
+*----------------------------------------------------------------------*
+* $Id: abini.f,v 2.4 2003/04/10 11:58:37 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* ALPHABET
+
+ Data NABC/26/
+
+ Data CABC( 0)/'-'/
+ Data CABC( 1)/'A'/
+ Data CABC( 2)/'B'/
+ Data CABC( 3)/'C'/
+ Data CABC( 4)/'D'/
+ Data CABC( 5)/'E'/
+ Data CABC( 6)/'F'/
+ Data CABC( 7)/'G'/
+ Data CABC( 8)/'H'/
+ Data CABC( 9)/'I'/
+ Data CABC(10)/'J'/
+ Data CABC(11)/'K'/
+ Data CABC(12)/'L'/
+ Data CABC(13)/'M'/
+ Data CABC(14)/'N'/
+ Data CABC(15)/'O'/
+ Data CABC(16)/'P'/
+ Data CABC(17)/'Q'/
+ Data CABC(18)/'R'/
+ Data CABC(19)/'S'/
+ Data CABC(20)/'T'/
+ Data CABC(21)/'U'/
+ Data CABC(22)/'V'/
+ Data CABC(23)/'W'/
+ Data CABC(24)/'X'/
+ Data CABC(25)/'Y'/
+ Data CABC(26)/'Z'/
+
diff --git a/ardim.f b/ardim.f
new file mode 100644
index 0000000..0ebbb42
--- /dev/null
+++ b/ardim.f
@@ -0,0 +1,51 @@
+*----------------------------------------------------------------------*
+* $Id: ardim.f,v 2.7 2003/03/21 15:55:44 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+
+* Note: for use on machines with less than 32 MB RAM, replace the actual
+* array Parameter instructions by commented Parameter instructions
+* or modify the array size definitions manually.
+
+* max. profile length
+
+ Parameter (IDMP=19999)
+C Parameter (IDMP= 9999)
+C Parameter (IDMP= 2499)
+
+* max. sequence length
+
+ Parameter (IDMS=10000000)
+C Parameter (IDMS= 1000000)
+C Parameter (IDMS= 250000)
+
+* max. number of matches per sequence
+
+ Parameter (IDMN=4000)
+C Parameter (IDMN=2000)
+C Parameter (IDMN= 500)
+
+* max. alignment length
+
+ Parameter (IDMA=40000)
+C Parameter (IDMA=20000)
+C Parameter (IDMA= 5000)
+
+* max. path matrix surface
+
+ Parameter (IDMM=40000000)
+C Parameter (IDMM= 4000000)
+C Parameter (IDMM= 1000000)
+
+* max. repeats per circular profile match
+
+ Parameter (IDML=512)
+
+* max. nb of sequences in MSF files
+
+ Parameter (IDMF=2048)
+
+* max. nb of scores in score list
+
+ Parameter (IDMC=262144)
diff --git a/avdat.f b/avdat.f
new file mode 100644
index 0000000..2d88d65
--- /dev/null
+++ b/avdat.f
@@ -0,0 +1,10 @@
+*----------------------------------------------------------------------*
+* $Id: avdat.f,v 2.4 2003/04/10 11:58:37 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* AVERAGE SCORE
+
+ Real FAVE(0:26)
+ Real PAVE(0:26)
+
diff --git a/blosum100.cmp b/blosum100.cmp
new file mode 100644
index 0000000..757bfc2
--- /dev/null
+++ b/blosum100.cmp
@@ -0,0 +1,36 @@
+# Matrix made by matblas from blosum100_3.iij
+# * column uses minimum score
+# BLOSUM Clustered Scoring Matrix in 1/3 Bit Units
+# Blocks Database = /data/blocks_5.0/blocks.dat
+# Cluster Percentage: >= 100
+# Entropy = 1.4516, Expected = -1.0948
+#
+# mean= -3.1363 , stdev= 8.7004
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 8.0 -4.0 -2.0 -5.0 -3.0 -5.0 -1.0 -4.0 -4.0 -2.0 -4.0 -3.0 -4.0 -2.0 -2.0 -3.0 1.0 -1.0 -2.0 -6.0 -5.0 -2.0 A
+ 6.0 -7.0 6.0 0.0 -7.0 -3.0 -2.0 -8.0 -2.0 -8.0 -7.0 5.0 -5.0 -2.0 -4.0 -1.0 -2.0 -7.0 -9.0 -6.0 0.0 B
+ 14.0 -8.0 -9.0 -4.0 -7.0 -8.0 -3.0 -8.0 -5.0 -4.0 -5.0 -8.0 -7.0 -8.0 -3.0 -3.0 -3.0 -7.0 -6.0 -8.0 C
+ 10.0 2.0 -8.0 -4.0 -3.0 -8.0 -3.0 -8.0 -8.0 1.0 -5.0 -2.0 -5.0 -2.0 -4.0 -8.0-10.0 -7.0 0.0 D
+ 10.0 -8.0 -6.0 -2.0 -7.0 0.0 -7.0 -5.0 -2.0 -4.0 2.0 -2.0 -2.0 -3.0 -5.0 -8.0 -7.0 7.0 E
+
+ 11.0 -8.0 -4.0 -2.0 -6.0 0.0 -1.0 -7.0 -7.0 -6.0 -6.0 -5.0 -5.0 -3.0 0.0 4.0 -7.0 F
+ 9.0 -6.0 -9.0 -5.0 -8.0 -7.0 -2.0 -6.0 -5.0 -6.0 -2.0 -5.0 -8.0 -7.0 -8.0 -5.0 G
+ 13.0 -7.0 -3.0 -6.0 -5.0 0.0 -5.0 1.0 -1.0 -3.0 -4.0 -7.0 -5.0 1.0 -1.0 H
+ 8.0 -6.0 2.0 1.0 -7.0 -7.0 -6.0 -7.0 -5.0 -3.0 4.0 -6.0 -4.0 -7.0 I
+ 10.0 -6.0 -4.0 -1.0 -3.0 2.0 3.0 -2.0 -3.0 -5.0 -8.0 -5.0 0.0 K
+
+ 8.0 3.0 -7.0 -7.0 -5.0 -6.0 -6.0 -4.0 0.0 -5.0 -4.0 -6.0 L
+ 12.0 -5.0 -5.0 -2.0 -4.0 -4.0 -2.0 0.0 -4.0 -5.0 -4.0 M
+ 11.0 -5.0 -1.0 -2.0 0.0 -1.0 -7.0 -8.0 -5.0 -2.0 N
+ 12.0 -4.0 -5.0 -3.0 -4.0 -6.0 -8.0 -7.0 -4.0 P
+ 11.0 0.0 -2.0 -3.0 -5.0 -5.0 -4.0 5.0 Q
+
+ 10.0 -3.0 -3.0 -6.0 -7.0 -5.0 -1.0 R
+ 9.0 2.0 -4.0 -7.0 -5.0 -2.0 S
+ 9.0 -1.0 -7.0 -5.0 -3.0 T
+ 8.0 -5.0 -5.0 -5.0 V
+ 17.0 2.0 -7.0 W
+
+ 12.0 -6.0 Y
+ 6.0 Z
diff --git a/blosum30.cmp b/blosum30.cmp
new file mode 100644
index 0000000..cf0adfd
--- /dev/null
+++ b/blosum30.cmp
@@ -0,0 +1,36 @@
+# Matrix made by matblas from blosum30.iij
+# * column uses minimum score
+# BLOSUM Clustered Scoring Matrix in 1/5 Bit Units
+# Blocks Database = /data/blocks_5.0/blocks.dat
+# Cluster Percentage: >= 30
+# Entropy = 0.1424, Expected = -0.1074
+#
+# mean= -0.4962 , stdev= 2.8570
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 4.0 0.0 -3.0 0.0 0.0 -2.0 0.0 -2.0 0.0 0.0 -1.0 1.0 0.0 -1.0 1.0 -1.0 1.0 1.0 1.0 -5.0 -4.0 0.0 A
+ 5.0 -2.0 5.0 0.0 -3.0 0.0 -2.0 -2.0 0.0 -1.0 -2.0 4.0 -2.0 -1.0 -2.0 0.0 0.0 -2.0 -5.0 -3.0 0.0 B
+ 17.0 -3.0 1.0 -3.0 -4.0 -5.0 -2.0 -3.0 0.0 -2.0 -1.0 -3.0 -2.0 -2.0 -2.0 -2.0 -2.0 -2.0 -6.0 0.0 C
+ 9.0 1.0 -5.0 -1.0 -2.0 -4.0 0.0 -1.0 -3.0 1.0 -1.0 -1.0 -1.0 0.0 -1.0 -2.0 -4.0 -1.0 0.0 D
+ 6.0 -4.0 -2.0 0.0 -3.0 2.0 -1.0 -1.0 -1.0 1.0 2.0 -1.0 0.0 -2.0 -3.0 -1.0 -2.0 5.0 E
+
+ 10.0 -3.0 -3.0 0.0 -1.0 2.0 -2.0 -1.0 -4.0 -3.0 -1.0 -1.0 -2.0 1.0 1.0 3.0 -4.0 F
+ 8.0 -3.0 -1.0 -1.0 -2.0 -2.0 0.0 -1.0 -2.0 -2.0 0.0 -2.0 -3.0 1.0 -3.0 -2.0 G
+ 14.0 -2.0 -2.0 -1.0 2.0 -1.0 1.0 0.0 -1.0 -1.0 -2.0 -3.0 -5.0 0.0 0.0 H
+ 6.0 -2.0 2.0 1.0 0.0 -3.0 -2.0 -3.0 -1.0 0.0 4.0 -3.0 -1.0 -3.0 I
+ 4.0 -2.0 2.0 0.0 1.0 0.0 1.0 0.0 -1.0 -2.0 -2.0 -1.0 1.0 K
+
+ 4.0 2.0 -2.0 -3.0 -2.0 -2.0 -2.0 0.0 1.0 -2.0 3.0 -1.0 L
+ 6.0 0.0 -4.0 -1.0 0.0 -2.0 0.0 0.0 -3.0 -1.0 -1.0 M
+ 8.0 -3.0 -1.0 -2.0 0.0 1.0 -2.0 -7.0 -4.0 -1.0 N
+ 11.0 0.0 -1.0 -1.0 0.0 -4.0 -3.0 -2.0 0.0 P
+ 8.0 3.0 -1.0 0.0 -3.0 -1.0 -1.0 4.0 Q
+
+ 8.0 -1.0 -3.0 -1.0 0.0 0.0 0.0 R
+ 4.0 2.0 -1.0 -3.0 -2.0 -1.0 S
+ 5.0 1.0 -5.0 -1.0 -1.0 T
+ 5.0 -3.0 1.0 -3.0 V
+ 20.0 5.0 -1.0 W
+
+ 9.0 -2.0 Y
+ 4.0 Z
diff --git a/blosum45.cmp b/blosum45.cmp
new file mode 100644
index 0000000..aef241d
--- /dev/null
+++ b/blosum45.cmp
@@ -0,0 +1,36 @@
+# Matrix made by matblas from blosum45.iij
+# * column uses minimum score
+# BLOSUM Clustered Scoring Matrix in 1/3 Bit Units
+# Blocks Database = /data/blocks_5.0/blocks.dat
+# Cluster Percentage: >= 45
+# Entropy = 0.3795, Expected = -0.2789
+#
+# mean= -0.8019 , stdev= 2.5385
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 5.0 -1.0 -1.0 -2.0 -1.0 -2.0 0.0 -2.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -2.0 1.0 0.0 0.0 -2.0 -2.0 -1.0 A
+ 4.0 -2.0 5.0 1.0 -3.0 -1.0 0.0 -3.0 0.0 -3.0 -2.0 4.0 -2.0 0.0 -1.0 0.0 0.0 -3.0 -4.0 -2.0 2.0 B
+ 12.0 -3.0 -3.0 -2.0 -3.0 -3.0 -3.0 -3.0 -2.0 -2.0 -2.0 -4.0 -3.0 -3.0 -1.0 -1.0 -1.0 -5.0 -3.0 -3.0 C
+ 7.0 2.0 -4.0 -1.0 0.0 -4.0 0.0 -3.0 -3.0 2.0 -1.0 0.0 -1.0 0.0 -1.0 -3.0 -4.0 -2.0 1.0 D
+ 6.0 -3.0 -2.0 0.0 -3.0 1.0 -2.0 -2.0 0.0 0.0 2.0 0.0 0.0 -1.0 -3.0 -3.0 -2.0 4.0 E
+
+ 8.0 -3.0 -2.0 0.0 -3.0 1.0 0.0 -2.0 -3.0 -4.0 -2.0 -2.0 -1.0 0.0 1.0 3.0 -3.0 F
+ 7.0 -2.0 -4.0 -2.0 -3.0 -2.0 0.0 -2.0 -2.0 -2.0 0.0 -2.0 -3.0 -2.0 -3.0 -2.0 G
+ 10.0 -3.0 -1.0 -2.0 0.0 1.0 -2.0 1.0 0.0 -1.0 -2.0 -3.0 -3.0 2.0 0.0 H
+ 5.0 -3.0 2.0 2.0 -2.0 -2.0 -2.0 -3.0 -2.0 -1.0 3.0 -2.0 0.0 -3.0 I
+ 5.0 -3.0 -1.0 0.0 -1.0 1.0 3.0 -1.0 -1.0 -2.0 -2.0 -1.0 1.0 K
+
+ 5.0 2.0 -3.0 -3.0 -2.0 -2.0 -3.0 -1.0 1.0 -2.0 0.0 -2.0 L
+ 6.0 -2.0 -2.0 0.0 -1.0 -2.0 -1.0 1.0 -2.0 0.0 -1.0 M
+ 6.0 -2.0 0.0 0.0 1.0 0.0 -3.0 -4.0 -2.0 0.0 N
+ 9.0 -1.0 -2.0 -1.0 -1.0 -3.0 -3.0 -3.0 -1.0 P
+ 6.0 1.0 0.0 -1.0 -3.0 -2.0 -1.0 4.0 Q
+
+ 7.0 -1.0 -1.0 -2.0 -2.0 -1.0 0.0 R
+ 4.0 2.0 -1.0 -4.0 -2.0 0.0 S
+ 5.0 0.0 -3.0 -1.0 -1.0 T
+ 5.0 -3.0 -1.0 -3.0 V
+ 15.0 3.0 -2.0 W
+
+ 8.0 -2.0 Y
+ 4.0 Z
diff --git a/blosum50.cmp b/blosum50.cmp
new file mode 100644
index 0000000..f362c8d
--- /dev/null
+++ b/blosum50.cmp
@@ -0,0 +1,36 @@
+# Matrix made by matblas from blosum50.iij
+# * column uses minimum score
+# BLOSUM Clustered Scoring Matrix in 1/3 Bit Units
+# Blocks Database = /data/blocks_5.0/blocks.dat
+# Cluster Percentage: >= 50
+# Entropy = 0.4808, Expected = -0.3573
+#
+# mean= -1.0616 , stdev= 3.2555
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 5.0 -2.0 -1.0 -2.0 -1.0 -3.0 0.0 -2.0 -1.0 -1.0 -2.0 -1.0 -1.0 -1.0 -1.0 -2.0 1.0 0.0 0.0 -3.0 -2.0 -1.0 A
+ 5.0 -3.0 5.0 1.0 -4.0 -1.0 0.0 -4.0 0.0 -4.0 -3.0 4.0 -2.0 0.0 -1.0 0.0 0.0 -4.0 -5.0 -3.0 2.0 B
+ 13.0 -4.0 -3.0 -2.0 -3.0 -3.0 -2.0 -3.0 -2.0 -2.0 -2.0 -4.0 -3.0 -4.0 -1.0 -1.0 -1.0 -5.0 -3.0 -3.0 C
+ 8.0 2.0 -5.0 -1.0 -1.0 -4.0 -1.0 -4.0 -4.0 2.0 -1.0 0.0 -2.0 0.0 -1.0 -4.0 -5.0 -3.0 1.0 D
+ 6.0 -3.0 -3.0 0.0 -4.0 1.0 -3.0 -2.0 0.0 -1.0 2.0 0.0 -1.0 -1.0 -3.0 -3.0 -2.0 5.0 E
+
+ 8.0 -4.0 -1.0 0.0 -4.0 1.0 0.0 -4.0 -4.0 -4.0 -3.0 -3.0 -2.0 -1.0 1.0 4.0 -4.0 F
+ 8.0 -2.0 -4.0 -2.0 -4.0 -3.0 0.0 -2.0 -2.0 -3.0 0.0 -2.0 -4.0 -3.0 -3.0 -2.0 G
+ 10.0 -4.0 0.0 -3.0 -1.0 1.0 -2.0 1.0 0.0 -1.0 -2.0 -4.0 -3.0 2.0 0.0 H
+ 5.0 -3.0 2.0 2.0 -3.0 -3.0 -3.0 -4.0 -3.0 -1.0 4.0 -3.0 -1.0 -3.0 I
+ 6.0 -3.0 -2.0 0.0 -1.0 2.0 3.0 0.0 -1.0 -3.0 -3.0 -2.0 1.0 K
+
+ 5.0 3.0 -4.0 -4.0 -2.0 -3.0 -3.0 -1.0 1.0 -2.0 -1.0 -3.0 L
+ 7.0 -2.0 -3.0 0.0 -2.0 -2.0 -1.0 1.0 -1.0 0.0 -1.0 M
+ 7.0 -2.0 0.0 -1.0 1.0 0.0 -3.0 -4.0 -2.0 0.0 N
+ 10.0 -1.0 -3.0 -1.0 -1.0 -3.0 -4.0 -3.0 -1.0 P
+ 7.0 1.0 0.0 -1.0 -3.0 -1.0 -1.0 4.0 Q
+
+ 7.0 -1.0 -1.0 -3.0 -3.0 -1.0 0.0 R
+ 5.0 2.0 -2.0 -4.0 -2.0 0.0 S
+ 5.0 0.0 -3.0 -2.0 -1.0 T
+ 5.0 -3.0 -1.0 -3.0 V
+ 15.0 2.0 -2.0 W
+
+ 8.0 -2.0 Y
+ 5.0 Z
diff --git a/blosum62.cmp b/blosum62.cmp
new file mode 100644
index 0000000..e3d66d6
--- /dev/null
+++ b/blosum62.cmp
@@ -0,0 +1,36 @@
+# Matrix made by matblas from blosum62.iij
+# * column uses minimum score
+# BLOSUM Clustered Scoring Matrix in 1/2 Bit Units
+# Blocks Database = /data/blocks_5.0/blocks.dat
+# Cluster Percentage: >= 62
+# Entropy = 0.6979, Expected = -0.5209
+#
+# mean= -0.9490 , stdev= 2.1588
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 4.0 -2.0 0.0 -2.0 -1.0 -2.0 0.0 -2.0 -1.0 -1.0 -1.0 -1.0 -2.0 -1.0 -1.0 -1.0 1.0 0.0 0.0 -3.0 -2.0 -1.0 A
+ 4.0 -3.0 4.0 1.0 -3.0 -1.0 0.0 -3.0 0.0 -4.0 -3.0 3.0 -2.0 0.0 -1.0 0.0 -1.0 -3.0 -4.0 -3.0 1.0 B
+ 9.0 -3.0 -4.0 -2.0 -3.0 -3.0 -1.0 -3.0 -1.0 -1.0 -3.0 -3.0 -3.0 -3.0 -1.0 -1.0 -1.0 -2.0 -2.0 -3.0 C
+ 6.0 2.0 -3.0 -1.0 -1.0 -3.0 -1.0 -4.0 -3.0 1.0 -1.0 0.0 -2.0 0.0 -1.0 -3.0 -4.0 -3.0 1.0 D
+ 5.0 -3.0 -2.0 0.0 -3.0 1.0 -3.0 -2.0 0.0 -1.0 2.0 0.0 0.0 -1.0 -2.0 -3.0 -2.0 4.0 E
+
+ 6.0 -3.0 -1.0 0.0 -3.0 0.0 0.0 -3.0 -4.0 -3.0 -3.0 -2.0 -2.0 -1.0 1.0 3.0 -3.0 F
+ 6.0 -2.0 -4.0 -2.0 -4.0 -3.0 0.0 -2.0 -2.0 -2.0 0.0 -2.0 -3.0 -2.0 -3.0 -2.0 G
+ 8.0 -3.0 -1.0 -3.0 -2.0 1.0 -2.0 0.0 0.0 -1.0 -2.0 -3.0 -2.0 2.0 0.0 H
+ 4.0 -3.0 2.0 1.0 -3.0 -3.0 -3.0 -3.0 -2.0 -1.0 3.0 -3.0 -1.0 -3.0 I
+ 5.0 -2.0 -1.0 0.0 -1.0 1.0 2.0 0.0 -1.0 -2.0 -3.0 -2.0 1.0 K
+
+ 4.0 2.0 -3.0 -3.0 -2.0 -2.0 -2.0 -1.0 1.0 -2.0 -1.0 -3.0 L
+ 5.0 -2.0 -2.0 0.0 -1.0 -1.0 -1.0 1.0 -1.0 -1.0 -1.0 M
+ 6.0 -2.0 0.0 0.0 1.0 0.0 -3.0 -4.0 -2.0 0.0 N
+ 7.0 -1.0 -2.0 -1.0 -1.0 -2.0 -4.0 -3.0 -1.0 P
+ 5.0 1.0 0.0 -1.0 -2.0 -2.0 -1.0 3.0 Q
+
+ 5.0 -1.0 -1.0 -3.0 -3.0 -2.0 0.0 R
+ 4.0 1.0 -2.0 -3.0 -2.0 0.0 S
+ 5.0 0.0 -2.0 -2.0 -1.0 T
+ 4.0 -3.0 -1.0 -2.0 V
+ 11.0 2.0 -3.0 W
+
+ 7.0 -2.0 Y
+ 4.0 Z
diff --git a/blosum65.cmp b/blosum65.cmp
new file mode 100644
index 0000000..ab6ad58
--- /dev/null
+++ b/blosum65.cmp
@@ -0,0 +1,36 @@
+# Matrix made by matblas from blosum65.iij
+# * column uses minimum score
+# BLOSUM Clustered Scoring Matrix in 1/2 Bit Units
+# Blocks Database = /data/blocks_5.0/blocks.dat
+# Cluster Percentage: >= 65
+# Entropy = 0.7576, Expected = -0.5675
+#
+# mean= -1.0322 , stdev= 2.3266
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 4.0 -2.0 0.0 -2.0 -1.0 -2.0 0.0 -2.0 -1.0 -1.0 -2.0 -1.0 -2.0 -1.0 -1.0 -1.0 1.0 0.0 0.0 -3.0 -2.0 -1.0 A
+ 4.0 -3.0 4.0 1.0 -3.0 -1.0 0.0 -3.0 0.0 -4.0 -3.0 3.0 -2.0 0.0 -1.0 0.0 -1.0 -3.0 -4.0 -3.0 1.0 B
+ 9.0 -4.0 -4.0 -2.0 -3.0 -3.0 -1.0 -3.0 -1.0 -2.0 -3.0 -3.0 -3.0 -4.0 -1.0 -1.0 -1.0 -2.0 -2.0 -4.0 C
+ 6.0 2.0 -4.0 -1.0 -1.0 -3.0 -1.0 -4.0 -3.0 1.0 -2.0 0.0 -2.0 0.0 -1.0 -3.0 -5.0 -3.0 1.0 D
+ 5.0 -3.0 -2.0 0.0 -3.0 1.0 -3.0 -2.0 0.0 -1.0 2.0 0.0 0.0 -1.0 -3.0 -3.0 -2.0 4.0 E
+
+ 6.0 -3.0 -1.0 0.0 -3.0 0.0 0.0 -3.0 -4.0 -3.0 -3.0 -2.0 -2.0 -1.0 1.0 3.0 -3.0 F
+ 6.0 -2.0 -4.0 -2.0 -4.0 -3.0 -1.0 -2.0 -2.0 -2.0 0.0 -2.0 -3.0 -3.0 -3.0 -2.0 G
+ 8.0 -3.0 -1.0 -3.0 -2.0 1.0 -2.0 1.0 0.0 -1.0 -2.0 -3.0 -2.0 2.0 0.0 H
+ 4.0 -3.0 2.0 1.0 -3.0 -3.0 -3.0 -3.0 -2.0 -1.0 3.0 -2.0 -1.0 -3.0 I
+ 5.0 -3.0 -2.0 0.0 -1.0 1.0 2.0 0.0 -1.0 -2.0 -3.0 -2.0 1.0 K
+
+ 4.0 2.0 -4.0 -3.0 -2.0 -2.0 -3.0 -1.0 1.0 -2.0 -1.0 -3.0 L
+ 6.0 -2.0 -3.0 0.0 -2.0 -2.0 -1.0 1.0 -2.0 -1.0 -2.0 M
+ 6.0 -2.0 0.0 0.0 1.0 0.0 -3.0 -4.0 -2.0 0.0 N
+ 8.0 -1.0 -2.0 -1.0 -1.0 -2.0 -4.0 -3.0 -1.0 P
+ 6.0 1.0 0.0 -1.0 -2.0 -2.0 -2.0 3.0 Q
+
+ 6.0 -1.0 -1.0 -3.0 -3.0 -2.0 0.0 R
+ 4.0 1.0 -2.0 -3.0 -2.0 0.0 S
+ 5.0 0.0 -3.0 -2.0 -1.0 T
+ 4.0 -3.0 -1.0 -2.0 V
+ 10.0 2.0 -3.0 W
+
+ 7.0 -2.0 Y
+ 4.0 Z
diff --git a/blosum80.cmp b/blosum80.cmp
new file mode 100644
index 0000000..134aca9
--- /dev/null
+++ b/blosum80.cmp
@@ -0,0 +1,36 @@
+# Matrix made by matblas from blosum80_3.iij
+# * column uses minimum score
+# BLOSUM Clustered Scoring Matrix in 1/3 Bit Units
+# Blocks Database = /data/blocks_5.0/blocks.dat
+# Cluster Percentage: >= 80
+# Entropy = 0.9868, Expected = -0.7442
+#
+# mean= -2.0860 , stdev= 6.3104
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 7.0 -3.0 -1.0 -3.0 -2.0 -4.0 0.0 -3.0 -3.0 -1.0 -3.0 -2.0 -3.0 -1.0 -2.0 -3.0 2.0 0.0 -1.0 -5.0 -4.0 -2.0 A
+ 6.0 -6.0 6.0 1.0 -6.0 -2.0 -1.0 -6.0 -1.0 -7.0 -5.0 5.0 -4.0 -1.0 -2.0 0.0 -1.0 -6.0 -8.0 -5.0 0.0 B
+ 13.0 -7.0 -7.0 -4.0 -6.0 -7.0 -2.0 -6.0 -3.0 -3.0 -5.0 -6.0 -5.0 -6.0 -2.0 -2.0 -2.0 -5.0 -5.0 -7.0 C
+ 10.0 2.0 -6.0 -3.0 -2.0 -7.0 -2.0 -7.0 -6.0 2.0 -3.0 -1.0 -3.0 -1.0 -2.0 -6.0 -8.0 -6.0 1.0 D
+ 8.0 -6.0 -4.0 0.0 -6.0 1.0 -6.0 -4.0 -1.0 -2.0 3.0 -1.0 -1.0 -2.0 -4.0 -6.0 -5.0 6.0 E
+
+ 10.0 -6.0 -2.0 -1.0 -5.0 0.0 0.0 -6.0 -6.0 -5.0 -5.0 -4.0 -4.0 -2.0 0.0 4.0 -6.0 F
+ 9.0 -4.0 -7.0 -3.0 -7.0 -5.0 -1.0 -5.0 -4.0 -4.0 -1.0 -3.0 -6.0 -6.0 -6.0 -4.0 G
+ 12.0 -6.0 -1.0 -5.0 -4.0 1.0 -4.0 1.0 0.0 -2.0 -3.0 -5.0 -4.0 3.0 0.0 H
+ 7.0 -5.0 2.0 2.0 -6.0 -5.0 -5.0 -5.0 -4.0 -2.0 4.0 -5.0 -3.0 -6.0 I
+ 8.0 -4.0 -3.0 0.0 -2.0 2.0 3.0 -1.0 -1.0 -4.0 -6.0 -4.0 1.0 K
+
+ 6.0 3.0 -6.0 -5.0 -4.0 -4.0 -4.0 -3.0 1.0 -4.0 -2.0 -5.0 L
+ 9.0 -4.0 -4.0 -1.0 -3.0 -3.0 -1.0 1.0 -3.0 -3.0 -3.0 M
+ 9.0 -4.0 0.0 -1.0 1.0 0.0 -5.0 -7.0 -4.0 -1.0 N
+ 12.0 -3.0 -3.0 -2.0 -3.0 -4.0 -7.0 -6.0 -2.0 P
+ 9.0 1.0 -1.0 -1.0 -4.0 -4.0 -3.0 5.0 Q
+
+ 9.0 -2.0 -2.0 -4.0 -5.0 -4.0 0.0 R
+ 7.0 2.0 -3.0 -6.0 -3.0 -1.0 S
+ 8.0 0.0 -5.0 -3.0 -2.0 T
+ 7.0 -5.0 -3.0 -4.0 V
+ 16.0 3.0 -5.0 W
+
+ 11.0 -4.0 Y
+ 6.0 Z
diff --git a/codat.f b/codat.f
new file mode 100644
index 0000000..aed4648
--- /dev/null
+++ b/codat.f
@@ -0,0 +1,18 @@
+*----------------------------------------------------------------------*
+* $Id: codat.f,v 2.4 2003/02/19 08:38:24 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* CUT_OFF
+
+ Parameter (MAXC=8)
+
+ Integer JCUT
+ Integer MCLE(MAXC)
+ Character*32 CCUT(MAXC)
+ Integer ICUT(MAXC)
+
+ Integer JCNM(MAXC)
+ Real RCUT(MAXN,MAXC)
+ Integer MCUT(MAXN,MAXC)
+
diff --git a/coils.prf b/coils.prf
new file mode 100644
index 0000000..2b98277
--- /dev/null
+++ b/coils.prf
@@ -0,0 +1,16 @@
+ID COILS; MATRIX.
+AC PS60001;
+DE Coiled-coil region.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=7; TOPOLOGY=CIRCULAR;
+MA /DISJOINT: DEFINITION=PROTECT; N1=1; N2=7;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.6890; R2=0.03483765; TEXT='NScore';
+MA /CUT_OFF: LEVEL=0; SCORE=153; N_SCORE=6.0; MODE=1;
+MA /DEFAULT: E0=0; B0=0; D=-50; I=-50; B1=0; E1=0; MI=0; MD=0; IM=0; DM=0; M0=-5; I0=-50;
+MA /M: SY='a'; M=-2,-16,3,-13,-27,0,-4,-2,14,-7,9,10,-7,-3,-18,-7,-6,-7,6,-3,6,-16;
+MA /M: SY='b'; M=-2,8,-6,7,4,-4,-3,-2,-7,3,-12,-6,-2,-2,2,-2,-1,-4,-4,-3,-6,1;
+MA /M: SY='c'; M=-4,4,-2,2,0,-1,-1,-2,-6,-1,-11,-8,3,-3,2,0,0,-3,-5,-3,-6,3;
+MA /M: SY='d'; M=7,-14,-2,-12,-22,1,-4,0,-1,-13,24,2,-17,-3,-13,-16,-5,-2,0,4,8,-14;
+MA /M: SY='e'; M=-10,1,-5,-7,19,-4,-3,-5,-6,2,-10,-6,-2,-3,5,0,-2,0,-6,-4,-5,1;
+MA /M: SY='f'; M=-2,1,-2,2,-3,-4,-1,-2,-6,-2,-10,-7,5,-3,1,3,-1,-3,-5,-3,-6,3;
+MA /M: SY='g'; M=-6,1,-5,0,8,-5,-4,-4,-7,1,-9,-6,2,-3,5,1,-4,-1,-5,-4,-6,3;
+//
diff --git a/cvini.f b/cvini.f
new file mode 100644
index 0000000..b4c44e0
--- /dev/null
+++ b/cvini.f
@@ -0,0 +1,22 @@
+*----------------------------------------------------------------------*
+* $Id: cvini.f,v 2.4 2003/02/19 08:38:24 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* CONTROLLED VOCABULARIES
+
+* - disjointness definitions
+
+ Data CDIS(1)/'UNIQUE '/
+ Data CDIS(2)/'PROTECT '/
+ Data JDIP(1)/0/
+ Data JDIP(2)/2/
+
+* - normalization functios
+
+ Data CNOR(1)/'LINEAR '/
+ Data CNOR(2)/'GLE_ZSCORE '/
+ Data CNOR(3)/'GLE_ZSCAVE '/
+ Data JNOP(1)/2/
+ Data JNOP(2)/5/
+ Data JNOP(3)/5/
diff --git a/dfdat.f b/dfdat.f
new file mode 100644
index 0000000..b02eb60
--- /dev/null
+++ b/dfdat.f
@@ -0,0 +1,13 @@
+*----------------------------------------------------------------------*
+* $Id: dfdat.f,v 2.4 2003/02/19 08:38:24 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DEFAULT
+
+ Character CHID
+ Integer IIPD(0:46)
+
+ Character CHMD
+ Integer IMPD(0:27)
+
diff --git a/dfnul.f b/dfnul.f
new file mode 100644
index 0000000..75c2bc6
--- /dev/null
+++ b/dfnul.f
@@ -0,0 +1,48 @@
+*----------------------------------------------------------------------*
+* $Id: dfnul.f,v 2.4 2003/03/26 14:40:29 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine DFNUL(FABC,P0,DABC,MABC)
+
+ Real FABC(0:26)
+ Character*(*) DABC
+
+ If(MABC.LT.20) then
+ MABC=4
+ DABC='ACGT'
+ Do I1=1,4
+ FABC(I1)=0.25
+ End do
+ Else
+ MABC=20
+ DABC='ACDEFGHIKLMNPQRSTVWY'
+ FABC( 1)=.08713
+ FABC( 2)=.03347
+ FABC( 3)=.04687
+ FABC( 4)=.04953
+ FABC( 5)=.03977
+ FABC( 6)=.08861
+ FABC( 7)=.03362
+ FABC( 8)=.03689
+ FABC( 9)=.08048
+ FABC(10)=.08536
+ FABC(11)=.01475
+ FABC(12)=.04043
+ FABC(13)=.05068
+ FABC(14)=.03826
+ FABC(15)=.04090
+ FABC(16)=.06958
+ FABC(17)=.05854
+ FABC(18)=.06472
+ FABC(19)=.01049
+ FABC(20)=.02992
+ End if
+
+ If(P0.LE.0.0) P0=1.0
+ Do I1=1,MABC
+ FABC(I1)=FABC(I1)*P0
+ End do
+
+ Return
+ End
diff --git a/djdat.f b/djdat.f
new file mode 100644
index 0000000..ae8d2df
--- /dev/null
+++ b/djdat.f
@@ -0,0 +1,16 @@
+*----------------------------------------------------------------------*
+* $Id: djdat.f,v 2.4 2003/02/19 08:38:24 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DISJOINT
+
+ Parameter (KDIS=2)
+ Parameter (KDPM=2)
+
+ Character*16 CDIS(KDIS)
+ Integer JDIP(KDIS)
+
+ Integer MDIS
+ Integer NDIP(KDPM)
+
diff --git a/ecp.prf b/ecp.prf
new file mode 100644
index 0000000..1e3e5b5
--- /dev/null
+++ b/ecp.prf
@@ -0,0 +1,57 @@
+ID ECOLI_PROM_RP70; MATRIX.
+AC NS00001;
+DT OCT-1993 (CREATED).
+DE E. coli RNA POL sigma-70 promoter.
+CC
+CC Note: The score for T at the 5th position of the TTGACA motif
+CC has been changed to 11 in order to reproduce the numbers
+CC shown in [Mulligan et al. 1984, NAR 12:789]. The normalization
+CC parameters were adjusted manually.
+CC
+MA /GENERAL_SPEC: ALPHABET='ACGT';
+MA /DISJOINT: DEFINITION=PROTECT; N1=37; N2=42;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=-96.81; R2=0.5931;
+MA TEXT='Homology Score';
+MA /NORMALIZATION: MODE=2; FUNCTION=LINEAR; R1=-10.198; R2=0.06215;
+MA TEXT='Log KBk2';
+MA /CUT_OFF: LEVEL=2; SCORE=256; N_SCORE=55.0; MODE=1;
+MA /CUT_OFF: LEVEL=1; SCORE=248; N_SCORE=50.0; MODE=1;
+MA /CUT_OFF: LEVEL=0; SCORE=240; N_SCORE=45.0; MODE=1;
+MA /DEFAULT: B0=*; B1=*; E0=*; E1=*; SY_M='*'; II=*;
+MA /I: B0= 0; B1= 0;
+MA /M: M= 11, 3, 3, 4;
+MA /M: M= 8, 4, 2, 7;
+MA /M: M= 8, 2, 4, 7;
+MA /M: M= 7, 4, 2, 8;
+MA /M: M= 8, 4, 4, 5;
+MA /M: M= 7, 3, 5, 6;
+MA /M: M= 3, 5, 5, 8;
+MA /M: M= 5, 2, 5, 9;
+MA /M: M= 5, 8, 5, 3;
+MA /M: M= 0, 1, 2,17; SY='T';
+MA /M: M= 1, 1, 1,18; SY='T';
+MA /M: M= 0, 2,17, 2; SY='G';
+MA /M: M= 14, 3, 1, 4; SY='A';
+MA /M: M= 5,11, 2, 3; SY='C';
+MA /M: M= 9, 2, 3, 7; SY='A';
+MA /M: M= 5, 5, 3, 9;
+MA /M:/M:/M:/M:/M:/M:/M:/M:/M:
+MA /I: MD=0; MM=1;/I: DM=1;/I: DM=1;/I: DM=6;/I: DM=14;/I: DM=6;/I: DM=1;
+MA /M: M= 4, 5, 2,10;
+MA /M: M= 5, 4, 5, 6;
+MA /M: M= 3, 5, 5, 8;
+MA /M: M= 4, 4, 8, 5;
+MA /M: M= 4, 5, 7, 6;
+MA /M: M= 0, 2, 2,17; SY='T';
+MA /M: M= 20, 0, 0, 1; SY='A';
+MA /M: M= 5, 3, 3, 9; SY='T';
+MA /M: M= 12, 3, 3, 3; SY='A';
+MA /M: M= 11, 4, 3, 4; SY='A';
+MA /M: M= 0, 1, 0,20; SY='T';
+MA /M: M= 7, 2, 6, 6;
+MA /M: M= 4, 7, 5, 5;
+MA /M: M= 6, 6, 6, 4;
+MA /I: E0=0; E1= 0;
+CC /TAXO-RANGE=???P?;
+CC /SITE=10-15, -35 regions; /SITE=37-42, -10 regions;
+//
diff --git a/gonnet.cmp b/gonnet.cmp
new file mode 100644
index 0000000..6af8e0b
--- /dev/null
+++ b/gonnet.cmp
@@ -0,0 +1,33 @@
+# PAM 250 matrix recommended by Gonnet, Cohen & Benner
+# Science June 5, 1992.
+# Values rounded to nearest integer
+#
+# mean= -0.6084 , stdev= 2.3180
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 2.0 0.0 0.0 0.0 0.0 -2.0 0.0 -1.0 -1.0 0.0 -1.0 -1.0 0.0 0.0 0.0 -1.0 1.0 1.0 0.0 -4.0 -2.0 0.0 A
+ 3.0 -2.0 3.0 2.0 -3.0 0.0 0.0 -3.0 0.0 -3.0 -2.0 3.0 -1.0 1.0 0.0 0.0 0.0 -2.0 -4.0 -2.0 1.0 B
+ 12.0 -3.0 -3.0 -1.0 -2.0 -1.0 -1.0 -3.0 -2.0 -1.0 -2.0 -3.0 -2.0 -2.0 0.0 0.0 0.0 -1.0 0.0 -2.0 C
+ 5.0 3.0 -4.0 0.0 0.0 -4.0 0.0 -4.0 -3.0 2.0 -1.0 1.0 0.0 0.0 0.0 -3.0 -5.0 -3.0 2.0 D
+ 4.0 -4.0 -1.0 0.0 -3.0 1.0 -3.0 -2.0 1.0 0.0 2.0 0.0 0.0 0.0 -2.0 -4.0 -3.0 3.0 E
+
+ 7.0 -5.0 0.0 1.0 -3.0 2.0 2.0 -3.0 -4.0 -3.0 -3.0 -3.0 -2.0 0.0 4.0 5.0 -3.0 F
+ 7.0 -1.0 -4.0 -1.0 -4.0 -4.0 0.0 -2.0 -1.0 -1.0 0.0 -1.0 -3.0 -4.0 -4.0 -1.0 G
+ 6.0 -2.0 1.0 -2.0 -1.0 1.0 -1.0 1.0 1.0 0.0 0.0 -2.0 -1.0 2.0 0.0 H
+ 4.0 -2.0 3.0 2.0 -3.0 -3.0 -2.0 -2.0 -2.0 -1.0 3.0 -2.0 -1.0 -2.0 I
+ 3.0 -2.0 -1.0 1.0 -1.0 2.0 3.0 0.0 0.0 -2.0 -4.0 -2.0 1.0 K
+
+ 4.0 3.0 -3.0 -2.0 -2.0 -2.0 -2.0 -1.0 2.0 -1.0 0.0 -2.0 L
+ 4.0 -2.0 -2.0 -1.0 -2.0 -1.0 -1.0 2.0 -1.0 0.0 -1.0 M
+ 4.0 -1.0 1.0 0.0 1.0 0.0 -2.0 -4.0 -1.0 1.0 N
+ 8.0 0.0 -1.0 0.0 0.0 -2.0 -5.0 -3.0 0.0 P
+ 3.0 2.0 0.0 0.0 -2.0 -3.0 -2.0 2.0 Q
+
+ 5.0 0.0 0.0 -2.0 -2.0 -2.0 1.0 R
+ 2.0 2.0 -1.0 -3.0 -2.0 0.0 S
+ 2.0 0.0 -4.0 -2.0 0.0 T
+ 3.0 -3.0 -1.0 -2.0 V
+ 14.0 4.0 -3.0 W
+
+ 8.0 -2.0 Y
+ 2.0 Z
diff --git a/gsdat.f b/gsdat.f
new file mode 100644
index 0000000..df899c1
--- /dev/null
+++ b/gsdat.f
@@ -0,0 +1,20 @@
+*----------------------------------------------------------------------*
+* $Id: gsdat.f,v 2.4 2003/02/19 08:38:24 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* GEN_SPEC
+
+ Integer LPRF
+ Logical LPCI
+
+ Integer NABC
+ Character*01 CABC(0:26)
+
+C Integer MBEG
+C Integer MEND
+
+ Real*8 BLOG
+ Real FABC(0:26)
+ Real P0
+
diff --git a/gtop.f b/gtop.f
new file mode 100644
index 0000000..bd627d1
--- /dev/null
+++ b/gtop.f
@@ -0,0 +1,215 @@
+* Program gtop
+*----------------------------------------------------------------------*
+* $Id: gtop.f,v 2.9 2003/11/28 11:53:33 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Reformats profiles: in-fmt=GRIBSKOV / out-fmt=PROSITE
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+*
+* DATA
+*----------------------------------------------------------------------*
+
+* array dimensions and I/O units
+
+ Include 'ardim.f'
+
+ Parameter (NOUT= 6)
+ Parameter (NGPR= 11)
+
+* profile and sequence fields
+
+ Character*512 FGPR
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+ Include 'sterr.f'
+
+* command line options and parameters
+
+ Logical LSYM
+ Logical LLLT
+ Logical LRNM
+
+* initialization of controlled vocabularies
+
+ Include 'cvini.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+ FGPR='-'
+ BLOG=0.0
+ LRNM=.FALSE.
+
+* read command line
+
+ RL=NLOW
+ Call Repar
+ * (FGPR,LSYM,LLLT,RG,RE,RF,RO,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''gtop 2.3 revision 5.d'',//
+ * ''Usage: gtop [ -aslhGEFO ] gcg-profile | - ''
+ * ''[ parameters ]'',/
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -a: apply asymmetric gap weighting mode.'',/
+ * '' -s: apply symmetric gap weighting mode (default).'',/
+ * '' -l: do not impose limit on line length.'',/
+ * '' -h: print usage help text.'',/
+ * '' -G<value>:'',/
+ * '' gap opening penalty (default: 4.5).'',/
+ * '' -E<value>:'',/
+ * '' gap extension penalty (default: 0.05).'',/
+ * '' -F<value>:'',/
+ * '' rescaling factor (default: 100).'',/
+ * '' -O<value>:'',/
+ * '' output score offset (default: 0). '',/
+ * '' Added to match scores after multiplication by '',
+ * ''the rescaling factor F.'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',//,
+ * '' [G=gap-weigth] use option -G instead'',/,
+ * '' [E=gap-extension-weight] use option -E instead'',/,
+ * '' [F=output-score-multiplier] use option -F instead'',/
+ * '' [O=output-score-offset] use option -O instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+* read profile
+
+ Call REGPR
+ * (NGPR,FGPR,
+ * RG,RE,RF,RO,LSYM,
+ * CPID,CPAC,CPDE,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * CHID,IIPD,CHMD,IMPD,
+ * IRC)
+
+ If(IRC.NE.0) go to 100
+
+ CPDT=' '
+ LHDR=0
+ LFTR=0
+
+ Call WRPRF
+ * (NOUT,LLLT,LRNM,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * BLOG,FABC,P0,
+ * CHID,IIPD,CHMD,IMPD,
+ * IRC)
+
+ 100 Call Exit(IRC)
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar
+ * (FGPR,LSYM,LLLT,RG,RE,RF,RO,IRC)
+
+ Character*512 CPAR
+ Character*(*) FGPR
+
+ Logical LSYM
+ Logical LLLT
+
+ LSYM=.TRUE.
+ LLLT=.TRUE.
+ RG=4.5
+ RE=0.05
+ RF=100
+ RO=0
+
+ FGPR=' '
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do 50 I1=1,N1
+ Call GetArg(I2,CPAR)
+ If (CPAR(1:1).EQ.'-'
+ * .AND.CPAR(2:2).NE.' '.AND.K1.EQ.0) then
+ If(Index(CPAR,'h').NE.0)go to 900
+ If(Index(CPAR,'a').NE.0) LSYM=.FALSE.
+ If(Index(CPAR,'l').NE.0) LLLT=.FALSE.
+ If(Index(CPAR,'G').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RG
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RG
+ End if
+ End if
+ If(Index(CPAR,'E').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RE
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RE
+ End if
+ End if
+ If(Index(CPAR,'F').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RF
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RF
+ End if
+ End if
+ If(Index(CPAR,'O').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RO
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RO
+ End if
+ End if
+ Else if(K1.EQ.0) then
+ K1=K1+1
+ FGPR=CPAR
+ Else
+ If (CPAR(1:2).EQ.'G=') then
+ Read(CPAR(3:),*,Err=900) RG
+ Else if(CPAR(1:2).EQ.'E=') then
+ Read(CPAR(3:),*,Err=900) RE
+ Else if(CPAR(1:2).EQ.'F=') then
+ Read(CPAR(3:),*,Err=900) RF
+ Else if(CPAR(1:2).EQ.'O=') then
+ Read(CPAR(3:),*,Err=900) RO
+ End if
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 60
+ 50 Continue
+
+ 60 If(K1.NE.1) Go to 900
+ 100 Return
+ 900 IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Include 'lblnk.f'
+ Include 'regpr.f'
+ Include 'wrprf.f'
diff --git a/hmdat.f b/hmdat.f
new file mode 100644
index 0000000..bc90262
--- /dev/null
+++ b/hmdat.f
@@ -0,0 +1,9 @@
+*----------------------------------------------------------------------*
+* $Id: hmdat.f,v 2.4 2003/02/23 11:51:56 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* HMM
+*
+ Real RIHM(0:46,0:IDMP)
+ Real RMHM(0:27,0:IDMP)
diff --git a/htop.f b/htop.f
new file mode 100644
index 0000000..55671ff
--- /dev/null
+++ b/htop.f
@@ -0,0 +1,677 @@
+* Program htop
+*----------------------------------------------------------------------*
+* $Id: htop.f,v 2.12 2003/12/01 13:33:04 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Reformats profiles: in-fmt=HMMER / out-fmt=PROSITE
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+* array dimensions and I/O units
+
+ Include 'ardim.f'
+
+ Parameter (NPRF= 5)
+ Parameter (NOUT= 6)
+ Parameter (NNUL= 12)
+
+* profile and sequence fields:
+
+ Character*512 FPRF
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+
+ Include 'sterr.f'
+
+* HMM
+ Include 'hmdat.f'
+
+ Character*512 FNUL
+
+* command line options and parameters
+
+ Real*8 DB
+ Real*8 DL
+
+ Logical OPTF
+ Logical OPTI
+ Logical OPTO
+ Logical OPTR
+ Logical OPTS
+ Logical LLLT
+ Logical LRNM
+ Logical LEOF
+ Logical LRPS
+
+ Integer INBP
+
+* initialization of controlled vocabularies
+
+ Include 'cvini.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+* initializations
+
+ IRC=0
+ LHDR=0
+ LEOF=.FALSE.
+ LRNM=.TRUE.
+ INBP=0
+
+* read command line arguments
+
+ Call Repar
+ * (OPTF,OPTI,OPTO,OPTR,OPTS,LLLT,LRPS,FPRF,FNUL,
+ * DB,RC,DL,NM,RP,RQ,RF,RH,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''htop 2.3 revision 5.d'',//
+ * ''Usage: htop [ -fhilosBCFHLMPQ ] [ hmm-file | - ] ''
+ * ''[ random-model-file ] [ parameters ]'',/
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -f: emulate HMM fragment search (HMMER1 specific).'',/
+ * '' -h: print usage help text.'',/
+ * '' -i: force insert extension scores to zero.'',/
+ * '' -l: do not impose limit on line length.'',/
+ * '' -o: assume input to be HMMER1 format (default:'',
+ * '' HMMER2).'',/
+ * '' -s: implement semiglobal alignment.''
+ * )')
+ Write(NERR,'(
+ * '' -B<value>: (HMMER1 specific)'',/
+ * '' normalization logarithmic base (default: 2.0).'',/
+ * '' -C<value>:'',/
+ * '' level zero cut-off value (default: 8.5).'',/
+ * '' -F<value>: (HMMER2 specific)'',/
+ * '' output score multiplier (default: 100).'',/
+ * '' -H<value>: (only effective with option -s)'',/
+ * '' initiation/termination score (default: *).''
+ * )')
+ Write(NERR,'(
+ * '' -L<value>: (HMMER1 specific)'',/
+ * '' score logarithmic base (default: 1.0233739).'',/
+ * '' -M<value>:'',/
+ * '' number of unprotected residues at end of '',
+ * ''profile (default: 5).'',/
+ * '' -P<value>:'',/
+ * '' percent profile length not included in '',
+ * ''protected area (default: 0).'',/
+ * '' -Q<value>:'',/
+ * '' odds ratio of unknown residues (default: 0.8).'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [B=norm-score-logbase] use option -B instead'',/,
+ * '' [C=cut-off-value] use option -C instead'',/,
+ * '' [F=rescaling factor] use option -F instead'',/,
+ * '' [H=high-cost-init-term-score] use option -H instead'',/,
+ * '' [L=profile-logbase] use option -L instead'',/,
+ * '' [M=length-unprotected-ends] use option -M instead'',/,
+ * '' [P=percent-unprotected-ends] use option -P instead'',/
+ * '' [Q=prob-of-unknown-residue] use option -Q instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+* read profile
+
+ 1 Continue
+
+ If(LEOF) go to 100
+ If(.NOT.OPTO) then
+ Call RHMMER2
+ * (NPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * BLOG,FABC,P0,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,IRC)
+
+ If(LEOF.AND.IRC.LT.0) then
+ If(INBP.GE.1) IRC=0
+ go to 100
+ End if
+ If(IRC.NE.0) go to 100
+
+* rescale
+*** To be modified: Add to hmmer1 profile reading ???
+ Do I1=0,LPRF
+ Do I2=0,46
+ If(IIPP(I2,I1).NE.NLOW)
+ * IIPP(I2,I1)=NINT(RF*IIPP(I2,I1))
+ End do
+ End do
+ Do I1=1,LPRF
+ Do I2=0,27
+ If(IMPP(I2,I1).NE.NLOW)
+ * IMPP(I2,I1)=NINT(RF*IMPP(I2,I1))
+ End do
+ End do
+
+ RNOP(1,1)=RNOP(1,1)+LOG10(350.0)
+ RNOP(2,1)=RNOP(2,1)/RF
+ BLOG=BLOG**(1/RF)
+ RCUT(1,1)=RC
+ ICUT(1)=NINT((RCUT(1,1)-RNOP(1,1))/RNOP(2,1))+1
+
+ If(RC.EQ.0) then
+ JCUT=2
+ MCLE(1)=0
+ CCUT(1)='!'
+ JCNM(1)=1
+ RCUT(1,1)=8.5
+ MCUT(1,1)=1
+ ICUT(1)=NINT((RCUT(1,1)-RNOP(1,1))/RNOP(2,1))+1
+ MCLE(2)=-1
+ CCUT(2)='?'
+ JCNM(2)=1
+ RCUT(1,2)=6.5
+ MCUT(1,2)=1
+ ICUT(2)=NINT((RCUT(1,2)-RNOP(1,1))/RNOP(2,1))+1
+ End if
+***
+
+* semilocal alignment mode
+
+ If(OPTS) then
+ IIPD(B0)=0
+ IIPD(E0)=0
+ Do I1=1,LPRF
+ IIPP(B0,I1-1)=0
+ IIPP(E0,I1)=0
+ End do
+ End if
+
+* option -i
+
+ If(OPTI) then
+ Do I1=0,LPRF
+ Do I2=0,NABC
+ IIPP(I2,I1)=0
+ End do
+ End do
+ End if
+
+ Go to 90
+ End if
+
+
+ Call RHMMER(NPRF,FPRF,LPRF,RIHM,RMHM,IDMP,NABC,CABC,INBP,IRC)
+ If(IRC.NE.0) go to 100
+
+* read null-model
+
+ If(FNUL.NE.' ') then
+ Call RHNUL(NNUL,FNUL,FABC,NABC,IRC)
+ If(IRC.NE.0) go to 100
+ Else
+ Do I2=1,NABC
+ FABC(I2)=0.0
+ End do
+ Do I1=1,LPRF
+ Do I2=1,NABC
+ FABC(I2)=FABC(I2)+RIHM(I2,I1)
+ End do
+ End do
+ Do I2=1,NABC
+ FABC(I2)=FABC(I2)/LPRF
+ End do
+ End if
+
+* header line definitions
+
+ If(FPRF.EQ.'-') FPRF='stdin'
+ CPID='HMMER-HMM'
+ CPAC='HH99999'
+ CPDT=' '
+ CPDE='Automatically reformatted from file '''
+ * // FPRF(1:Lblnk(FPRF))
+ * // '''.'
+
+* accessories
+
+ LPCI=.FALSE.
+
+ BLOG=DL
+ DL=1/LOG(DL)
+ P0=1.0
+
+ MDIS=2
+C If(NM.GT.0.AND.NM.LT.(LPRF/2)) then
+C NDIP(1)=1 +NM
+C NDIP(2)=LPRF-NM
+C Else
+C NM=LPRF/2
+C N1=MIN(NM,NINT(LPRF*RP/100))
+C NDIP(1)=1 +N1
+C NDIP(2)=LPRF-N1
+C End if
+C If(NDIP(1).GT.NDIP(2)) then
+C ITMP=NDIP(1)
+C NDIP(1)=NDIP(2)
+C NDIP(1)=ITMP
+C End if
+
+ JNOR=1
+ MNOR(1)=1
+ NNOR(1)=1
+ NNPR(1)=1
+ CNTX(1)='nscore'
+ RNOP(2,1)=1/LOG(DB)/DL
+ If(OPTF) then
+ RNOP(1,1)=DL*(LOG(Real(1-1000.0/1001))-LOG(4.0))*RNOP(2,1)
+ Else
+ RNOP(1,1)=0.0
+ End if
+
+ JCUT=1
+ MCLE(1)=0
+ CCUT(1)=' '
+ JCNM(1)=1
+ RCUT(1,1)=RC
+ MCUT(1,1)=1
+ ICUT(1)=NINT((RCUT(1,1)-RNOP(1,1))/RNOP(2,1))+1
+
+* defaults for match and insert positions
+
+ If(OPTF) then
+ IIPD(B1)=NINT(-DL*(LOG(Real(LPRF-1))))
+ IIPD(E1)=IIPD(B1)
+ IIPD(BM)=0
+ IIPD(BI)=NLOW
+ IIPD(BD)=NLOW
+ IIPD(ME)=0
+ IIPD(IE)=NLOW
+ IIPD(DE)=NLOW
+ Else
+ IIPD(B1)=NLOW
+ IIPD(E1)=NLOW
+ End if
+
+ If(OPTS) then
+ IIPD(B0)=0
+ IIPD(E0)=0
+ Else
+ IIPD(B0)=IIPD(B1)
+ IIPD(E0)=IIPD(E1)
+ End if
+
+ IMPD( D)=0
+
+ IIPD(BM)=0
+ IIPD(BI)=NLOW
+ IIPD(BD)=NLOW
+
+ IIPD(ME)=0
+ IIPD(IE)=NLOW
+ IIPD(DE)=NLOW
+
+ IIPD(BE)=NLOW
+ IIPD(MM)=0
+ IIPD(MI)=0
+ IIPD(MD)=0
+ IIPD(IM)=0
+ IIPD(II)=0
+ IIPD(ID)=0
+ IIPD(DM)=0
+ IIPD(DI)=0
+ IIPD(DD)=0
+
+ IIPD(I0)=NINT(DL*LOG(RQ))
+ If(OPTI) IIPD(I0)=0
+
+ CHID='-'
+ Do I1=1,26
+ IIPD(I1)=0
+ End do
+
+ IMPD(M0)=NINT(DL*LOG(RQ))
+ IMPD(D )=0
+ CHMD='X'
+ Do I1=1,26
+ IMPD(I1)=0
+ End do
+
+ Do I1=0,LPRF
+ Do I2=0,27
+ IMPP(I2,I1)=IMPD(I2)
+ End do
+ Do I2=0,46
+ IIPP(I2,I1)=IIPD(I2)
+ End do
+ End do
+
+* convert probabilities into profile-scores
+
+ Do I1=0,LPRF
+ IIPP(MM,I1)=NLOW
+ IIPP(MD,I1)=NLOW
+ IIPP(MI,I1)=NLOW
+ IIPP(DM,I1)=NLOW
+ IIPP(DD,I1)=NLOW
+ IIPP(DI,I1)=NLOW
+ IIPP(IM,I1)=NLOW
+ IIPP(ID,I1)=NLOW
+ IIPP(II,I1)=NLOW
+ If(RIHM(MM,I1).GT.0) IIPP(MM,I1)=NINT(DL*LOG(RIHM(MM,I1)))
+ If(RIHM(MD,I1).GT.0) IIPP(MD,I1)=NINT(DL*LOG(RIHM(MD,I1)))
+ If(RIHM(MI,I1).GT.0) IIPP(MI,I1)=NINT(DL*LOG(RIHM(MI,I1)))
+ If(RIHM(DM,I1).GT.0) IIPP(DM,I1)=NINT(DL*LOG(RIHM(DM,I1)))
+ If(RIHM(DD,I1).GT.0) IIPP(DD,I1)=NINT(DL*LOG(RIHM(DD,I1)))
+ If(RIHM(DI,I1).GT.0) IIPP(DI,I1)=NINT(DL*LOG(RIHM(DI,I1)))
+ If(RIHM(IM,I1).GT.0) IIPP(IM,I1)=NINT(DL*LOG(RIHM(IM,I1)))
+ If(RIHM(ID,I1).GT.0) IIPP(ID,I1)=NINT(DL*LOG(RIHM(ID,I1)))
+ If(RIHM(II,I1).GT.0) IIPP(II,I1)=NINT(DL*LOG(RIHM(II,I1)))
+
+ Do I2=1,NABC
+ If(RMHM(I2,I1).GT.0) then
+ IMPP(I2,I1)=NINT(DL*LOG(RMHM(I2,I1)/FABC(I2)))
+ Else
+ IMPP(I2,I1)=NLOW
+ End if
+ End do
+
+ If(OPTI) then
+ IIPP(I2,I1)=0
+ Else
+ Do I2=1,NABC
+ If(RIHM(I2,I1).GT.0) then
+ IIPP(I2,I1)=NINT(DL*LOG(RIHM(I2,I1)/FABC(I2)))
+ Else
+ IIPP(I2,I1)=NLOW
+ End if
+ End do
+ End if
+ End do
+
+* beginning and end
+
+ If(.NOT.OPTF) then
+ IIPP(BM, 0)=IIPP(MM, 0)
+ IIPP(BD, 0)=IIPP(MD, 0)
+ IIPP(BI, 0)=IIPP(MI, 0)
+ IIPP(ME,LPRF)=IIPP(MM,LPRF)
+ IIPP(DE,LPRF)=IIPP(DM,LPRF)
+ IIPP(IE,LPRF)=IIPP(IM,LPRF)
+ End if
+
+ IIPP(B0, 0)=0
+ IIPP(B1, 0)=0
+ IIPP(E0,LPRF)=0
+ IIPP(E1,LPRF)=0
+
+* generate consensus sequence
+
+ CHIP( 0)='-'
+ Do I1=1,LPRF
+ CHMP(I1)=CABC( 1)
+ CHIP(I1)=CHID
+ K1=IMPP( 1,I1)
+ Do I2=1,NABC
+ If(IMPP(I2,I1).GT.K1) then
+ K1=IMPP(I2,I1)
+ CHMP(I1)=CABC(I2)
+ End if
+ End do
+ End do
+
+ 90 Continue
+
+* parameters P,M
+
+ If((.NOT.LRPS).AND.(NM.GT.0.AND.NM.LT.(LPRF/2))) then
+ NDIP(1)=1 +NM
+ NDIP(2)=LPRF-NM
+ Else
+ NM=LPRF/2
+ N1=MIN(NM,NINT(LPRF*RP/100))
+ NDIP(1)=1 +N1
+ NDIP(2)=LPRF-N1
+ End if
+ If(NDIP(1).GT.NDIP(2)) then
+ ITMP=NDIP(1)
+ NDIP(1)=NDIP(2)
+ NDIP(1)=ITMP
+ End if
+C If(NM.EQ.0) NM=LPRF/2
+C N1=MIN(NM,NINT(LPRF*RP/100))
+C NDIP(1)=1 +N1
+C NDIP(2)=LPRF-N1
+
+
+* final modifications (parameter)
+
+ If(RH.GT.0.0) then
+ If(OPTR) then
+ NH=-RH/RNOP(2,1)
+ Else
+ NH=-RH*RF
+ End if
+ IIPD(B0)=MAX(IIPD(B0),NH)
+ IIPD(B1)=MAX(IIPD(B1),NH)
+ IIPD(E1)=MAX(IIPD(E1),NH)
+ IIPD(E0)=MAX(IIPD(E0),NH)
+ Do I1=0,LPRF
+ IIPP(B0,I1)=MAX(IIPP(B0,I1),NH)
+ IIPP(B1,I1)=MAX(IIPP(B1,I1),NH)
+ IIPP(E1,I1)=MAX(IIPP(E1,I1),NH)
+ IIPP(E0,I1)=MAX(IIPP(E0,I1),NH)
+ End do
+ End if
+
+* write profile
+
+
+ LFTR=1
+ CFTR(1)='CC /GENERATED_BY="'
+ Call Recmd(CFTR(1)(21:130))
+ IC=Lblnk(CFTR(1))
+ CFTR(1)(IC+1:)='";'
+
+ Call WRPRF
+ * (NOUT,LLLT,LRNM,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * BLOG,FABC,P0,
+ * CHID,IIPD,CHMD,IMPD,
+ * IRC)
+
+ If(.NOT.OPTO) Go to 1
+
+ 100 Call Exit(IRC)
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar
+ * (OPTF,OPTI,OPTO,OPTR,OPTS,LLLT,LRPS,FPRF,FNUL,
+ * DB,RC,DL,NM,RP,RQ,RF,RH,IRC)
+
+ Character*512 CARG
+ Character*(*) FPRF
+ Character*(*) FNUL
+
+ Real*8 DB
+ Real*8 DL
+
+ Logical OPTF
+ Logical OPTI
+ Logical OPTO
+ Logical OPTR
+ Logical OPTS
+ Logical LLLT
+ Logical LRPS
+
+* initializations
+
+ OPTF=.FALSE.
+ OPTI=.FALSE.
+ OPTR=.FALSE.
+ OPTS=.FALSE.
+ OPTO=.FALSE.
+ LLLT=.TRUE.
+ LRPS=.FALSE.
+ DB=2.0
+ RC=0.0
+ DL=1.0233739
+ NM=5
+ RP=0.0
+ RQ=0.8
+ RH=0.0
+
+ FPRF=' '
+ FNUL=' '
+ RF=1.0
+
+ IRC=0
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do I1=1,N1
+ Call GetArg(I2,CARG)
+ If(CARG(1:1).EQ.'-'
+ * .AND.CARG(2:2).NE.' ') then
+ If(Index(CARG,'h').NE.0) Go to 900
+ If(Index(CARG,'f').NE.0) OPTF=.TRUE.
+ If(Index(CARG,'i').NE.0) OPTI=.TRUE.
+ If(Index(CARG,'o').NE.0) OPTO=.TRUE.
+ If(Index(CARG,'r').NE.0) OPTR=.TRUE.
+ If(Index(CARG,'s').NE.0) OPTS=.TRUE.
+ If(Index(CARG,'l').NE.0) LLLT=.FALSE.
+ If(Index(CARG,'B').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) DB
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) DB
+ End if
+ End if
+ If(Index(CARG,'C').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RC
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RC
+ End if
+ End if
+ If(Index(CARG,'F').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RF
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RF
+ End if
+ End if
+ If(Index(CARG,'L').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) DL
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) DL
+ End if
+ End if
+ If(Index(CARG,'M').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NM
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NM
+ End if
+ End if
+ If(Index(CARG,'P').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RP
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RP
+ End if
+ LRPS=.TRUE.
+ End if
+ If(Index(CARG,'Q').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RQ
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RQ
+ End if
+ End if
+ If(Index(CARG,'H').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RH
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RH
+ End if
+ End if
+ Else if(CARG(1:2).EQ.'B=') then
+ Read(CARG(3:),*,Err=900) DB
+ Else if(CARG(1:2).EQ.'C=') then
+ Read(CARG(3:),*,Err=900) RC
+ Else if(CARG(1:2).EQ.'F=') then
+ Read(CARG(3:),*,Err=900) RF
+ Else if(CARG(1:2).EQ.'L=') then
+ Read(CARG(3:),*,Err=900) DL
+ Else if(CARG(1:2).EQ.'M=') then
+ Read(CARG(3:),*,Err=900) NM
+ Else if(CARG(1:2).EQ.'P=') then
+ Read(CARG(3:),*,Err=900) RP
+ Else if(CARG(1:2).EQ.'Q=') then
+ Read(CARG(3:),*,Err=900) RQ
+ Else if(CARG(1:2).EQ.'H=') then
+ Read(CARG(3:),*,Err=900) RH
+ Else if(K1.LE.1) then
+ K1=K1+1
+ If (K1.EQ.1) then
+ FPRF=CARG
+ Else if(K1.EQ.2) then
+ FNUL=CARG
+ End if
+ Else
+ Go to 900
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ End do
+
+ 20 If(FPRF.EQ.' ') Go to 900
+ If(RP.LT.0.OR.RP.GT.100) Go to 900
+
+ 100 Return
+ 900 IRC=-1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Include 'rhmmer.f'
+ Include 'rhmmer2.f'
+ Include 'rhnul.f'
+ Include 'recmd.f'
+ Include 'wrprf.f'
+ Include 'lblnk.f'
diff --git a/install_pftools.sh b/install_pftools.sh
new file mode 100755
index 0000000..3e4c899
--- /dev/null
+++ b/install_pftools.sh
@@ -0,0 +1,228 @@
+#! /usr/bin/env bash
+#
+# $Id: install_pftools.sh,v 1.4 2003/09/22 15:17:03 vflegel Exp $
+#
+# This shell script installs all components of the pftools package into
+# the specified directories.
+#
+# Usage: install_pftools.sh <baseDirectory>
+#
+# Description: The script will copy the package components into a given
+# base directory. This directory is given as a command line
+# parameter of the shell script, but may be redefined through
+# user input. It then makes links to the executables in
+# a user defined bin directory as well as links to the man pages
+# in a user specified man directory.
+#
+# Author: Volker Flegel
+# Email: pftools at isb-sib.ch
+#
+# Date: May 2003
+#
+
+# Get program name
+prgName=`basename "$0"`
+
+# Helper functions
+Usage () {
+ echo "$prgName - install the pftools package, man pages and executables.
+
+Usage: $prgName <baseDirectory>
+ baseDirectory directory where the pftools orginal files should be \
+installed.
+
+" >&2
+ exit 1
+}
+
+Msg () {
+ echo
+ for MsgLine
+ do echo "$prgName: $MsgLine" >&2
+ done
+}
+
+Fatal () { Msg "$@"; exit 1; }
+
+# Check command line arguments
+if [ $# != 1 ]; then
+ Usage
+fi
+
+# Set command variables
+rmCmd=`which rm`
+cpCmd=`which cp`
+
+# Set package directories
+pkgDir="$1"
+binDir="/usr/bin/"
+manDir="/usr/man/"
+
+# Inform user about script action
+echo
+echo "This will install the pftools package and components into their"
+echo "respective directories."
+echo
+echo "Make sure you have write permissions on the different installation directories."
+echo
+
+# Get package directory
+echo -n "Where should the pftools package be installed ? [ $pkgDir ] "
+read userInput
+pkgDir=${userInput:-$pkgDir}
+
+# Get binary directory
+echo -n "Where should the pftools executables be installed ? [ $binDir ] "
+read userInput
+binDir=${userInput:-$binDir}
+
+# Get man page directory
+echo -n "Where should the pftools man pages be installed ? [ $manDir ] "
+read userInput
+manDir=${userInput:-$manDir}
+
+# Test and remove package directory
+if [ -d $pkgDir ]; then
+ echo
+ echo "Package directory $pkgDir already exists."
+ echo "Please choose another destination."
+# echo "Overwrite directory $pkgDir ? [ y/n ] "
+# read -s -n 1 userInput
+# if [ "$userInput" == 'y' ]; then
+# echo -n " Removing directory $pkgDir ... "
+# $rmCmd -rf $pkgDir 2>/dev/null || Fatal "Failed to remove $pkgDir";
+# echo "OK"
+# else
+ Fatal "... aborting."
+# fi
+fi
+
+# Create package directory
+echo
+echo -n " Creating directory $pkgDir ... "
+mkdir -p $pkgDir 2>/dev/null || Fatal "Failed to create $pkgDir";
+echo "OK"
+
+# Create package subdirectory
+for subDir in bin man; do
+ echo -n " Creating directory ${pkgDir}/${subDir} ... "
+ mkdir -p ${pkgDir}/${subDir} 2>/dev/null || Fatal "Failed to create ${pkgDir}/${subDir}";
+ echo "OK"
+done
+
+
+# Test and create binary directory
+if [ ! -d $binDir ]; then
+ echo
+ echo "Binary directory $binDir does not exist."
+ echo "Create directory $binDir ? [ y/n ] "
+ read -s -n 1 userInput
+ if [ "$userInput" == 'y' ]; then
+ echo -n " Creating directory $binDir ... "
+ mkdir -p $binDir 2>/dev/null || Fatal "Failed to create $binDir";
+ echo "OK"
+ else
+ Fatal "... aborting."
+ fi
+fi
+
+# Test and create man directory
+if [ ! -d $manDir ]; then
+ echo
+ echo "Man page directory $manDir does not exist."
+ echo "Create directory $manDir ? [ y/n ] "
+ read -s -n 1 userInput
+ if [ "$userInput" == 'y' ]; then
+ echo -n " Creating directory $manDir ... "
+ mkdir -p $manDir 2>/dev/null || Fatal "Failed to create $manDir";
+ echo "OK"
+ else
+ Fatal "... aborting."
+ fi
+fi
+
+# Test and create man1 and man5 directories
+for subDir in ${manDir}/man1 ${manDir}/man5; do
+ if [ ! -d $subDir ]; then
+ echo -n " Creating directory $subDir ... "
+ mkdir -p $subDir 2>/dev/null || Fatal "Failed to create $subDir";
+ echo "OK"
+ fi
+done
+
+# Copy package files to package directory
+pkgFiles="CVPBR322 GTPA_HUMAN MYSA_HUMAN coils.prf pam220.cmp score.lis ecp.prf pam250.cmp sh3.gpr \
+R76849.seq gonnet.cmp pam30.cmp sh3.msf blosum100.cmp pam40.cmp sh3.prf \
+blosum30.cmp pam400.cmp sh3.seq blosum45.cmp pam80.cmp standard.random blosum50.cmp pfam_sh3.hmm test.out \
+blosum62.cmp pam120.cmp test.sh blosum65.cmp pam160.cmp profile.txt blosum80.cmp pam200.cmp \
+README prosite13.prf"
+
+for myFile in $pkgFiles; do
+ $cpCmd $myFile ${pkgDir}/${myFile} 2>/dev/null || Fatal "Failed to copy $myFile";
+done
+
+# Copy and link binary files to bin directory
+binFiles="gtop pfmake pfscan pfw ptoh htop pfscale pfsearch psa2msa 2ft 6ft ptof"
+unset allFiles
+
+for myFile in $binFiles; do
+ if ([ -e ${binDir}/${myFile} ] || [ -h ${binDir}/${myFile} ]) && [ "$allFiles" != 'a' ]; then
+ echo "Destination file '${binDir}/${myFile}' exists."
+ echo "Overwrite file '${binDir}/${myFile}' ? [ yes/no/all ] "
+ read -s -n 1 allFiles
+ if [ "$allFiles" != 'y' ] && [ "$allFiles" != 'a' ]; then
+ Fatal "Another version of $myFile exists. Aborting..."
+ fi
+ fi
+ if [ -e ${binDir}/${myFile} ] || [ -h ${binDir}/${myFile} ]; then
+ $rmCmd -f ${binDir}/${myFile} 2>/dev/null || Fatal "Failed to remove $myFile";
+ fi
+ $cpCmd $myFile ${pkgDir}/bin/${myFile} || Fatal "Failed to copy $myFile";
+ ln -s ${pkgDir}/bin/$myFile ${binDir}/${myFile} || Fatal "Failed to link $myFile";
+done
+
+# Copy and link man1 files to man1 directory
+manFiles="gtop.1 pfmake.1 pfscan.1 pfw.1 ptoh.1 htop.1 pfscale.1 pfsearch.1 psa2msa.1 2ft.1 6ft.1 ptof.1"
+unset allFiles
+
+for myFile in $manFiles; do
+ if ([ -e ${manDir}/man1/${myFile} ] || [ -h ${manDir}/man1/${myFile} ]) && [ "$allFiles" != 'a' ]; then
+ echo "Destination file '${manDir}/man1/${myFile}' exists."
+ echo "Overwrite file '${manDir}/man1/${myFile}' ? [ yes/no/all ] "
+ read -s -n 1 allFiles
+ if [ "$allFiles" != 'y' ] && [ "$allFiles" != 'a' ]; then
+ Fatal "Another version of $myFile exists. Aborting..."
+ fi
+ fi
+ if [ -e ${manDir}/man1/${myFile} ] || [ -h ${manDir}/man1/${myFile} ]; then
+ $rmCmd -f ${manDir}/man1/${myFile} 2>/dev/null || Fatal "Failed to remove $myFile";
+ fi
+ $cpCmd man/$myFile ${pkgDir}/man/${myFile} 2>/dev/null || Fatal "Failed to copy $myFile";
+ ln -s ${pkgDir}/man/$myFile ${manDir}/man1/${myFile} 2>/dev/null || Fatal "Failed to link $myFile";
+done
+
+# Copy and link man5 files to man5 directory
+manFiles=" psa.5 xpsa.5"
+unset allFiles
+
+for myFile in $manFiles; do
+ if ([ -e ${manDir}/man5/${myFile} ] || [ -h ${manDir}/man5/${myFile} ]) && [ "$allFiles" != 'a' ]; then
+ echo "Destination file '${manDir}/man5/${myFile}' exists."
+ echo "Overwrite file '${manDir}/man5/${myFile}' ? [ yes/no/all ] "
+ read -s -n 1 allFiles
+ if [ "$allFiles" != 'y' ] && [ "$allFiles" != 'a' ]; then
+ Fatal "Another version of $myFile exists. Aborting..."
+ fi
+ fi
+ if [ -e ${manDir}/man5/${myFile} ] || [ -h ${manDir}/man5/${myFile} ]; then
+ $rmCmd -f ${manDir}/man5/${myFile} 2>/dev/null || Fatal "Failed to remove $myFile";
+ fi
+ $cpCmd man/$myFile ${pkgDir}/man/${myFile} 2>/dev/null || Fatal "Failed to copy $myFile";
+ ln -s ${pkgDir}/man/$myFile ${manDir}/man5/${myFile} 2>/dev/null || Fatal "Failed to link $myFile";
+done
+
+echo
+echo "Installation seems successful."
+echo
+echo "Install directories: $pkgDir $binDir $manDir"
+exit 0
diff --git a/io.c b/io.c
new file mode 100644
index 0000000..6f48f8e
--- /dev/null
+++ b/io.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+
+int getc_(ch, ch_len)
+ char *ch;
+ int *ch_len;
+{
+ int ret_val;
+ *ch = getc(stdin);
+ if(*(unsigned char *)ch == 255) {
+ ret_val = -1;
+ } else {
+ ret_val = -0;
+ }
+ return ret_val;
+}
diff --git a/jprsm.f b/jprsm.f
new file mode 100644
index 0000000..277ed86
--- /dev/null
+++ b/jprsm.f
@@ -0,0 +1,97 @@
+*----------------------------------------------------------------------*
+* $Id: xprsm.f,v 2.12 2003/12/09 13:42:42 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine JPRSM(CHID,CHAC,CHFH,OPTF,JALB,JALE)
+
+* logical switches
+
+ Logical OPTF
+
+* sequence and profile header
+
+ Character*(*) CHID
+ Character*(*) CHAC
+ Character*(*) CHFH
+
+* Output fields
+
+ Character*64 CHLO
+ Character*64 CHMO
+ Character*64 CHMI
+ Character*512 RCEX
+
+* prepare output fields
+
+* - profile name (motif)
+
+ CHMO='motif= '
+
+ L1=Lblnk(CHID)
+ L2=Lblnk(CHAC)
+ L3=6
+ If(L2-1.GT.0) then
+ CHMO=CHMO(1:L3) // CHAC(1:L2)
+ L3=L3+L2
+ End if
+ If(L1.GT.0) then
+ CHMO=CHMO(1:L3) // CHID(1:L1)
+ End if
+ If(L2-1.LE.0.AND.L1.EQ.0) then
+ CHMO=CHMO(1:6) // 'unknown'
+ End if
+
+ ILMO=Lblnk(CHMO)
+
+* - entry-ref
+
+ If(OPTF) then
+ L1=Lblnk(CHFH)
+ If (L1.EQ.0) then
+ CHMI='unknown'
+ ILMI=7
+ Else
+ CHMI=CHFH(1:L1)
+ ILMI=MIN(64,L1)
+ Endif
+ Else
+ L1=Lblnk(CHAC)
+ L2=Lblnk(CHID)
+ CHMI=CHAC(1:L1) // CHID(1:L2)
+ ILMI=MIN(64,L1+L2)
+ End if
+
+* - location
+ Write(CHLO,*) JALB,'-',JALE
+ J1=0
+ Do I1=1,Lblnk(CHLO)
+ If(CHLO(I1:I1).NE.' ') then
+ J1=J1+1
+ CHLO(J1:J1)=CHLO(I1:I1)
+ CHLO(I1:I1)=' '
+ End if
+ End do
+ ILLO=Lblnk(CHLO)
+
+* assemble ouput record
+
+ LNEX=0
+
+ RCEX(LNEX+1:)='>' // CHMI
+ LNEX=LNEX+ILMI+2
+
+ RCEX(LNEX:)='/' // CHLO
+ LNEX=LNEX+ILLO+1
+
+ RCEX(LNEX+1:)=CHMO
+ LNEX=LNEX+ILMO+1
+
+* Write output record
+ If(LNEX.GT.512) then
+ LNEX=512
+ End if
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,LNEX)
+
+ 100 Return
+ End
diff --git a/lblnk.f b/lblnk.f
new file mode 100644
index 0000000..86de567
--- /dev/null
+++ b/lblnk.f
@@ -0,0 +1,20 @@
+*----------------------------------------------------------------------*
+* $Id: lblnk.f,v 2.6 2003/11/28 11:56:35 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Integer Function Lblnk(STRING)
+ Character*(*) STRING
+
+ L=Len(STRING)
+ Lblnk=0
+
+ Do I1=L,1,-1
+ If(STRING(I1:I1).NE.' ') then
+ Lblnk=I1
+ return
+ End if
+ End do
+
+ Return
+ End
diff --git a/man/2ft.1 b/man/2ft.1
new file mode 100644
index 0000000..169d933
--- /dev/null
+++ b/man/2ft.1
@@ -0,0 +1,125 @@
+.\"
+.\" $Id: 2ft.1,v 1.2 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH 2FT 1 "May 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+2ft \- 2-frame translation of a DNA sequence into protein
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B 2ft
+[
+.B \-h
+] [
+.B \-r
+|
+.B \-s
+] [
+.B \-W
+.I width
+]
+.B <
+.I sequence_library
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B 2ft
+converts both strands of one or several DNA sequences into so-called
+.RI \(dq interleaved\ frame-translated \(dq
+DNA sequences. An
+.RI \(dq interleaved\ frame-translated \(dq
+DNA sequence is an amino acid sequence of translated
+overlapping codons. For instance, the DNA sequence
+"ATGGCA" consisting of four overlapping codons would be translated into the amino acid sequence
+"MWGA", representing the translation of the 1st codon of the 1st reading frame,
+the 1st codon of the 2nd reading frame, the 1st codon of the 3rd reading frame and the 2nd codon
+of the 1st reading frame.
+Stop codons are represented by the character
+.RB \(dq O \(dq.
+The program
+.B 2ft
+reads fasta formatted DNA sequences from standard input. If the sequences
+are contained in a file, the input can be redirected from this file using the
+shell's input redirector
+.RB ' < '
+as shown in the
+.I synopsis
+section.
+The
+.I sequence_library
+contains one or several sequences in Pearson/Fasta format.
+.LP
+This program is used for searching genomic or EST sequence databases
+with frame-search profiles generated by pftools program
+.BR ptof (1).
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- r ---
+.TP
+.B \-r
+Translate only reverse (antisense) strand.
+.br
+This option is mutualy exclusive with option
+.BR \-s .
+.br
+Default: translate both strands
+.\" --- s ---
+.TP
+.B \-s
+Translate only sense strand.
+.br
+This option is mutualy exclusive with option
+.BR \-r .
+.br
+Default: translate both strands
+.\" --- W ---
+.TP
+.BI \-W\ width
+Set sequence output width.
+.br
+The value of
+.RI ' width '
+specifies how many residues will be output on one line.
+.br
+Type: integer
+.br
+Default: 60
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.I See
+manual pages of pftools program
+.BR ptof (1).
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR ptof (1)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/6ft.1 b/man/6ft.1
new file mode 100644
index 0000000..f79a844
--- /dev/null
+++ b/man/6ft.1
@@ -0,0 +1,127 @@
+.\"
+.\" $Id: 6ft.1,v 1.2 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH 6FT 1 "May 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+6ft \- 6-frame translation of a DNA sequence into protein
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B 6ft
+[
+.B \-h
+] [
+.B \-r
+|
+.B \-s
+] [
+.B \-W
+.I width
+]
+.B <
+.I sequence_library
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B 6ft
+translates all six reading frames of a double-stranded DNA sequence into
+individual protein sequences.
+Stop codons are represented by character
+.RB \(dq O \(dq.
+The program
+.B 6ft
+reads input fasta formatted DNA sequences from standard input. If the sequences
+are contained in a file, the input can be redirected from this file using the
+shell's input redirector
+.RB ' < '
+as shown in the
+.I synopsis
+section.
+The
+.I sequence_library
+contains one or several sequences in Pearson/Fasta format.
+.LP
+This program may be used for searching genomic or EST sequence databases
+with a protein profile. Better results are usually obtained by first
+converting the protein profile into a frame-search profile, and then
+searching a 2-frame translation of the DNA sequence database generated with
+pftools program
+.BR 2ft (1),
+.I see
+manual pages of pftools programs
+.BR ptof (1)
+and
+.BR 2ft (1).
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- r ---
+.TP
+.B \-r
+Translate only reverse (antisense) strand.
+.br
+This option is mutualy exclusive with option
+.BR \-s .
+.br
+Default: translate both strands
+.\" --- s ---
+.TP
+.B \-s
+Translate only sense strand.
+.br
+This option is mutualy exclusive with option
+.BR \-r .
+.br
+Default: translate both strands
+.\" --- W ---
+.TP
+.BI \-W\ width
+Set sequence output width.
+.br
+The value of
+.RI ' width '
+specifies how many residues will be output on one line.
+.br
+Type: integer
+.br
+Default: 60
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.I See
+manual pages of pftools program
+.BR ptof (1).
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR ptof (1),
+.BR pfsearch (1),
+.BR pfscan (1)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/gtop.1 b/man/gtop.1
new file mode 100644
index 0000000..d4886e6
--- /dev/null
+++ b/man/gtop.1
@@ -0,0 +1,261 @@
+.\"
+.\" $Id: gtop.1,v 1.1 2003/05/12 11:50:03 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH GTOP 1 "April 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+gtop \- convert a profile in
+.SM GCG
+format into
+.SM PROSITE
+format
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B gtop
+[
+.B \-ahls
+] [
+.B \-E
+.I gap_extend
+] [
+.B \-F
+.I rescale
+] [
+.B \-G
+.I gap_open
+] [
+.B \-O
+.I offset
+]
+.I gcg_profile
+|
+.B \-
+[
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B gtop
+converts a profile generated by the
+.SM GCG
+program
+.BR ProfileMake ,
+or by a
+.SM GCG
+compatible profile construction program,
+into
+.SM PROSITE
+format, and optionally
+rescales the profile.
+The result is written to the standard output.
+On input,
+.B gtop
+divides all weights of the profile by 100, as
+.SM GCG
+programs do.
+On output, profile scores are multiplied by the rescaling factor
+.I F
+and rounded to the nearest integer.
+If symmetric gap weighting mode is chosen, the gap opening weights
+are divided
+by 2 and assigned to the
+.IR MI , \ MD , \ IM ,
+and
+.I DM
+transition scores.
+If asymmetric gap weighting mode is chosen, the gap opening weights
+are left unchanged and assigned to the
+.I MI
+and
+.I MD
+transition scores only.
+If no argument is specified, the program attempts to read the
+.SM GCG
+formatted profile from the standard input.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- gcg_profile ---
+.TP
+.I gcg_profile
+Input
+.SM GCG
+profile.
+If the filename is replaced by a
+.RB ' \- ',
+.B gtop
+will read the input profile from
+.BR stdin .
+.\" --- a ---
+.TP
+.B \-a
+Apply asymmetric gap weighting mode (see the
+.I description
+section).
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- l ---
+.TP
+.B \-l
+Remove output line length limit. Individual lines of the output profile
+can exceed a length of 132 characters, removing the need to wrap them over several lines.
+.\" --- s ---
+.TP
+.B \-s
+Apply symmetric gap weighting mode (default) (see the
+.I description
+section).
+.\" --- E ---
+.TP
+.BI \-E\ gap_extend
+Gap extension penalty.
+.br
+Default: 0.05
+.\" --- F ---
+.TP
+.BI \-F\ rescale
+Score rescaling factor.
+.br
+Default: 100
+.\" --- G ---
+.TP
+.BI \-G\ gap_open
+Gap opening penalty.
+.br
+Default: 4.5
+.\" --- O ---
+.TP
+.BI \-O\ offset
+Output score offset. This value is added to all profile match scores
+after multiplication by the rescaling factor
+.IR F .
+.br
+Default: 0
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+E=#
+Gap extension penalty.
+.br
+Use option
+.B \-E
+instead.
+.TP
+F=#
+Output score rescaling factor.
+.br
+Use option
+.B \-F
+instead.
+.TP
+G=#
+Gap opening penalty.
+.br
+Use option
+.B \-G
+instead.
+.TP
+O=#
+Output score offset.
+.br
+Use option
+.B \-O
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B gtop
+-G 1.0 -E 1.0 -F 50 sh3.gpr |
+.B pfsearch
+-far - sh3.seq |
+.B sort
+-nr
+.IP
+First converts the
+.SM GCG
+profile
+.RI ' sh3.gpr '
+into
+.SM PROSITE
+format,
+then searches the protein library
+.RI ' sh3.seq '
+with the reformatted profile
+to generate a sorted list of optimal alignment scores.
+The
+.BR pfsearch (1)
+option
+.B \-r
+causes alignment scores to be expressed in raw score units.
+.RI ' sh3.seq '
+contains 20 SH3 domain-containing protein sequences from
+.SM SWISS-PROT
+release 32.
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B gtop
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" Bugs section
+.\" ------------------------------------------------
+.SH BUGS
+.B gtop
+defines
+.I SCORE=0; N_SCORE=0;
+for the mandatory cut-off level zero. These parameters should be changed
+to more reasonable values using a text editor, prior to profile search
+operations.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfsearch (1),
+.BR pfscan (1),
+.BR pfmake (1),
+.BR sort (1)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/htop.1 b/man/htop.1
new file mode 100644
index 0000000..5d7bd34
--- /dev/null
+++ b/man/htop.1
@@ -0,0 +1,375 @@
+.\"
+.\" $Id: htop.1,v 1.2 2003/11/18 10:54:42 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH HTOP 1 "May 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+htop \- convert a
+.SM HMMER
+ASCII-formatted HMM into an equivalent
+.SM PROSITE
+profile
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B htop
+[
+.B \-fhilos
+] [
+.B \-B
+.I norm_logbase
+] [
+.B \-C
+.I cut_off
+] [
+.B \-F
+.I multiplier
+] [
+.B \-H
+.I init/term_score
+] [
+.B \-L
+.I score_logbase
+] [
+.B \-M
+.I nb_unprotect
+] [
+.B \-P
+.I percent_unprotect
+] [
+.B \-Q
+.I odds_ratio
+]
+.I hmm_file
+|
+.B \-
+[
+.I random_model
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B htop
+converts a hidden Markov model (HMM) into an equivalent
+.SM PROSITE
+formatted generalized profile. The input
+.I hmm_file
+is a nucleic acid or protein HMM in
+.SM HMMER
+ASCII-format. The
+.I random_model
+file contains a simple null-model in the format used by the HMM search programs
+of the
+.SM HMMER1
+package.
+This random model is only effective in conjunction with the
+.B \-o
+option (old
+.SM HMMER1
+format). If omitted, a random model consisting of the
+average residue probabilities of the insert states will be used.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- hmm_file ---
+.TP
+.I hmm_file
+Input HMM ASCII-file. By default,
+.B htop
+expects a
+.SM HMMER2
+formatted HMM. If the option
+.B \-o
+is set, the file should be in
+.SM HMMER1
+ASCII format.
+If the filename is replaced by a
+.RB ' \- ',
+.B htop
+will read the input HMM from
+.BR stdin .
+.\" --- random_model ---
+.TP
+.I random_model
+Input random model file. Only used in conjunction with
+.SM HMMER1
+HMMs (see option
+.BR \-o ).
+This file should contain a simple null-model using the same residue alphabet as
+the
+.IR hmm_file .
+.\" --- f ---
+.TP
+.B \-f
+Emulate HMM fragment search (only effective with old
+.SM HMMER1
+format).
+When given as input to the
+.B pftools
+programs
+.BR pfsearch (1)
+or
+.BR pfscan (1),
+the resulting profile will behave like the original HMM searched with
+the
+.SM HMMER1
+program
+.BR hmmfs .
+The default mode is to emulate HMM local search implemented in the
+.SM HMMER1
+program
+.BR hmmls .
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- i ---
+.TP
+.B \-i
+Force all insert extension scores to be zero.
+.\" --- l ---
+.TP
+.B \-l
+Remove output line length limit. Individual lines of the output profile
+can exceed a length of 132 characters, removing the need to wrap them over several lines.
+.\" --- o ---
+.TP
+.B \-o
+Assume input to be in old
+.SM HMMER1
+ASCII format. Since version 2.2, the
+.B pftools
+assume by default the
+.SM HMMER2
+format.
+.\" --- s ---
+.TP
+.B \-s
+Implement semiglobal alignment mode. This option forces all external
+initiation scores to be identical to the internal initiation
+score at the beginning of the profile. Likewise, the external
+termination scores are set to the value of the internal
+termination score at the end of the profile.
+.\" --- B ---
+.TP
+.BI \-B\ norm_logbase
+Logarithmic base to be used for normalization of profile
+match scores (only effective with old
+.SM HMMER1
+format).
+.br
+Default: 2.0
+.\" --- C ---
+.TP
+.BI \-C\ cut_off
+Level zero cut-off value in normalized score units.
+.br
+Default: 8.5 (or 0.0 in conjunction with option
+.BR \-o )
+.\" --- F ---
+.TP
+.BI \-F\ multiplier
+Output score multiplier. On output, all profile scores are multiplied by
+this factor and rounded to the nearest integers.
+.br
+Only effective with
+.SM HMMER2
+format.
+.br
+Default: 100
+.\" --- H ---
+.TP
+.BI \-H\ init/term_score
+High-cost initiation/termination score (only effective in conjunction with
+.B \-s
+option). This score will be applied to
+all external and internal initiation and termination scores
+at path matrix positions where
+initiation or termination at low cost is not possible according to semiglobal
+alignment mode.
+.br
+Default: * (low-value)
+.\" --- L ---
+.TP
+.BI \-L\ score_logbase
+Logarithmic base to be used for representation of profile
+scores (only effective in conjunction with old
+.SM HMMER1
+format).
+.br
+Default: 1.0233739 (1/30 bit units)
+.\" --- M ---
+.TP
+.BI \-M\ nb_unprotect
+Maximal number of unprotected residues at the ends of the profile.
+.br
+Type: integer
+.br
+Default: 5 (meaning that the protected region starts at position 6).
+.\" --- P ---
+.TP
+.BI \-P\ percent_unprotect
+Percent profile-length at the ends of the profile,
+which will not be included in the protected area.
+.br
+Type: real
+.br
+Default: 0 (range 0 to 100)
+.\" --- Q ---
+.TP
+.BI \-Q\ odds_ratio
+Position-independent odds ratio assumed for unknown residues.
+This parameter determines
+the default values for profile scores
+.I M0
+and
+.IR I0 .
+Note that the
+.I I0
+scores may be over-written by the
+.B \-i
+option.
+.br
+Default: 0.8
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+B=#
+Match score logarithmic base.
+.br
+Use option
+.B \-B
+instead.
+.TP
+C=#
+Level zero cut-off.
+.br
+Use option
+.B \-C
+instead.
+.TP
+F=#
+Output score multiplier.
+.br
+Use option
+.B \-F
+instead.
+.TP
+H=#
+High-cost init/term score.
+.br
+Use option
+.B \-H
+instead.
+.TP
+L=#
+Profile scores logarithmic base.
+.br
+Use option
+.B \-L
+instead.
+.TP
+M=#
+Maximal number of unprotected residues.
+.br
+Use option
+.B \-M
+instead.
+.TP
+P=#
+Percentage of unprotected residues.
+.br
+Use option
+.B \-P
+instead.
+.TP
+Q=#
+Unknown residues odds ratio.
+.br
+Use option
+.B \-Q
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B htop
+pfam_sh3.hmm > pfam_sh3.prf
+.IP
+Converts the
+.SM HHMER2
+formatted SH3 domain profile
+.RI ' pfam_sh3.hmm '
+into a generalized
+.SM PROSITE
+profile.
+After this conversion, the following two commands:
+.IP
+.B hmmsearch
+\--null2 pfam_sh3.hmm sh3.seq
+.br
+.B pfsearch
+\-fy -C 5.0 pfam_sh3.prf sh3.seq
+.IP
+should produce equivalent results in terms of raw scores
+and profile-sequence alignments (E-values and normalized scores
+will usually be different). Note that the program
+.B hmmsearch
+is from Sean Eddy's
+.SM HMMER2
+package
+.RI ( http://hmmer.wustl.edu/ ).
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B htop
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfsearch (1),
+.SM HMMER
+documentation
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/pfmake.1 b/man/pfmake.1
new file mode 100644
index 0000000..dffcf68
--- /dev/null
+++ b/man/pfmake.1
@@ -0,0 +1,537 @@
+.\"
+.\" $Id: pfmake.1,v 1.2 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PFMAKE 1 "August 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+pfmake \- generate a profile from a multiple sequence alignment
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B pfmake
+[
+.B \-0123abcehlms
+] [
+.B \-E
+.I gap_extend
+] [
+.B \-F
+.I score_multiplier
+] [
+.B \-G
+.I gap_open
+] [
+.B \-H
+.I high_init/term
+] [
+.B \-I
+.I gap_increment
+] [
+.B \-L
+.I low_init/term
+] [
+.B \-M
+.I gap_multiplier
+] [
+.B \-S
+.I matrix_multiplier
+] [
+.B \-T
+.I gap_region
+] [
+.B \-X
+.I gap_excision
+] [
+.I ms_file
+|
+.B \-
+]
+.I score_matrix
+[
+.I profile
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B pfmake
+generates a
+.SM PROSITE
+profile from a multiple sequence alignment using methods
+described by Gribskov
+.IR "et al" .
+(1990), Luethy
+.IR "et al" .
+(1994), and Thompson
+.IR "et al" .
+(1994), with modifications to exploit the features of the new profile format.
+The file containing the multiple sequence alignment
+.RI ( ms_file )
+must be either in MSF format as generated by
+.SM GCG
+programs or by
+.B readseq
+(checksums are ignored) or in MSA format as created by
+.BR psa2msa (1).
+If
+.RB ' \- '
+is specified instead of a filename, the multiple sequence alignment is read
+from the standard input. The
+.I score_matrix
+file must also be in
+.SM GCG
+format.
+.PP
+If an already existing
+.I profile
+is given as input via the third optional argument, the parameters of the
+DISJOINT, NORMALIZATION and CUT_OFF blocks will be read from input, all other
+profile parameters will be recalculated.
+Header and footer lines outside the matrix block will also be transferred
+from input to output.
+.PP
+If no input profile is given, the disjointness definition will be set to
+PROTECT with borders leaving short unprotected tails (maximum 5 positions)
+at the beginning and at the end of the profile. Furthermore, one normalization mode
+.RI ( n_score \ =\ raw_score \ /\ F ,
+where
+.I F
+is the output score multiplier,
+.I see
+below), and two cut-off values (level 0: 8.5, level -1: 6.5)
+will be defined.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- ms_file ---
+.TP
+.I ms_file
+Input multiple sequence alignment.
+.br
+The content of the file must be either in MSF or in MSA format.
+If the filename is replaced by a
+.RB ' \- ',
+.B pfmake
+will read the input alignment from
+.BR stdin .
+.\" --- score_matrix ---
+.TP
+.I score_matrix
+Residue score matrix file.
+.br
+Contains the substitution scores for all pairs of residues
+of the sequence alphabet. The file must be in
+.SM GCG
+format.
+.\" --- profile ---
+.TP
+.I profile
+Optional profile file.
+.br
+If a filename is specified, the profile will be parsed and
+those parameters mentionned in the
+.I description
+section will be kept for the computation of the output profile.
+.\" --- 0 ---
+.TP
+.B \-0
+Global alignment mode.
+.br
+Initiation (termination) at low cost
+is possible only if the alignment starts at the beginning (end) of the
+profile and at the beginning (end) of the sequence.
+.\" --- 1 ---
+.TP
+.B \-1
+Domain global alignment mode.
+.br
+Initiation (termination) at low cost
+is possible only at the beginning (end) of the profile; it may
+start and end at any position within the sequence.
+.\" --- 2 ---
+.TP
+.B \-2
+Semi-global alignment mode.
+.br
+Initiation (termination) at low cost
+is possible if the alignment starts either at the beginning (end) of the
+profile or at the beginning (end) of the sequences.
+.br
+This is the default alignment mode.
+.\" --- 3 ---
+.TP
+.B \-3
+Local alignment mode.
+.br
+Initiation (termination) at low cost
+is possible anywhere. The high-cost initiation/termination score
+(parameter
+.IR H )
+is meaningless.
+.\" --- a ---
+.TP
+.B \-a
+Causes
+.B pfsearch
+to weight gaps asymmetrically, as in Gribskov
+.IR "et al" .
+(1990).
+.\" --- b ---
+.TP
+.B \-b
+Block profile mode.
+.br
+By imposing additional constraints on the placement of
+insertions and deletions, this mode produces profiles that favor alignments
+with insertions and deletions positioned symmetrically around a few
+positions. For each gap region a gap center is defined which
+usually corresponds to the place where gap excision has been applied
+(see parameter
+.IR X ).
+If no gap excision has been applied, the position is chosen such as to
+maximize the sum of deletion opening events before, and
+deletion closing events after the gap center.
+Within a given gap region
+reduced deletion opening penalties are offered only before,
+reduced deletion closing penalties only after,
+and reduced insertion penalties only at the center.
+.br
+This option is incompatible with options
+.B \-a
+and
+.B \-e
+and
+automatically disables them.
+.\" --- c ---
+.TP
+.B \-c
+Circular profile.
+.br
+The topology of the profile is declared as
+circular. The first and the last insert positions are merged
+by retaining the higher value of each parameter type.
+.\" --- e ---
+.TP
+.B \-e
+Enables endgap-weighting mode as implemented in the
+.SM GCG
+program
+.BR ProfileMake .
+Endgaps in the multiple sequence alignment will be interpreted
+as deletions relative to the other sequences and thus be
+considered for the delineation of gap regions.
+The default is no endgap weighting as introduced by Thompson
+.IR "et al" .
+(1994) in the program
+.BR ProfileWeight .
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- l ---
+.TP
+.B \-l
+Remove output line length limit. Individual lines of the output profile
+can exceed a length of 132 characters, removing the need to wrap them over several lines.
+.\" --- m ---
+.TP
+.B \-m
+Input multiple sequence alignment is in MSA format.
+.\" --- s ---
+.TP
+.B \-s
+Causes
+.B pfsearch
+to weight gaps symmetrically (default mode). The
+initial gap opening scores
+.RI ( MD , \ MI )
+computed from the
+maximal gap length and the command-line parameters
+.IR E , \ G , \ I ,
+and
+.IR M ,
+will be divided by two and the resulting value will be assigned to both
+gap opening and gap closing scores
+.RI ( MI , \ IM , \ MD , \ DM ).
+.\" --- E ---
+.TP
+.BI \-E\ gap_extend
+Gap extension penalty.
+.I See
+Gribskov
+.IR "et al" .
+(1990).
+.br
+Default: 0.2 (appropriate for 1/3 bit-scaled blosum45 matrix)
+.\" --- F ---
+.TP
+.BI \-F\ score_multiplier
+Output score multiplier.
+.br
+On output, all profile scores are multiplied by
+this factor and rounded to nearest integers.
+.br
+Default: 100
+.\" --- G ---
+.TP
+.BI \-G\ gap_open
+Gap opening penalty.
+.I See
+Gribskov
+.IR "et al" .
+(1990).
+.br
+Default: 2.1 (appropriate for 1/3 bit-scaled blosum45 matrix)
+.\" --- H ---
+.TP
+.BI \-H\ high_init/term
+High-cost initiation/termination score.
+.br
+This score will be applied to
+all external and internal initiation and termination scores corresponding
+to path matrix positions where initiation or termination at low cost is not
+possible according to the alignment mode specified.
+.br
+Default: * (low-value)
+.\" --- I ---
+.TP
+.BI \-I\ gap_increment
+Gap penalty multiplier increment.
+.I See
+Gribskov
+.IR "et al" .
+(1990).
+.br
+Default: 0.1
+.\" --- L ---
+.TP
+.BI \-L\ low_init/term
+Low-cost initiation/termination score.
+.br
+This score will be applied to all external and internal initiation and
+termination scores corresponding to path matrix positions where
+initiation or termination at low cost is possible according to the alignment
+mode specified.
+.br
+Default: 0
+.\" --- M ---
+.TP
+.BI \-M\ gap_multiplier
+Maximum gap penalty multiplier.
+.I See
+Gribskov
+.IR "et al" .
+(1990).
+Default: 0.333
+.\" --- S ---
+.TP
+.BI \-S\ matrix_multiplier
+Score matrix multiplier.
+.br
+On input, the numbers of the score matrix are multipled by this factor.
+.br
+Default: 0.1
+.\" --- T ---
+.TP
+.BI \-T\ gap_region
+Gap region threshold.
+.br
+This is the minimal fraction of gap characters a column of the multiple sequence
+alignment must contain in order to be considered part of a gap region.
+.br
+Default: 0.01
+.\" --- X ---
+.TP
+.BI \-X\ gap_excision
+Gap excision threshold.
+.br
+This is the minimal fraction of non-gap characters a column of the multiple sequence
+alignment must contain in order to be converted into a match position. The
+.I IM
+and
+.I MI
+transition scores of insert positions corresponding to excised columns
+are set to zero; the other parameters remain unchanged.
+.br
+Default: 0.5
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+E=#
+Gap extension penalty.
+.br
+Use option
+.B \-E
+instead.
+.TP
+F=#
+Output score multiplier.
+.br
+Use option
+.B \-F
+instead.
+.TP
+G=#
+Gap opening penalty
+.br
+Use option
+.B \-G
+instead.
+.TP
+H=#
+High cost initiation/termination score.
+.br
+Use option
+.B \-H
+instead.
+.TP
+I=#
+Gap penalty multiplier increment.
+.br
+Use option
+.B \-I
+instead.
+.TP
+L=#
+Low cost initiation/termination score.
+.br
+Use option
+.B \-L
+instead.
+.TP
+M=#
+maximum gap penalty multiplier.
+.br
+Use option
+.B \-M
+instead.
+.TP
+S=#
+Score matrix multiplier.
+.br
+Use option
+.B \-S
+instead.
+.TP
+T=#
+Gap region threshold.
+.br
+Use option
+.B \-T
+instead.
+.TP
+X=#
+Gap excision threshold.
+.br
+Use option
+.B \-X
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B pfmake
+\-b1 \-H 0.6 sh3.msf blosum45.cmp > sh3_block.prf
+.IP
+Generates a domain-global block profile from a multiple alignment
+of SH3 domains using the blosum45 matrix.
+The file
+.RI ' sh3.msf '
+contains a multiple alignment of 20 SH3 domains from
+.SM SWISS-PROT
+release 32 including sequence weights.
+The file
+.RI ' blosum45.cmp '
+contains a 1/3 bits-scaled blosum45 matrix in
+.SM GCG
+format.
+.br
+Note that fragment matches (alignments to parts of the profile) are not
+prohibited but penalized by the option
+.B \-H
+.IR 0.6 .
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B pfmake
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" References section
+.\" ------------------------------------------------
+.SH REFERENCES
+.LP
+Bucher P, Karplus K, Moeri N & Hofmann, K. (1996).
+.I A flexible motif search
+.I technique based on generalized
+.I profiles.
+Comput. Chem.
+.BR 20 :3-24.
+.LP
+Gribskov M, Luethy R & Eisenberg D (1990).
+.I Profile analysis.
+Meth. Enzymol.
+.BR 183 :146-159.
+.LP
+Luethy R, Xenarios I & Bucher P (1994).
+.I Improving the sensitivity of the
+.I sequence profile method.
+Prot. Sci.
+.BR 3 :139-146.
+.LP
+Thompson JD, Higgins DG & Gibson TJ (1994)
+.I Improved sensitivity of profile
+.I searches through the
+.I use of sequence weights
+.I and gap excision.
+Comput. Appl. Biosci.
+.BR 10 :19-29.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfsearch (1),
+.BR pfscan (1),
+.BR psa2msa (1),
+.BR psa (5),
+.BR xpsa (5)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/pfscale.1 b/man/pfscale.1
new file mode 100644
index 0000000..07b5bd7
--- /dev/null
+++ b/man/pfscale.1
@@ -0,0 +1,324 @@
+.\"
+.\" $Id: pfscale.1,v 1.2 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PFSCALE 1 "August 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+pfscale \- fit parameters of an extreme-value distribution to a profile score list
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B pfscale
+[
+.B \-hl
+] [
+.B \-L
+.I log_base
+] [
+.B \-M
+.I mode_nb
+] [
+.B \-N
+.I db_size
+] [
+.B \-P
+.I upper_limit
+] [
+.B \-Q
+.I lower_limit
+] [
+.I score_list
+|
+.B \-
+] [
+.I profile
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B pfscale
+fits the two parameters of an extreme-value distribution to a
+sorted score distribution obtained
+by searching a sequence database with a profile.
+The file
+.RI ' score_list '
+is a sorted list of profile match scores generated by
+.BR pfsearch .
+If
+.RB ' \- '
+is specified instead of a filename, the score list is read from the
+standard input. The result is written to the standard output.
+.PP
+If the original profile is given as the second argument,
+the normalization function with the lowest mode number or the lowest priority number
+specified within the profile will be
+updated such as to produce -Log10 per-residue E-values.
+If the second argument is omitted, the output
+consists of a header line containing the normalization parameters
+followed by a modified score list,
+showing
+.IR "score rank" ,
+.IR "original raw scores" ,
+.I log-cumulative frequencies
+and
+corresponding
+.I normalized scores
+next to each other.
+.PP
+Note that this program implements the significance estimation procedure for profile
+match scores described in Hofmann & Bucher (1995).
+It has been used for the calculation of the normalization parameters of
+all profiles in the
+.SM PROSITE
+database.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- ms_file ---
+.TP
+.I score_list
+Input score list.
+.br
+The file must contain a sorted list of scores. The first field
+of each line is considered as being a score, all other fields on the same line are ignored.
+The different fields of each line should be delimited by whitespaces.
+If the filename is replaced by a
+.RB ' \- ',
+.B pfscale
+will read the score list from
+.BR stdin .
+.\" --- profile ---
+.TP
+.I profile
+Optional profile file.
+.br
+If a filename is specified, the profile will be parsed and
+either the lowest priority mode or the mode number specified with option
+.B \-M
+will be scaled. All cut-off levels which use the specified mode number will also
+be updated.
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- l ---
+.TP
+.B \-l
+Remove output line length limit. Individual lines of the output profile
+can exceed a length of 132 characters, removing the need to wrap them over several lines.
+.\" --- L ---
+.TP
+.BI \-L\ log_base
+Logarithmic base of the parameters of the estimated extreme-value
+distribution.
+The parameters reported by
+.B pfscale
+are expressed as logarithms
+and thus can be inserted directly into a linear normalization function
+defined in a generalized profile.
+.br
+Default: 10
+.\" --- M ---
+.TP
+.BI \-M\ mode_nb
+Mode number to scale.
+.br
+Defines which mode number (and implicitly which cut-off level) of the
+input
+.SM PROSITE
+profile should be scaled. This overrides the default behaviour of scaling
+only the normalization mode with the lowest priority (or lowest mode number).
+All cut-off levels defined in the profile as using this mode number (via the
+.I MODE
+keyword) will be updated as well.
+.\" --- N ---
+.TP
+.BI \-N\ db_size
+Size of the database from which the input score list was derived.
+The searched database is typically a shuffled version
+of a real protein or nucleotide sequence database.
+.br
+Default: 14147368 (size of
+.SM SWISS-PROT
+release 30 and shuffled derivatives of it).
+.\" --- P ---
+.TP
+.BI \-P\ upper_limit
+Upper threshold of the probability range to which the extreme-value
+distribution will be fitted.
+For instance: if
+.IR N =10'000'000
+and
+.IR P =0.0001
+then profile match scores below rank 1000
+in the sorted input list
+(corresponding to occurrence probabilities > 0.0001)
+will be ignored.
+.br
+Default: 0.0001
+.\" --- Q ---
+.TP
+.BI \-Q\ lower_limit
+Lower threshold of the probability range to which the extreme-value
+distribution will be fitted.
+For instance: if
+.IR N =10'000'000
+and
+.IR Q =0.000001
+then profile match scores above rank 10 in the sorted input list
+(corresponding to occurrence probabilities < 0.000001)
+will be ignored.
+.br
+Default: 0.000001
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+L=#
+Logarithmic base.
+.br
+Use option
+.B \-L
+instead.
+.TP
+M=#
+Mode number.
+.br
+Use option
+.B \-M
+instead.
+.TP
+N=#
+Database size.
+.br
+Use option
+.B \-N
+instead.
+.TP
+P=#
+Upper probability threshold.
+.br
+Use option
+.B \-P
+instead.
+.TP
+Q=#
+Lower probability threshold.
+.br
+Use option
+.B \-Q
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B pfsearch
+\-fr \-C 200 sh3.prf shuffle20.seq |
+.B sort
+\-nr |
+.B pfscale
+\-P 0.0001 \-Q 0.000001 \-
+.IP
+derives score-normalization parameters for the SH3 domain profile
+in file
+.RB ' sh3.prf '.
+The file
+.RB ' shuffle20.seq '
+contains a window-shuffled derivative of
+.SM SWISS-PROT
+release 30 in Pearson/Fasta format (window-size 20).
+Note that the implicit default of
+.I N
+corresponds to the size of this database and thus
+needs not to be specified on the command line.
+The cut-off value 200 for the
+.BR pfsearch (1)
+option
+.B \-C
+will produce about 2000 matches completely covering the range defined by
+the command line parameters
+.B \-P
+and
+.B \-Q
+of
+.BR pfscale .
+A suitable cut-off value has to be guessed in advance
+by computing a few optimal alignment scores for random sequences.
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B pfscale
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" Notes section
+.\" ------------------------------------------------
+.SH NOTES
+.TP
+(1)
+The current version of
+.B pfscale
+does not yet support the
+.BR xpsa (5)
+output format produced by
+.BR pfscan "(1) or " pfsearch (1).
+The score list should therefore be generated without the
+.BR pfscan "(1) and " pfsearch (1)
+option
+.BR \-k .
+.\" ------------------------------------------------
+.\" References section
+.\" ------------------------------------------------
+.SH REFERENCES
+.LP
+Hofmann K & Bucher P. (1995).
+.I The FHA-domain: a nuclear signalling domain found in protein kinases and transcription factors.
+Trends Biochem. Sci.
+.BR 20 :47-349.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfsearch (1),
+.BR pfscan (1),
+.BR xpsa (5)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/pfscan.1 b/man/pfscan.1
new file mode 100644
index 0000000..427773d
--- /dev/null
+++ b/man/pfscan.1
@@ -0,0 +1,416 @@
+.\"
+.\" $Id: pfscan.1,v 1.5 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PFSCAN 1 "July 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+pfscan \- scan a protein or DNA sequence with a profile library
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B pfscan
+[
+.B \-abdfhlLmruksvxyz
+] [
+.B \-C
+.I cut_off
+] [
+.B \-M
+.I mode_nb
+] [
+.B \-W
+.I width
+] [
+.I sequence
+|
+.B \-
+] [
+.I profile_library
+|
+.B \-
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B pfscan
+compares a protein or nucleic acid sequence against a profile library.
+The result is an unsorted list of profile-sequence matches written to
+the standard output.
+A variety of output formats containing different informations can be specified
+via the options
+.BR \-l , \ \-L , \ \-r , \ \-k , \ \-s , \ \-x , \ \-y
+and
+.BR \-z .
+The file
+.RI ' sequence '
+contains a sequence in
+.SM EMBL/SWISS-PROT
+format (assumed by default) or in Pearson/Fasta
+format (indicated by option
+.BR \-f ).
+The
+.RI ' profile_library '
+file contains a library of profiles in
+.SM PROSITE
+format.
+If
+.RB ' \- '
+is specified instead of one of the filenames, the corresponding data is read
+from the standard input.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- sequence ---
+.TP
+.I sequence
+Input query sequence.
+.br
+This DNA or protein sequence will be used to search for matches to
+a library of
+.SM PROSITE
+profiles.
+.br
+The content of the file must be either in
+.SM EMBL/SWISS-PROT
+(default) or in Pearson/Fasta format (option
+.BR \-f ).
+If the filename is replaced by a
+.RB ' \- ',
+.B pfscan
+will read the input sequence from
+.BR stdin .
+.\" --- profile_library ---
+.TP
+.I profile_library
+Library of
+.SM PROSITE
+profiles.
+.br
+This file should contain one or several
+.SM PROSITE
+profiles, against which the query sequence will be matched.
+Each entry in this library should be separated from the next by
+a line containing only the
+.RB ' // '
+code.
+If the filename is replaced by a
+.RB ' \- ',
+.B pfscan
+will read the profile library from
+.BR stdin .
+.\" --- a ---
+.TP
+.B \-a
+Report optimal alignment scores for
+all profiles regardless of the cut-off value.
+This option simultaneously forces
+.IR DISJOINT = UNIQUE .
+.\" --- b ---
+.TP
+.B \-b
+Search the complementary strand of the DNA sequence as well.
+.\" --- f ---
+.TP
+.B \-f
+Input sequence is in Pearson/Fasta format.
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- l ---
+.TP
+.B \-l
+Indicate the value of the highest cut-off level exceeded by the match score
+in the output list.
+.\" --- L ---
+.TP
+.B \-L
+Indicate by character string the highest cut-off level exceeded by the match score
+in the output list.
+.br
+.RS
+.TP
+Note:
+The generalized profile format includes a text
+string field to specify a name for a cut-off level. The
+.B \-L
+option causes the program to display the first two characters of this text string
+(usually something like
+.RI ' ! ',\ ' ? ',\ ' ?? ',
+etc.) at the beginning of each match description.
+.RE
+.\" --- m ---
+.TP
+.B \-m
+Report individual matches for circular profiles.
+.br
+If the profile is circular, each match between a sequence and a profile can be composed
+of a stretch of individual matches of the profile. By default,
+.B pfscan
+reports only the total matched region. When this option is set, detailed information for
+each individual match will be output as well.
+.RS
+.TP
+Note:
+The scoring system for most circular profiles has been optimized to find
+total matches, therefore the normalized scores of individual matches of a circular profile
+to a sequence should be considered with caution.
+.RE
+.\" --- r ---
+.TP
+.B \-r
+Use raw scores rather than normalized
+scores for match selection. The normalized score is not printed.
+.\" --- u ---
+.TP
+.B \-u
+Forces
+.IR DISJOINT = UNIQUE .
+.\" --- C ---
+.TP
+.BI \-C\ cut_off
+Cut-off level to be used for match selection.
+.br
+The value of
+.RI ' cut_off '
+should be the numerical identifier of a cut-off level defined in the profile.
+The raw or normalized score of this level will then be used to include profile to
+sequence matches in the output list.
+.br
+If the specified level does not exist in the profile, the next higher (if
+.I cut_off
+is negative) or next lower (if
+.I cut_off
+is positive) level defined is used instead.
+.br
+Type: integer
+.br
+Default: 0
+.\" --- M ---
+.TP
+.BI \-M\ mode_nb
+Normalization mode to use for score computation.
+.br
+The
+.RI ' mode_nb '
+specifies which normalization mode defined in the profile should be used
+to compute the normalized scores for profile to sequence matches. This
+option will override the profile's
+.I PRIORITY
+parameter.
+.br
+If the specified normalization mode does not exist in the profile, an error
+message will be output to standard error and the search is interrupted.
+.br
+Type: integer
+.br
+Default: lowest priority mode defined in the profile
+.\" ------------------------------------------------
+.\" Output modifiers subsection
+.\" ------------------------------------------------
+.SS Ouput modifiers
+.\" --- d ---
+.TP
+.B \-d
+Limit profile description length.
+.br
+If this option is set, the description of the profile on the header line
+will be limited in length. If the match information is longer than
+the output width specified using option
+.BR \-W ,
+the profile description will not be printed. Else the description will be truncated
+to fit the
+.B \-W
+value.
+.br
+By default, the profile description is not truncated. This option can not be used
+when option
+.B \-k
+is set.
+.\" --- k ---
+.TP
+.B \-k
+Use
+.BR xpsa (5)
+headers for output.
+.br
+When this option is set, all output types
+.RI ( see
+below) will use
+an
+.BR xpsa (5)
+style header line. This format uses
+.IR keyword = value
+pairs to output alignment parameters. It is useful to transfer information between
+different sequence alignment tools.
+.\" --- s ---
+.TP
+.B \-s
+List the sequences of the matched regions as well.
+The output will be a Pearson/Fasta-formatted sequence
+library.
+.\" --- v ---
+.TP
+.B \-v
+Suppress sequence/profile parsing warnings.
+If this option is set no warning messages will be printed on
+.IR stderr .
+Only fatal errors will be reported. This option should be used
+with caution.
+.\" --- x ---
+.TP
+.B \-x
+List profile-sequence alignments
+in
+.BR psa (5)
+format. Please refer to the corresponding man page for more information.
+.\" --- y ---
+.TP
+.B \-y
+Display alignments between the profile and the matched sequence regions in
+a human-friendly pairwise alignment format.
+.\" --- z ---
+.TP
+.B \-z
+Indicate starting and ending position of the matched profile range. The latter
+position will be given as a negative offset from the end of the profile. Thus
+the range [ 1, -1] means entire profile.
+.\" --- W ---
+.TP
+.BI \-W\ width
+Set alignment output width.
+.br
+The value of
+.RI ' width '
+specifies how many residues will be output on one line when any of the
+.BR \-s ,\ \-x \ or\ \-y
+options is set.
+.br
+Type: integer
+.br
+Default: 60
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+L=#
+Cut-off level.
+.br
+Use option
+.B \-C
+instead, not
+.BR \-L .
+.TP
+W=#
+Output width.
+.br
+Use option
+.B \-W
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B pfscan
+\-s GTPA_HUMAN prosite13.prf
+.IP
+Scans the human GAP protein for matches to profiles in
+.SM PROSITE
+release 13.
+The file
+.RI ' GTPA_HUMAN '
+contains the
+.SM SWISS-PROT
+entry P20936|GTPA_HUMAN.
+The profile library file
+.RI ' prosite13.prf '
+contains all profile entries of
+.SM PROSITE
+release 13.
+The output is a Pearson/Fasta-formatted sequence library containing
+all sequence regions of the input sequence matching a profile in the
+profile library.
+.TP
+(2)
+.B pfscan
+\-by \-C 2 CVPBR322 ecp.prf
+.IP
+Scans both strands of plasmid PBR322 for high-scoring (level 2)
+.I E. coli
+promoter matches.
+The sequence file
+.RI ' CVPBR322 '
+contains
+.SM EMBL
+entry J01749|CVPBR322.
+The profile library file
+.RI ' ecp.prf '
+contains a profile for
+.I E. coli
+promoters.
+The output includes profile-sequence alignments in a human-friendly
+format.
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B pfscan
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" Bugs section
+.\" ------------------------------------------------
+.SH "BUGS"
+If the match selection is based on normalized scores
+.RI ( i.e.
+option
+.B \-r
+is not set), rounding errors can lead to the exclusion of some matches even if
+the raw score is above or equal to the specified cut-off level score.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfsearch (1),
+.BR pfmake (1),
+.BR psa (5),
+.BR xpsa (5)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/pfsearch.1 b/man/pfsearch.1
new file mode 100644
index 0000000..014b0f1
--- /dev/null
+++ b/man/pfsearch.1
@@ -0,0 +1,415 @@
+.\"
+.\" $Id: pfsearch.1,v 1.4 2003/07/24 08:40:52 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PFSEARCH 1 "July 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+pfsearch \- search a protein or DNA sequence library for sequence segments
+matching a profile
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B pfsearch
+[
+.B \-abdfhlLmruksvxyz
+] [
+.B \-C
+.I cut_off
+] [
+.B \-M
+.I mode_nb
+] [
+.B \-W
+.I width
+] [
+.I profile
+|
+.B \-
+] [
+.I sequence_library
+|
+.B \-
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B pfsearch
+compares a query profile against a DNA or protein sequence library.
+The result is an unsorted list of profile-sequence matches written to the standard output.
+A variety of output formats containing different informations can be specified
+via the options
+.BR \-l , \ \-L , \ \-r , \ \-k , \ \-s , \ \-x , \ \-y
+and
+.BR \-z .
+The file
+.RI ' profile '
+contains a profile in
+.SM PROSITE
+format. The
+.RI ' sequence_library '
+file contains a sequence library in
+.SM EMBL/SWISS-PROT
+format (assumed by default) or in Pearson/Fasta
+format (indicated by option
+.BR \-f ).
+If
+.RB ' \- '
+is specified instead of one of the filenames, the corresponding data is read
+from the standard input.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- profile ---
+.TP
+.I profile
+Input query profile.
+.br
+The
+.SM PROSITE
+profile contained in this file will be used to search for profile to sequence
+matches in a biological sequence library. If the filename is replaced by a
+.RB ' \- ',
+.B pfsearch
+will read the profile from
+.BR stdin .
+.\" --- sequence_library ---
+.TP
+.I sequence_library
+Library of DNA or protein sequences.
+.br
+This file should contain one or several
+.SM EMBL/SWISS-PROT
+(default) or Pearson/Fasta (option
+.BR \-f )
+formated DNA or protein sequences. The program
+.B pfsearch
+tries to identify matches between the input profile and all individual
+sequences of this library. If the filename is replaced by a
+.RB ' \- ',
+.B pfsearch
+will read the sequence library from
+.BR stdin .
+.\" --- a ---
+.TP
+.B \-a
+Report optimal alignment scores for
+all sequences regardless of the cut-off value.
+This option simultaneously forces
+.IR DISJOINT = UNIQUE .
+.\" --- b ---
+.TP
+.B \-b
+Search the complementary strands of DNA sequences as well.
+.\" --- f ---
+.TP
+.B \-f
+Input sequence library is in Pearson/Fasta format.
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- l ---
+.TP
+.B \-l
+Indicate the value of the highest cut-off level exceeded by the match score
+in the output list.
+.\" --- L ---
+.TP
+.B \-L
+Indicate by character string the highest cut-off level exceeded by the match score
+in the output list.
+.br
+.RS
+.TP
+Note:
+The generalized profile format includes a text
+string field to specify a name for a cut-off level. The
+.B \-L
+option causes the program to display the first two characters of this text string
+(usually something like
+.RI ' ! ',\ ' ? ',\ ' ?? ',
+etc.) at the beginning of each match description.
+.RE
+.\" --- m ---
+.TP
+.B \-m
+Report individual matches for circular profiles.
+.br
+If the profile is circular, each match between a sequence and a profile can be composed
+of a stretch of individual matches of the profile. By default,
+.B pfsearch
+reports only the total matched region. When this option is set, detailed information for
+each individual match will be output as well.
+.RS
+.TP
+Note:
+The scoring system for most circular profiles has been optimized to find
+total matches, therefore the normalized scores of individual matches of a circular profile
+to a sequence should be considered with caution.
+.RE
+.\" --- r ---
+.TP
+.B \-r
+Use raw scores rather than normalized
+scores for match selection. The normalized score is not printed, this option is useful
+to create raw score lists to be used with
+.BR pfscale (1).
+.\" --- u ---
+.TP
+.B \-u
+Forces
+.IR DISJOINT = UNIQUE .
+.\" --- C ---
+.TP
+.BI \-C\ cut_off
+Cut-off value to be used for match selection.
+.br
+The value of
+.RI ' cut_off '
+overwrites the level zero cut-off value specified in the profile.
+.br
+An integer argument is interpreted as a raw score value,
+a decimal argument as a normalized score value.
+.br
+Default: profile level 0 cut-off value (normalized score if present)
+.RS
+.TP
+Note:
+Compared to release 2.2, an integer value does
+.I not
+force option
+.BR \-r .
+Normalized scores will still be listed in output if an integer cut-off
+is specified on the command line but cut-off level computation will be
+based on raw score.
+.RE
+.\" --- M ---
+.TP
+.BI \-M\ mode_nb
+Normalization mode to use for score computation.
+.br
+The
+.RI ' mode_nb '
+specifies which normalization mode defined in the profile should be used
+to compute the normalized scores for profile to sequence matches. This
+option will override the profile's
+.I PRIORITY
+parameter.
+.br
+If the specified normalization mode does not exist in the profile, an error
+message will be output to standard error and the search is interrupted.
+.br
+Type: integer
+.br
+Default: lowest priority mode defined in the profile
+.\" ------------------------------------------------
+.\" Output modifiers subsection
+.\" ------------------------------------------------
+.SS Ouput modifiers
+.\" --- d ---
+.TP
+.B \-d
+Limit sequence description length.
+.br
+If this option is set, the description of the sequence on the header line
+will be limited in length. If the match information is longer than
+the output width specified using option
+.BR \-W ,
+the sequence description will not be printed. Else the description will be truncated
+to fit the
+.B \-W
+value.
+.br
+By default, the sequence description is not truncated. This option can not be used
+when option
+.B \-k
+is set.
+.\" --- k ---
+.TP
+.B \-k
+Use
+.BR xpsa (5)
+headers for output.
+.br
+When this option is set, all output types
+.RI ( see
+below) will use
+an
+.BR xpsa (5)
+style header line. This format uses
+.IR keyword = value
+pairs to output alignment parameters. It is useful to transfer information between
+different sequence alignment tools.
+.\" --- s ---
+.TP
+.B \-s
+List the sequences of the matched regions as well.
+The output will be a Pearson/Fasta-formatted sequence
+library.
+.\" --- v ---
+.TP
+.B \-v
+Suppress sequence/profile parsing warnings.
+If this option is set no warning messages will be printed on
+.IR stderr .
+Only fatal errors will be reported. This option should be used
+with caution.
+.\" --- x ---
+.TP
+.B \-x
+List profile-sequence alignments
+in
+.BR psa (5)
+format. Please refer to the corresponding man page for more information.
+.\" --- y ---
+.TP
+.B \-y
+Display alignments between the profile and the matched sequence regions in
+a human-friendly pairwise alignment format.
+.\" --- z ---
+.TP
+.B \-z
+Indicate starting and ending position of the matched profile range. The latter
+position will be given as a negative offset from the end of the profile. Thus
+the range [ 1, -1] means entire profile.
+.\" --- W ---
+.TP
+.BI \-W\ width
+Set alignment output width.
+.br
+The value of
+.RI ' width '
+specifies how many residues will be output on one line when any of the
+.BR \-s ,\ \-x \ or\ \-y
+options is set.
+.br
+Type: integer
+.br
+Default: 60
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+C=#
+Cut-off value.
+.br
+Use option
+.B \-C
+instead.
+.TP
+W=#
+Output width.
+.br
+Use option
+.B \-W
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B pfsearch
+\-f \-C 6.0 sh3.prf sh3.seq
+.IP
+Searches the Pearson/Fasta-formatted protein sequence library
+.RI ' sh3.seq '
+for SH3 domains with a cut-off value of 6.0 normalized score units.
+The file
+.RI ' sh3.seq '
+contains 20 SH3 domain-containing protein sequences from
+.SM SWISS-PROT
+release 32.
+The file
+.RI ' sh3.prf '
+contains the
+.SM PROSITE
+entry SH3/PS50002.
+.TP
+(2)
+.B pfsearch
+\-bx ecp.prf CVPBR322 |
+.B psa2msa
+\-du |
+.B readseq
+\-p -fMSF > ecp.msf
+.IP
+Generates a multiple sequence alignment of potential
+.I E. coli
+promoters on both strands of plasmid pBR322.
+The file
+.RI ' ecp.prf '
+contains a profile for
+.I E. coli
+promoters.
+The file
+.RI ' CVPBR322 '
+ contains
+.SM EMBL
+entry J01749|CVPBR322.
+The result file
+.RI ' ecp.msf '
+can further be processed by
+.SM GCG
+programs accepting MSF files as input.
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B pfsearch
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" Bugs section
+.\" ------------------------------------------------
+.SH "BUGS"
+The use of normalized scores as cut-off values can lead to a different behaviour when compared
+to raw scores. This is due to the inherent rounding inaccuracy of real numbers.
+The normalized scores used as cut-offs should be rounded down in order to circumvent this
+problem.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfscan (1),
+.BR pfmake (1),
+.BR psa2msa (1),
+.BR psa (5),
+.BR xpsa (5)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/pfw.1 b/man/pfw.1
new file mode 100644
index 0000000..03c2626
--- /dev/null
+++ b/man/pfw.1
@@ -0,0 +1,222 @@
+.\"
+.\" $Id: pfw.1,v 1.1 2003/05/12 11:50:03 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PFW 1 "May 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+pfw \- weight sequences of a multiple sequence alignment
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B pfw
+[
+.B \-hm
+] [
+.B \-N
+.I shuffles
+] [
+.B \-R
+.I seed
+] [
+.B \-W
+.I weight
+] [
+.B \-X
+.I gap_excision
+] [
+.I ms_file
+|
+.B \-
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B pfw
+computes new weights for individual sequences in a multiple sequence alignment
+using the method of Sibbald and Argos (1990).
+The file containing the multiple sequence alignment
+.RI (' ms_file ')
+must be either in MSF format as generated by
+.SM GCG
+programs or by
+.B readseq
+(checksums are ignored) or in MSA format as
+produced by
+.BR psa2msa (1).
+If
+.RB ' \- '
+is specified instead of a filename, the multiple sequence alignment is read
+from the standard input.
+.B pfw
+writes a new multiple sequence alignment with modified weights in either MSF or
+MSA format to the standard output.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- ms_file ---
+.TP
+.I ms_file
+Input multiple sequence alignment file.
+.br
+This file contains a multiple sequence alignment in either MSF (default)
+or MSA format. If the format is MSA,
+.B pfw
+will include the new weight of each sequence in the
+.SM FASTA
+header using the
+.BR xpsa (5)
+keyword
+.IR weight .
+It will thus replace any existing
+.IR weight = value
+pair in the header line.
+If the filename is replaced by a
+.RB ' \- ',
+.B pfw
+will read the multiple alignment from
+.BR stdin .
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- m ---
+.TP
+.B \-m
+Input multiple sequence alignment is in MSA format.
+.\" --- N ---
+.TP
+.BI \-N\ shuffles
+Number of shuffles per sequence to be performed.
+.br
+Note that an average relative precision of
+.I r
+percent is achieved by approximately
+.RI (100/ r )-squared
+shuffles.
+.br
+Type: integer
+.br
+Default: 100 (10% precision)
+.\" --- R ---
+.TP
+.BI \-R\ seed
+Seed for the random number generator.
+.br
+This must be a negative integer
+(zero or positive integers will be reset to negative integers).
+.br
+Type: integer
+.br
+Default: -123456789
+.\" --- W ---
+.TP
+.BI \-W\ weight
+Total weight.
+.br
+The initially computed weights will be multiplied by a constant
+factor such that the sum of all weights equals this value.
+.br
+Default: 1
+.\" --- X ---
+.TP
+.BI \-X\ gap_excision
+Gap excision threshold.
+.br
+This is the minimal fraction of non-gap characters
+a column of the multiple sequence alignment must contain
+in order to be considered for weighting.
+.br
+Default: 0.5
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+N=#
+Shuffles per sequence.
+.br
+Use option
+.B \-N
+instead.
+.TP
+R=#
+Random number seed.
+.br
+Use option
+.B \-R
+instead.
+.TP
+W=#
+Total weight.
+.br
+Use option
+.B \-W
+instead.
+.TP
+X=#
+Gap excision threshold.
+.br
+Use option
+.B \-X
+instead.
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B pfw
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" References section
+.\" ------------------------------------------------
+.SH REFERENCES
+.LP
+Sibbald PR & Argos P. (1990).
+.I Weighting aligned protein or nucleic
+.I acid sequences to correct for
+.I unequal representation.
+J. Mol. Biol.
+.BR 216 :813-818.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR psa2msa (1),
+.BR psa (5),
+.BR xpsa (5)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/psa.5 b/man/psa.5
new file mode 100644
index 0000000..10bfc62
--- /dev/null
+++ b/man/psa.5
@@ -0,0 +1,197 @@
+.\"
+.\" $Id: psa.5,v 1.1 2003/05/12 11:51:45 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PSA 5 "April 2003" "pftools 2.3" "File formats"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+psa \- biological sequence alignment file format
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B psa
+is an output format used by the
+.B pftools
+package to describe alignments between biological sequences (DNA or protein) and
+.I PROSITE
+profiles.
+.PP
+.B psa
+is apparented to the widely used biological sequence file format
+.IR fasta .
+Nevertheless it does not only describe a biological sequence, it is especially used to include
+information of alignments between a motif descriptor like a
+.I PROSITE
+profile and a given sequence. This information is included in the header and reflected
+in the structure of the sequence following the header line.
+.\" ------------------------------------------------
+.\" Syntax section
+.\" ------------------------------------------------
+.SH SYNTAX
+Each sequence in a
+.B psa
+alignment file or output must be preceded by a
+.I fasta
+header line.
+.br
+The general syntax of such a
+.I fasta
+header line is as follows:
+.sp
+.RS
+.BI > seq_id
+.RI "[ " free_text " ]"
+.RE
+.sp
+The header must start with a
+.RB ' > '
+character which is directly followed by the
+.I seq_id
+field. This field is interpreted by most programs as the sequence's
+.I identifier
+and/or
+.I accession
+number. It ends at the first encountered whitespace character.
+.br
+The
+.B pftools
+programs will use the
+.I free_text
+to add information about the match score, position and description of the sequence or motif.
+Please refer to the man page of the corresponding programs for further information about
+the output formats.
+.br
+The header can only extend over one line. The following lines up to a new line starting with a
+.RB ' > '
+character or the end of the file are interpreted as sequence data.
+.sp
+The line following the header, starts the alignment data between a sequence and a
+.I PROSITE
+profile. This data can span over several lines of different length.
+.br
+The data is formed by
+.I upper
+or
+.IR lower -case
+characters of the corresponding sequence alphabet (DNA or protein).
+The gap characters
+.RB ' . "' and '" - '
+are also supported.
+.br
+The alignment always has at least the length of the matching profile. Insertions or deletions
+detected during the motif/sequence alignment step will vary the length of the data reported,
+and can be identified using the following conventions:
+.RS
+.\" --- upper-case character ---
+.TP
+.I upper-case character
+Any upper-case character of the sequence alphabet identifies a
+.I match
+position between the sequence and the motif descriptor.
+.\" --- lower-case character ---
+.TP
+.I lower-case character
+A lower-case character of the sequence alphabet is used to symbolize an
+.I insertion
+in the sequence compared to the motif descriptor.
+.\" --- dash '-' character ---
+.TP
+.I '-' (dash) character
+A
+.RB ' - '
+character in the output identifies the presence of a
+.I deletion
+in the sequence compared to the motif descriptor.
+.RE
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+>YD28_SCHPO 556 pos. 291 - 332 sp|Q10256|YD28_SCHPO
+.br
+PTDPGlnsKIAQLVSMGFDPLEAAQALDAANGDLDVAASFLL--
+.br
+
+This is an example of the output produced by
+.BR pfsearch (1)
+using the '-x' (i.e.
+.B psa
+output) option. The first line starting with the
+.RB ' > '
+character is the
+.I fasta
+header. It also contains information about the raw score of the alignment as well as its
+position in the input sequence.
+.br
+On the next line you find the alignment proper. Starting at position 6, we can find an
+.I insertion
+of the
+.RI ' lns '
+residues in the sequence compared to the motif. The last two positions of the motif are
+not present in the sequence (i.e. they are
+.IR deleted ).
+This is indicated by the presence of two
+.RB ' - '
+(dash) characters at the end of the alignment.
+.RE
+.\" ------------------------------------------------
+.\" Notes section
+.\" ------------------------------------------------
+.SH "NOTES"
+.TP
+(1)
+The
+.BR xpsa (5)
+format defines a more strict syntax of the header line, allowing the exchange of information between
+different sequence analysis tools. It uses
+.IR keyword = value
+pairs to annotate the current match between a sequence and a motif descriptor. This syntax can be
+easily parsed and extended, according to the needs of bioinformatic tools.
+.RE
+
+.TP
+(2)
+The current implementation of the
+.B pftools
+package does not use the
+.RB ' . '
+(dot) character in the
+.B psa
+output. Nevertheless
+.BR psa2msa (1)
+will read it and interpret it in the same manner as the
+.RB ' - '
+(dash) character.
+.RE
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR xpsa (5),
+.BR pfsearch (1),
+.BR pfscan (1),
+.BR pfw (1),
+.BR pfmake (1),
+.BR psa2msa (1)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH "AUTHOR"
+This manual page was originally written by Volker Flegel.
+.br
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
+
diff --git a/man/psa2msa.1 b/man/psa2msa.1
new file mode 100644
index 0000000..ae7a911
--- /dev/null
+++ b/man/psa2msa.1
@@ -0,0 +1,247 @@
+.\"
+.\" $Id: psa2msa.1,v 1.2 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PSA2MSA 1 "August 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+psa2msa \- reformat PSA file to Pearson/Fasta multiple sequence alignment file
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B psa2msa
+[
+.B \-dhlpu
+] [
+.B \-M
+.I insert_len
+] [
+.B \-W
+.I width
+] [
+.I psa_file
+|
+.B \-
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B psa2msa
+reformats a
+.BR psa (5)
+formatted profile-sequence alignment file into a
+Pearson/Fasta-formatted multiple sequence alignment file.
+The result is written to the standard output.
+.RI ' psa_file '
+contains alignments of several sequence segments to the same profile
+in
+.BR psa (5)
+format. Such a file is typically generated by the programs
+.BR pfsearch (1)
+or
+.BR pfscan (1)
+using option
+.BR \-x .
+The output can be converted into other formats
+.RI ( e.g.
+MSF) with the aid of the public domain
+program
+.B readseq
+(available from
+.IR ftp://ftp.bio.indiana.edu/molbio/readseq )
+or used directly with
+.BR pfmake (1)
+or
+.BR pfw (1).
+If
+.RB ' \- '
+is specified instead of a filename, the
+.BR psa (5)
+alignment is read from the standard input.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- psa_file ---
+.TP
+.I psa_file
+Input multiple sequence alignment.
+.br
+The content of the file must be in
+.BR psa (5)
+format.
+If the filename is replaced by a
+.RB ' \- ',
+.B psa2msa
+will read the input alignment from
+.BR stdin .
+.\" --- d ---
+.TP
+.B \-d
+Replace periods
+.RB ' . '
+by dashes
+.RB ' \- '
+on output.
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- l ---
+.TP
+.B \-l
+Replace upper case letters by lower case letters on output.
+.\" --- p ---
+.TP
+.B \-p
+Replace dashes
+.RB ' \- '
+by periods
+.RB ' . '
+on output.
+.\" --- u ---
+.TP
+.B \-u
+Replace lower case letters by upper case letters on output.
+.\" --- M ---
+.TP
+.BI \-M\ insert_len
+Maximal length of an insertion.
+.br
+If the real length of an insertion exceeds this value, the excess number
+of residues will be deleted from the center of the insertion.
+A negative value of
+.RI ' insert_len '
+means no upper limit for the length of an insertion
+.RI ( i.e.
+no residues will be deleted from an insertion).
+If
+.RI ' insert_len '
+is zero, all insert positions will be removed.
+Setting an insertion length limit helps to keep the resulting alignment
+at manageable size.
+.br
+Type: integer
+.br
+Default: -1
+.RS
+.TP
+Note:
+The meaning of the value
+.RI ' 0 '
+for this parameter has been changed compared to version 2.2 of the
+.B pftools
+package.
+.RE
+.\" --- W ---
+.TP
+.BI \-W\ width
+Set alignment output width.
+.br
+The value of
+.RI ' width '
+specifies how many residues will be output on one line.
+.br
+Type: integer
+.br
+Default: 60
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+M=#
+Maximal insertion length
+.br
+Use option
+.B \-M
+instead.
+.TP
+W=#
+Output width.
+.br
+Use option
+.B \-W
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B pfsearch
+\-bx ecp.prf CVPBR322 |
+.B psa2msa
+\-du |
+.B readseq
+\-p \-fMSF > ecp.msf
+.IP
+Generates a multiple sequence alignment of predicted
+.I E. coli
+promoters on both strands of plasmid pBR322.
+The file
+.RI ' ecp.prf '
+contains a profile for
+.I E. coli
+promoters.
+The file
+.RI ' CVPBR322 '
+contains
+.SM EMBL
+entry J01749|CVPBR322.
+The result in
+.RI ' ecp.msf '
+can further be processed by
+.SM GCG
+programs accepting MSF files as input.
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B psa2msa
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfscan (1),
+.BR pfsearch (1),
+.BR pfmake (1),
+.BR pfw (1),
+.BR psa (5),
+.BR xpsa (5)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/ptof.1 b/man/ptof.1
new file mode 100644
index 0000000..e6967e0
--- /dev/null
+++ b/man/ptof.1
@@ -0,0 +1,317 @@
+.\"
+.\" $Id: ptof.1,v 1.2 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PTOF 1 "August 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+ptof \- convert a protein profile into a frame-search profile
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B ptof
+[
+.B \-hlr
+] [
+.B \-B
+.I init/term_score
+] [
+.B \-F
+.I frameshift
+] [
+.B \-I
+.I insert_multiplier
+] [
+.B \-X
+.I stop_codon
+] [
+.B \-Y
+.I intron_open
+] [
+.B \-Z
+.I intron_extend
+] [
+.I protein_profile
+|
+.B \-
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B ptof
+converts a protein profile (generated for instance by pftools
+programs
+.BR pfmake (1),
+.BR gtop (1)
+or
+.BR htop (1))
+into a so-called
+.RI \(dq frame-search\ profile \(dq.
+A frame-search profile is used to search an
+.RI \(dq interleaved\ frame-translated \(dq
+DNA sequence (generated by pftools program
+.BR 2ft (1))
+for occurrences of a protein sequence motif.
+An
+.RI \(dq interleaved\ frame-translated \(dq
+DNA sequence is an amino acid sequence corresponding to the
+.I N-2
+overlapping codons of a DNAsequence of length
+.IR N .
+Note that in such a sequence, the character
+.RB ' O '
+is used to represent stop codons.
+.LP
+The conversion procedure works as follows: The protein profile is
+expanded in length by a factor of three to accommodate three translated
+codons per original match position.
+Two dummy match positions are placed between two consecutive significant match positions
+imported from the original profile.
+The original insert positions are placed between pairs of adjacent dummy match positions.
+The initiation, termination, and transition scores of the original insert
+positions are left unchanged; the
+insert extension scores are divided by a factor of 3, or by the value of the command-line
+option
+.BR \-I .
+The two insert positions flanking the significant match positions
+serve to accommodate frame-shift errors and introns, respectively.
+The frame-shift insert position allows free insertion opening combined
+with a high insert extension penalty (command-line option
+.BR \-F )
+whereas the intron insertion position has high opening but low extension penalties
+(command line options
+.B \-Y
+and
+.BR \-Z ).
+The deletion opening and closing penalties next to the significant
+match positions are set to values that ensure that the total cost of a single-base
+deletion is the same as the cost of
+a single base-insertion at a frame-shift insert position.
+Furthermore, the alphabet of the original profile is extended by the stop codon symbol
+.RB ' O '
+which is assigned a constant negative value (command-line option
+.BR \-X )
+at significant match positions, and zero at dummy match positions. At insert positions,
+it is set to the average of the other insert extension scores.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- protein_profile ---
+.TP
+.I protein_profile
+Input protein profile.
+.br
+The protein profile contained in this file will be converted into a frame-search profile.
+If the filename is replaced by a
+.RB ' \- ',
+.B ptof
+will read the profile from
+.BR stdin .
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- l ---
+.TP
+.B \-l
+Remove output line length limit. Individual lines of the output profile
+can exceed a length of 132 characters, removing the need to wrap them over several lines.
+.\" --- r ---
+.TP
+.B \-r
+Frame-search parameters are given in normalized score units. This option
+will only be considered if a linear normalization function with
+priority over all other normalization functions is specified
+in the profile.
+In this case, the frame-search scores specified on the command line will be
+divided by the slope
+.RI ( R2
+parameter) of the normalization function.
+This option is particularly useful for profiles which are
+already scaled in units that can be interpreted as \(miLog(P)-values,
+.I e.g.
+bits.
+.\" --- B ---
+.TP
+.BI \-B\ init/term_score
+Minimal initiation and termination score.
+.br
+All internal and external initiation and termination scores will be set to this
+value if the corresponding value in the original profile is lower than
+this value.
+This parameter is used to impose a more
+local alignment behavior on the frame-search profile in order to
+deal with discontinuities in DNA sequences (long introns,
+alternative splicing, chimeric clones,
+.IR etc. )
+.br
+Default: \-50 (\-0.5 with option
+.BR \-r )
+.\" --- F ---
+.TP
+.BI \-F\ frameshift
+Frame-shift error penalty.
+.br
+Default: \-100 (\-1.0 with option
+.BR \-r )
+.\" --- I ---
+.TP
+.BI \-I\ insert_multiplier
+Insert score multiplier.
+.br
+The values of the original
+insert extension scores will be multiplied by this
+factor in order to compensate for the fact that
+a single amino acid corresponds to three overlapping
+codon positions in the target sequence.
+.br
+Default: 1/3
+.\" --- X ---
+.TP
+.BI \-X\ stop_codon
+Stop codon penalty.
+.br
+Default: \-100 (\-1.0 with option
+.BR -r )
+.\" --- Y ---
+.TP
+.BI \-Y\ intron_open
+Intron opening penalty.
+.br
+Default: \-300 (\-3.0 with option
+.BR \-r )
+.\" --- Z ---
+.TP
+.BI \-Z\ intron_extend
+Intron extension penalty.
+.br
+Default: \-1 (\-0.01 with option
+.BR \-r )
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+B=#
+Minimal initiation and termination score.
+.br
+Use option
+.B \-B
+instead.
+.TP
+F=#
+Frame-shift error penalty.
+.br
+Use option
+.B \-F
+instead.
+.TP
+I=#
+Insert score multiplier.
+.br
+Use option
+.B \-I
+instead.
+.TP
+X=#
+Stop codon penalty.
+.br
+Use option
+.B \-X
+instead.
+.TP
+Y=#
+Intron opening penalty.
+.br
+Use option
+.B \-Y
+instead.
+.TP
+Z=#
+Intron extension penalty.
+.br
+Use option
+.B \-Z
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B ptof
+\-r \-F -1.2 \-I 0.6 \-X -1.5 \-B -0.5 sh3.prf > sh3.fsp
+.br
+.B 2ft \-
+< R76849.seq |
+.B pfsearch
+\-fy \-C 5.0 sh3.fsp \-
+.IP
+The protein domain profile in
+.RI ' sh3.prf '
+is first converted into a frame-search profile
+.RI ' sh3.fsp '.
+Then both strands of the Fasta-formatted EST sequence in
+.RI ' R76849.seq '
+(GenBank/EMBL-accession: R76849) are converted into interleaved frame-translated
+protein sequences and searched for SH3 domains with the frame-search profile
+generated in the preceding step.
+.IP
+The output may be compared to the result of a more conventional
+search strategy using a protein profile in conjunction with a six-frame
+translation of the same DNA sequence:
+.IP
+.B 6ft \-
+< R76849.seq |
+.B pfsearch
+\-fy \-C 5.0 sh3.prf \-
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B ptof
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfscan (1),
+.BR pfsearch (1),
+.BR 2ft (1),
+.BR 6ft (1)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/ptoh.1 b/man/ptoh.1
new file mode 100644
index 0000000..7b866e6
--- /dev/null
+++ b/man/ptoh.1
@@ -0,0 +1,295 @@
+.\"
+.\" $Id: ptoh.1,v 1.1 2003/05/12 11:50:03 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PTOH 1 "April 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+ptoh \- converts a
+.SM PROSITE
+formatted profile into an approximately equivalent HMM
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B ptoh
+[
+.B \-fFhs
+] [
+.B \-D
+.I del_to_del
+] [
+.B \-I
+.I ins_to_ins
+] [
+.B \-L
+.I log_base
+] [
+.I profile
+|
+.B \-
+] [
+.I random_model
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B ptoh
+converts a
+.SM PROSITE
+formatted generalized profile into an approximately equivalent
+.SM HMMER1
+(default) or
+.SM SAM
+formatted hidden Markov model (HMM).
+The file
+.RI ' profile '
+is a nucleic acid or protein profile in
+.SM PROSITE
+format. If
+.RB ' \- '
+is specified instead of a filename, the profile is read from the standard input.
+The
+.RI random_model
+file contains a simple null-model in the format used by the HMM search programs
+of the
+.SM HMMER1
+package.
+The result is written to the standard output.
+.LP
+The profile-to-HMM conversion method is described in Bucher
+.I et al.
+(1996).
+All profile scores corresponding to transitions which are not supported
+by the HMM architectures of the
+.SM SAM
+and
+.SM HMMER1
+packages, are ignored.
+If no random model is specified on the command line,
+the null model given in the GENERAL_SPEC data block of the profile is used.
+If this is also missing, a flat residue distribution
+is assumed.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- profile ---
+.TP
+.I profile
+Input
+.SM PROSITE
+generalized profile.
+The motif described by the profile will be converted into an approximately
+equivalent HMM. If the filename is replaced by a
+.RB ' \- ',
+.B ptoh
+will read the input profile from
+.BR stdin .
+.\" --- random_model ---
+.TP
+.I random_model
+Input random model file.
+.br
+This file should contain a simple null-model using the same residue alphabet as
+the
+.IR profile .
+.\" --- f ---
+.TP
+.B \-f
+Generate free insert-modules (FIMs) at the beginning
+and at the end of the model which approximately emulate domain-global
+or semi-global alignment mode
+.RI ( see
+Bucher
+.I et al.
+1996).
+.\" --- F ---
+.TP
+.B \-F
+Generate free insert-modules (FIMs) at the beginning
+and at the end of the model which approximately emulate
+local alignment mode.
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.RS
+.TP
+Note:
+The meaning of this option has changed between version 2.2 and the current
+release of the
+.B pftools
+package. No option is needed to get
+.SM HMMER1
+output format because it is the default
+.RI ( see
+option
+.BR \-s ).
+.RE
+.\" --- s ---
+.TP
+.B \-s
+Output in
+.SM SAM
+format.
+.\" --- D ---
+.TP
+.BI \-D\ del_to_del
+Delete-to-delete transition probabilities.
+.br
+They are used in conjunction with FIMs (options
+.BR \-f ,
+.BR \-F ).
+This value will be imposed on all delete-to-delete transitions of the model.
+The other outgoing transitions from the affected delete states will be renormalized to satisfy
+the "sum to one" requirement.
+Note that the application of the
+.I D
+parameter precedes the application of the
+.I I
+parameter.
+Delete-to-delete probabilities at the beginning and at the end of the
+model may thus change again as a result of renormalizations
+following the application of the
+.I I
+parameter.
+.br
+Default: 0.9
+.\" --- I ---
+.TP
+.BI \-I\ ins_to_ins
+Insert-to-insert transition probabilities.
+.br
+They are used in the FIMs (options
+.BR \-f ,
+.BR \-F ).
+This value will be imposed on the first and the last match-to-insert and insert-to-insert
+transition probabilities of the model.
+The other outgoing transitions of the affected states
+will be renormalized such as to satisfy the "summing to one" requirement.
+If the
+.B \-F
+option is simultaneously set, the
+.I I
+parameter will also be imposed on the insert-to-delete transition probability
+at the beginning, and on the delete-to-insert transition probability at the
+end of the model.
+.br
+Default: 0.99
+.\" --- L ---
+.TP
+.BI \-L\ log_base
+Logarithmic base.
+.br
+Specifies the logarithmic base used for conversion of the profile scores into HMM probabilities
+(The profile scores are interpreted as log-odds ratios,
+.I see
+Bucher
+.I et al.
+1996). This value over-writes the logarithmic base
+specified within the profile by the optional
+.I LOG_BASE
+parameter.
+.br
+Default: 1.0233739 (1/30 bit units)
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+D=#
+Delete-to-delete transition probabilities.
+.br
+Use option
+.B \-D
+instead.
+.TP
+I=#
+Insert-to-insert transition probabilities.
+.br
+Use option
+.B \-I
+instead.
+.TP
+L=#
+Logarithmic base.
+.br
+Use option
+.B \-L
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B ptoh
+\-Fs \-L 1.0233739 sh3.prf standard.random > sh3.hmm
+.IP
+Generates a
+.SM SAM
+formatted HMM for the SH3 domain from a profile. The file
+.RI ' sh3.prf '
+contains the source profile in
+.SM PROSITE
+format.
+The file
+.RI ' standard.random '
+contains the null-model used for conversion of the log-odds ratios into probabilities.
+The logarithmic base 1.0233739 corresponds to 1/30 bits, the implicit scale
+of the profile.
+The
+.B \-F
+option causes the HMM to emulate local alignment (fragment search) mode.
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B ptoh
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" References section
+.\" ------------------------------------------------
+.SH REFERENCES
+.LP
+Bucher P, Karplus K, Moeri N & Hofmann, K. (1996).
+.I A flexible motif search
+.I technique based on generalized
+.I profiles.
+Comput. Chem.
+.BR 20 :3-24.
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/man/xpsa.5 b/man/xpsa.5
new file mode 100644
index 0000000..d809054
--- /dev/null
+++ b/man/xpsa.5
@@ -0,0 +1,396 @@
+.\"
+.\" $Id: xpsa.5,v 1.5 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH XPSA 5 "July 2003" "pftools 2.3" "File formats"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+xpsa \- extended psa header
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B xpsa
+is an extension of the
+.BR psa (5)
+file format used by the
+.B pftools
+package to describe and store biological sequences.
+.PP
+.B xpsa
+uses
+.IR keyword = value
+pairs in the header to include information about the sequence or the alignment
+between the sequence and a
+.I PROSITE
+profile (or any other kind of motif). The syntax is therefore easily extensible. In this man-page, we focus on
+the keywords defined and used by the
+.B pftools
+package.
+.PP
+In the following text we will use the more general term
+.RI ' motif '
+when in fact our discussion refers specifically to
+.IR "PROSITE profiles" .
+Nevertheless the keywords defined here can be used by any kind of sequence analysis tool
+to store and transfer information.
+.PP
+None of the defined keywords are mandatory and analysis tools have often a length limit imposed
+on the header line. In order to keep the header line reasonnably short and user readable,
+these tools can easily remove individual
+.IR keyword = value
+pairs which are not important to the specific task at hand.
+.\" ------------------------------------------------
+.\" Syntax section
+.\" ------------------------------------------------
+.SH SYNTAX
+The general syntax of the
+.B xpsa
+header is given below. For examples please refer to the corresponding
+.I examples
+section.
+.PP
+The biological sequence itself starts on the next line following the header and may extend over several lines.
+If several sequences are contained in the same file, each must be preceded by a header line.
+.PP
+.sp
+Syntax of the header line:
+.sp
+.RS
+.BI > seq_id / seq_pos
+{
+.RI "[ " keyword = value " | " free_text " ]"
+}
+.RE
+.sp
+The header must start with a
+.RB ' > '
+followed by the fields detailed below:
+.RS
+.\" --- seq_id ---
+.TP
+.I seq_id
+typically the
+.IR accession \ number\ and\ identifier
+of the sequence. This text field should not contain any spaces.
+.TP
+Note:
+If the input sequences have a well defined accession number and identifier (as is
+the case with
+.SM SWISS-PROT
+entries)
+.BR pfsearch "(1) and " pfscan (1)
+will use as
+.IR seq_id
+the accession number separated by a
+.RB ' | '
+from the identifier.
+.br
+If the input sequences are in
+.SM FASTA
+format, no guess can be made about the accession number or the identifier. Therefore
+.BR pfsearch "(1) and " pfscan (1)
+will use as
+.IR seq_id
+all text following the
+.RB ' > '
+character up to the first whitespace.
+.\" --- seq_pos ---
+.TP
+.I seq_pos
+this field describes the sequence coordinates where a
+motif matches. The positions are generally given as
+.IR start_pos \- end_pos
+pairs.
+.br
+If present, this field is separated from the
+.I seq_id
+by a
+.RB ' / '
+character.
+.\" --- keyword=value ---
+.TP
+.IR keyword = value
+is an optional list of defined
+.IR keyword = value
+pairs. Each pair should be separated from the next or from free text by whitespaces.
+.br
+The
+.I keyword
+is case sensitive in the current implementation of the
+.B pftools
+package. It should not exceed 24 characters in length.
+.br
+The
+.I value
+can be numeric or alphanumeric. Values containing whitespaces should be enclosed in either
+.I single quotes
+or
+.IR "double quotes" .
+If the same type of quote appears inside the value it must be escaped using the
+.RB ' \(rs '
+character.
+.RS
+.TP
+Note:
+the
+.B pftools
+do not currently produce quote enclosed values.
+.RE
+.\" --- free_text ---
+.TP
+.I free_text
+typically this is a description of the sequence. It should not contain any of the defined
+.IR keyword = value
+pairs.
+.PP
+.\" ------------------------------------------------
+.\" Keywords subsection
+.\" ------------------------------------------------
+.SS Keywords
+.RE
+Keywords used by the
+.BR pfsearch "(1) and " pfscan (1)
+programs:
+.RS
+.\" --- level ---
+.TP
+.I level
+the highest cut-off level (as a value) exceeded by the alignment.
+.br
+The characters
+.RB ' NA '
+indicate that the alignment score does not exceed any of the cut-off levels defined in the motif.
+.\" --- level_tag ---
+.TP
+.I level_tag
+the highest cut-off level (as a character string) exceeded by the alignment.
+.br
+The characters
+.RB ' NA '
+indicate that the alignment score does not exceed any of the cut-off levels defined in the motif.
+.RS
+.TP
+Note:
+.BR pfsearch "(1) and " pfscan (1)
+only report the first 2 characters of the level text string.
+.RE
+.\" --- match_nb ---
+.TP
+.I match_nb
+if the motif matches several times on the same sequence, each alignment is numbered incrementally.
+.br
+If the motif is circular, each single repeat is numbered incrementally with the key
+.I repeat_nb
+(see below).
+.\" --- match_parent ---
+.TP
+.I match_parent
+for each single match of a circular motif, this key references the number of the parental total match of the circular
+motif.
+.RS
+.TP
+Note:
+if a circular motif matches only once on a given sequence,
+.BR pfsearch "(1) and " pfscan (1)
+do not report this key.
+.RE
+.\" --- match_type ---
+.TP
+.I match_type
+identifies the type of match. Either
+.B region
+for a complete match of a motif to a sequence, or
+.B repeat
+for a single repeat of a circular motif.
+.\" --- motif ---
+.TP
+.I motif
+the name and/or identifier of the motif.
+.\" --- motif_start ---
+.TP
+.I motif_start
+the motif position where the alignment begins.
+.\" --- motif_end ---
+.TP
+.I motif_end
+negative offset from the end of the alignment to the end of the motif.
+.\" --- norm_score ---
+.TP
+.I norm_score
+the normalized score of the alignment.
+.\" --- raw_score ---
+.TP
+.I raw_score
+the raw score of the alignment.
+.\" --- repeat_nb ---
+.TP
+.I repeat_nb
+if the motif is circular, each individual repeat is numbered incrementally with this keyword.
+.\" --- seq_end ---
+.TP
+.I seq_end
+negative offset from the end of the alignment to the end of the sequence.
+.br
+In combination with the information given by
+.I seq_pos
+this allows to deduce the length of the query sequence.
+.\" --- strand ---
+.TP
+.I strand
+the sequence strand on which the motif matches, when the search includes the reverse complement of a DNA sequence.
+The
+.I value
+is either
+.B s
+for the sens or
+.B r
+for the reverse strand.
+.PP
+.RE
+Keywords used by the
+.BR pfmake "(1) and " pfw (1)
+programs:
+.RS
+.\" --- weight ---
+.TP
+.I weight
+the weight of a given sequence in a multiple alignment.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+>O00628|PEX7/73-315
+.IR motif =PS50294|WD_REP
+.IR raw_score =1336
+.IR match_nb =1
+.IR match_type =region
+.IR seq_end =-491
+.br
+VTW[...]IYD
+.br
+>O00628|PEX7/540-801
+.IR motif =PS50294|WD_REP
+.IR raw_score =1378
+.IR match_nb =2
+.IR match_type =region
+.IR seq_end =-5
+.br
+SFD[...]PAS
+.br
+
+The 2 headers above describe 2 matches of the motif called
+.RI ' WD_REP '
+onto the sequence
+.RI ' PEX7 '.
+Each of the matches onto this single sequence is numbered using the the
+.I match_nb
+keyword.
+These matches are not individual repeats of a circular motif as can be seen with the
+.I region
+value of the
+.I match_type
+keyword.
+.br
+The first match starts at position 73 of the sequence and ends at position 315. This position is 491
+residues away from the end of the input sequence
+.RI ( seq_end ).
+.br
+The next line following the
+.BR xpsa (5)
+header line is the sequence of the match (it has been truncated here to help readability).
+.br
+The second match begins at position 540 of the sequence and terminates 5 residues before the end of the
+input sequence, that is at position 801.
+.RE
+
+.TP
+(2)
+>O00628|PEX7/540-582
+.IR motif =PS50294|WD_REP
+.IR norm_score =7.437
+.IR raw_score =180
+.IR match_parent =2
+.IR repeat_nb =1
+.IR match_type =repeat
+.IR level =-1
+.IR seq_end =-224
+.IR motif_start =1
+.IR motif_end =-1
+.br
+SFD[...]PLQ
+.br
+
+This example illustrates the kind of header obtained when aligning a circular motif
+to a sequence. Each match of this motif (which we will call
+.I total
+match) can be composed of several individual repeats of the motif. Tools like
+.BR pfsearch "(1) and " pfscan (1)
+can output each total match followed by all its individual repeats. In this example
+we only show one of the indiviual repeats that is part of a total match between a circular profile
+and a sequence.
+.br
+The
+.BR xpsa (5)
+header above describes a single repeat of a match between a circular motif called
+.RI ' WD_REP '
+and the sequence
+.RI ' PEX7 '.
+.br
+This is the first individual repeat of a match of the circular motif, as identified by the
+.I repeat_nb
+keyword. The other individual repeats have not been listed in this example.
+.br
+The total circular motif has at least 2 distinct matches on the
+.RI ' PEX7 '
+sequence, because this single repeat is part of the second match as described by the
+.I match_parent
+keyword. The parental matches have been ommited from this example, they would be numbered using the
+.I match_nb
+keyword.
+.br
+The normalized score of this motif exceeds the cut-off level number -1
+.RI ( level
+keyword) which is specified in the motif.
+.br
+This match starts at position 1 of the profile
+.RI ( motif_start )
+and position 540 of the sequence, it ends at the end of the motif
+.RI ( motif_end =-1)
+and position 582 of the sequence.
+.br
+The next line following the
+.BR xpsa (5)
+header line is the sequence of the match (it has been truncated here to help readability).
+.RE
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR psa (5),
+.BR pfsearch (1),
+.BR pfscan (1),
+.BR pfw (1),
+.BR pfmake (1),
+.BR psa2msa (1)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH "AUTHOR"
+This manual page was originally written by Volker Flegel.
+.br
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
+
diff --git a/nodat.f b/nodat.f
new file mode 100644
index 0000000..432758d
--- /dev/null
+++ b/nodat.f
@@ -0,0 +1,21 @@
+*----------------------------------------------------------------------*
+* $Id: nodat.f,v 2.4 2003/02/19 08:38:25 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* NORMALIZATION
+
+ Parameter (KNOR=3)
+ Parameter (KNPM=5)
+ Parameter (MAXN=8)
+
+ Character*16 CNOR(KNOR)
+ Integer JNOP(KNOR)
+
+ Integer JNOR
+ Integer MNOR(MAXN)
+ Integer NNOR(MAXN)
+ Integer NNPR(MAXN)
+ Character*32 CNTX(MAXN)
+ Real RNOP(KNPM,MAXN)
+
diff --git a/pam120.cmp b/pam120.cmp
new file mode 100644
index 0000000..68f9a51
--- /dev/null
+++ b/pam120.cmp
@@ -0,0 +1,39 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 120 substitution matrix, scale = ln(2)/2 = 0.346574
+#
+# Expected score = -1.64, Entropy = 0.979 bits
+#
+# Lowest score = -8, Highest score = 12
+#
+#
+# mean= -1.5644 , stdev= 3.8384
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 3.0 0.0 -3.0 0.0 0.0 -4.0 1.0 -3.0 -1.0 -2.0 -3.0 -2.0 -1.0 1.0 -1.0 -3.0 1.0 1.0 0.0 -7.0 -4.0 -1.0 A
+ 4.0 -6.0 4.0 3.0 -5.0 0.0 1.0 -3.0 0.0 -4.0 -4.0 3.0 -2.0 0.0 -2.0 0.0 0.0 -3.0 -6.0 -3.0 2.0 B
+ 9.0 -7.0 -7.0 -6.0 -4.0 -4.0 -3.0 -7.0 -7.0 -6.0 -5.0 -4.0 -7.0 -4.0 0.0 -3.0 -3.0 -8.0 -1.0 -7.0 C
+ 5.0 3.0 -7.0 0.0 0.0 -3.0 -1.0 -5.0 -4.0 2.0 -3.0 1.0 -3.0 0.0 -1.0 -3.0 -8.0 -5.0 3.0 D
+ 5.0 -7.0 -1.0 -1.0 -3.0 -1.0 -4.0 -3.0 1.0 -2.0 2.0 -3.0 -1.0 -2.0 -3.0 -8.0 -5.0 4.0 E
+
+ 8.0 -5.0 -3.0 0.0 -7.0 0.0 -1.0 -4.0 -5.0 -6.0 -5.0 -3.0 -4.0 -3.0 -1.0 4.0 -6.0 F
+ 5.0 -4.0 -4.0 -3.0 -5.0 -4.0 0.0 -2.0 -3.0 -4.0 1.0 -1.0 -2.0 -8.0 -6.0 -2.0 G
+ 7.0 -4.0 -2.0 -3.0 -4.0 2.0 -1.0 3.0 1.0 -2.0 -3.0 -3.0 -3.0 -1.0 1.0 H
+ 6.0 -3.0 1.0 1.0 -2.0 -3.0 -3.0 -2.0 -2.0 0.0 3.0 -6.0 -2.0 -3.0 I
+ 5.0 -4.0 0.0 1.0 -2.0 0.0 2.0 -1.0 -1.0 -4.0 -5.0 -5.0 -1.0 K
+
+ 5.0 3.0 -4.0 -3.0 -2.0 -4.0 -4.0 -3.0 1.0 -3.0 -2.0 -3.0 L
+ 8.0 -3.0 -3.0 -1.0 -1.0 -2.0 -1.0 1.0 -6.0 -4.0 -2.0 M
+ 4.0 -2.0 0.0 -1.0 1.0 0.0 -3.0 -4.0 -2.0 0.0 N
+ 6.0 0.0 -1.0 1.0 -1.0 -2.0 -7.0 -6.0 -1.0 P
+ 6.0 1.0 -2.0 -2.0 -3.0 -6.0 -5.0 4.0 Q
+
+ 6.0 -1.0 -2.0 -3.0 1.0 -5.0 -1.0 R
+ 3.0 2.0 -2.0 -2.0 -3.0 -1.0 S
+ 4.0 0.0 -6.0 -3.0 -2.0 T
+ 5.0 -8.0 -3.0 -3.0 V
+ 12.0 -2.0 -7.0 W
+
+ 8.0 -5.0 Y
+ 4.0 Z
diff --git a/pam160.cmp b/pam160.cmp
new file mode 100644
index 0000000..07d0b2f
--- /dev/null
+++ b/pam160.cmp
@@ -0,0 +1,39 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 160 substitution matrix, scale = ln(2)/2 = 0.346574
+#
+# Expected score = -1.14, Entropy = 0.694 bits
+#
+# Lowest score = -7, Highest score = 12
+#
+#
+# mean= -1.0829 , stdev= 2.7041
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 2.0 0.0 -2.0 0.0 0.0 -3.0 1.0 -2.0 -1.0 -2.0 -2.0 -1.0 0.0 1.0 -1.0 -2.0 1.0 1.0 0.0 -5.0 -3.0 0.0 A
+ 3.0 -4.0 3.0 2.0 -4.0 0.0 1.0 -2.0 0.0 -4.0 -3.0 2.0 -1.0 1.0 -1.0 0.0 0.0 -2.0 -5.0 -3.0 2.0 B
+ 9.0 -5.0 -5.0 -5.0 -3.0 -3.0 -2.0 -5.0 -6.0 -5.0 -4.0 -3.0 -5.0 -3.0 0.0 -2.0 -2.0 -7.0 0.0 -5.0 C
+ 4.0 3.0 -6.0 0.0 0.0 -3.0 0.0 -4.0 -3.0 2.0 -2.0 1.0 -2.0 0.0 -1.0 -3.0 -6.0 -4.0 2.0 D
+ 4.0 -5.0 0.0 0.0 -2.0 -1.0 -3.0 -2.0 1.0 -1.0 2.0 -2.0 0.0 -1.0 -2.0 -7.0 -4.0 3.0 E
+
+ 7.0 -4.0 -2.0 0.0 -5.0 1.0 0.0 -3.0 -4.0 -5.0 -4.0 -3.0 -3.0 -2.0 -1.0 5.0 -5.0 F
+ 4.0 -3.0 -3.0 -2.0 -4.0 -3.0 0.0 -1.0 -2.0 -3.0 1.0 -1.0 -2.0 -7.0 -5.0 -1.0 G
+ 6.0 -3.0 -1.0 -2.0 -3.0 2.0 -1.0 2.0 1.0 -1.0 -2.0 -2.0 -3.0 0.0 1.0 H
+ 5.0 -2.0 2.0 2.0 -2.0 -2.0 -2.0 -2.0 -2.0 0.0 3.0 -5.0 -2.0 -2.0 I
+ 4.0 -3.0 0.0 1.0 -2.0 0.0 3.0 -1.0 0.0 -3.0 -4.0 -4.0 0.0 K
+
+ 5.0 3.0 -3.0 -3.0 -2.0 -3.0 -3.0 -2.0 1.0 -2.0 -2.0 -3.0 L
+ 7.0 -2.0 -2.0 -1.0 -1.0 -2.0 -1.0 1.0 -4.0 -3.0 -2.0 M
+ 3.0 -1.0 0.0 -1.0 1.0 0.0 -2.0 -4.0 -2.0 1.0 N
+ 5.0 0.0 -1.0 1.0 0.0 -2.0 -5.0 -5.0 -1.0 P
+ 5.0 1.0 -1.0 -1.0 -2.0 -5.0 -4.0 3.0 Q
+
+ 6.0 -1.0 -1.0 -3.0 1.0 -4.0 0.0 R
+ 2.0 1.0 -1.0 -2.0 -3.0 -1.0 S
+ 3.0 0.0 -5.0 -3.0 -1.0 T
+ 4.0 -6.0 -3.0 -2.0 V
+ 12.0 -1.0 -6.0 W
+
+ 8.0 -4.0 Y
+ 3.0 Z
diff --git a/pam200.cmp b/pam200.cmp
new file mode 100644
index 0000000..9959cf9
--- /dev/null
+++ b/pam200.cmp
@@ -0,0 +1,39 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 200 substitution matrix, scale = ln(2)/3 = 0.231049
+#
+# Expected score = -1.23, Entropy = 0.507 bits
+#
+# Lowest score = -9, Highest score = 18
+#
+#
+# mean= -1.1524 , stdev= 4.4930
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 3.0 0.0 -3.0 0.0 0.0 -4.0 1.0 -2.0 -1.0 -2.0 -2.0 -2.0 0.0 1.0 -1.0 -2.0 1.0 1.0 0.0 -7.0 -4.0 0.0 A
+ 3.0 -5.0 4.0 3.0 -6.0 0.0 1.0 -3.0 0.0 -4.0 -3.0 3.0 -1.0 1.0 -1.0 1.0 0.0 -3.0 -6.0 -4.0 2.0 B
+ 12.0 -6.0 -7.0 -6.0 -4.0 -4.0 -3.0 -7.0 -7.0 -6.0 -5.0 -4.0 -7.0 -4.0 0.0 -3.0 -2.0 -9.0 0.0 -7.0 C
+ 5.0 4.0 -7.0 0.0 0.0 -3.0 0.0 -5.0 -4.0 3.0 -2.0 2.0 -2.0 0.0 0.0 -3.0 -8.0 -5.0 3.0 D
+ 5.0 -7.0 0.0 0.0 -3.0 0.0 -4.0 -3.0 2.0 -1.0 3.0 -2.0 0.0 -1.0 -2.0 -9.0 -5.0 4.0 E
+
+ 10.0 -6.0 -2.0 1.0 -7.0 2.0 0.0 -4.0 -6.0 -6.0 -5.0 -4.0 -4.0 -2.0 0.0 7.0 -6.0 F
+ 6.0 -3.0 -3.0 -2.0 -5.0 -4.0 0.0 -1.0 -2.0 -4.0 1.0 0.0 -2.0 -8.0 -6.0 -1.0 G
+ 8.0 -3.0 -1.0 -3.0 -3.0 2.0 -1.0 3.0 2.0 -1.0 -2.0 -3.0 -3.0 0.0 2.0 H
+ 6.0 -2.0 2.0 2.0 -2.0 -3.0 -3.0 -2.0 -2.0 0.0 4.0 -6.0 -2.0 -3.0 I
+ 6.0 -4.0 1.0 1.0 -2.0 1.0 4.0 0.0 0.0 -3.0 -4.0 -5.0 0.0 K
+
+ 7.0 4.0 -4.0 -3.0 -2.0 -4.0 -4.0 -2.0 2.0 -2.0 -2.0 -3.0 L
+ 8.0 -2.0 -3.0 -1.0 -1.0 -2.0 -1.0 2.0 -5.0 -3.0 -2.0 M
+ 3.0 -1.0 1.0 0.0 1.0 0.0 -2.0 -5.0 -2.0 1.0 N
+ 7.0 0.0 0.0 1.0 0.0 -2.0 -7.0 -6.0 -1.0 P
+ 5.0 1.0 -1.0 -1.0 -3.0 -6.0 -5.0 4.0 Q
+
+ 7.0 -1.0 -1.0 -3.0 2.0 -5.0 0.0 R
+ 2.0 2.0 -1.0 -3.0 -3.0 -1.0 S
+ 4.0 0.0 -6.0 -3.0 -1.0 T
+ 5.0 -8.0 -3.0 -2.0 V
+ 18.0 -1.0 -7.0 W
+
+ 11.0 -5.0 Y
+ 4.0 Z
diff --git a/pam220.cmp b/pam220.cmp
new file mode 100644
index 0000000..9620d22
--- /dev/null
+++ b/pam220.cmp
@@ -0,0 +1,39 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 220 substitution matrix, scale = ln(2)/3 = 0.231049
+#
+# Expected score = -1.06, Entropy = 0.437 bits
+#
+# Lowest score = -8, Highest score = 17
+#
+#
+# mean= -0.9929 , stdev= 3.8362
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 2.0 0.0 -2.0 0.0 0.0 -4.0 1.0 -2.0 -1.0 -1.0 -2.0 -1.0 0.0 1.0 -1.0 -2.0 1.0 1.0 0.0 -6.0 -4.0 0.0 A
+ 3.0 -5.0 4.0 3.0 -5.0 0.0 1.0 -2.0 0.0 -4.0 -3.0 2.0 -1.0 1.0 -1.0 0.0 0.0 -2.0 -6.0 -3.0 2.0 B
+ 12.0 -6.0 -6.0 -5.0 -4.0 -4.0 -3.0 -6.0 -7.0 -6.0 -4.0 -3.0 -6.0 -4.0 0.0 -3.0 -2.0 -8.0 0.0 -6.0 C
+ 4.0 4.0 -6.0 0.0 1.0 -3.0 0.0 -5.0 -3.0 2.0 -1.0 2.0 -2.0 0.0 0.0 -3.0 -8.0 -5.0 3.0 D
+ 4.0 -6.0 0.0 1.0 -2.0 0.0 -4.0 -2.0 2.0 -1.0 3.0 -1.0 0.0 -1.0 -2.0 -8.0 -5.0 4.0 E
+
+ 10.0 -5.0 -2.0 1.0 -6.0 2.0 0.0 -4.0 -5.0 -5.0 -5.0 -4.0 -4.0 -2.0 0.0 7.0 -6.0 F
+ 5.0 -3.0 -3.0 -2.0 -5.0 -3.0 0.0 -1.0 -2.0 -3.0 1.0 0.0 -2.0 -8.0 -6.0 -1.0 G
+ 7.0 -3.0 0.0 -2.0 -3.0 2.0 0.0 3.0 2.0 -1.0 -2.0 -3.0 -3.0 0.0 2.0 H
+ 5.0 -2.0 2.0 2.0 -2.0 -2.0 -2.0 -2.0 -2.0 0.0 4.0 -6.0 -1.0 -2.0 I
+ 5.0 -3.0 1.0 1.0 -1.0 1.0 4.0 0.0 0.0 -3.0 -4.0 -5.0 0.0 K
+
+ 6.0 4.0 -3.0 -3.0 -2.0 -3.0 -3.0 -2.0 2.0 -2.0 -1.0 -3.0 L
+ 8.0 -2.0 -2.0 -1.0 -1.0 -2.0 -1.0 2.0 -5.0 -3.0 -2.0 M
+ 3.0 -1.0 1.0 0.0 1.0 0.0 -2.0 -4.0 -2.0 1.0 N
+ 7.0 0.0 0.0 1.0 0.0 -1.0 -6.0 -6.0 0.0 P
+ 5.0 1.0 -1.0 -1.0 -2.0 -5.0 -5.0 4.0 Q
+
+ 7.0 0.0 -1.0 -3.0 2.0 -5.0 0.0 R
+ 2.0 2.0 -1.0 -3.0 -3.0 0.0 S
+ 3.0 0.0 -6.0 -3.0 -1.0 T
+ 5.0 -7.0 -3.0 -2.0 V
+ 17.0 0.0 -7.0 W
+
+ 11.0 -5.0 Y
+ 4.0 Z
diff --git a/pam250.cmp b/pam250.cmp
new file mode 100644
index 0000000..72532f4
--- /dev/null
+++ b/pam250.cmp
@@ -0,0 +1,39 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 250 substitution matrix, scale = ln(2)/3 = 0.231049
+#
+# Expected score = -0.844, Entropy = 0.354 bits
+#
+# Lowest score = -8, Highest score = 17
+#
+#
+# mean= -0.7961 , stdev= 3.0609
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 2.0 0.0 -2.0 0.0 0.0 -3.0 1.0 -1.0 -1.0 -1.0 -2.0 -1.0 0.0 1.0 0.0 -2.0 1.0 1.0 0.0 -6.0 -3.0 0.0 A
+ 3.0 -4.0 3.0 3.0 -4.0 0.0 1.0 -2.0 1.0 -3.0 -2.0 2.0 -1.0 1.0 -1.0 0.0 0.0 -2.0 -5.0 -3.0 2.0 B
+ 12.0 -5.0 -5.0 -4.0 -3.0 -3.0 -2.0 -5.0 -6.0 -5.0 -4.0 -3.0 -5.0 -4.0 0.0 -2.0 -2.0 -8.0 0.0 -5.0 C
+ 4.0 3.0 -6.0 1.0 1.0 -2.0 0.0 -4.0 -3.0 2.0 -1.0 2.0 -1.0 0.0 0.0 -2.0 -7.0 -4.0 3.0 D
+ 4.0 -5.0 0.0 1.0 -2.0 0.0 -3.0 -2.0 1.0 -1.0 2.0 -1.0 0.0 0.0 -2.0 -7.0 -4.0 3.0 E
+
+ 9.0 -5.0 -2.0 1.0 -5.0 2.0 0.0 -3.0 -5.0 -5.0 -4.0 -3.0 -3.0 -1.0 0.0 7.0 -5.0 F
+ 5.0 -2.0 -3.0 -2.0 -4.0 -3.0 0.0 0.0 -1.0 -3.0 1.0 0.0 -1.0 -7.0 -5.0 0.0 G
+ 6.0 -2.0 0.0 -2.0 -2.0 2.0 0.0 3.0 2.0 -1.0 -1.0 -2.0 -3.0 0.0 2.0 H
+ 5.0 -2.0 2.0 2.0 -2.0 -2.0 -2.0 -2.0 -1.0 0.0 4.0 -5.0 -1.0 -2.0 I
+ 5.0 -3.0 0.0 1.0 -1.0 1.0 3.0 0.0 0.0 -2.0 -3.0 -4.0 0.0 K
+
+ 6.0 4.0 -3.0 -3.0 -2.0 -3.0 -3.0 -2.0 2.0 -2.0 -1.0 -3.0 L
+ 6.0 -2.0 -2.0 -1.0 0.0 -2.0 -1.0 2.0 -4.0 -2.0 -2.0 M
+ 2.0 0.0 1.0 0.0 1.0 0.0 -2.0 -4.0 -2.0 1.0 N
+ 6.0 0.0 0.0 1.0 0.0 -1.0 -6.0 -5.0 0.0 P
+ 4.0 1.0 -1.0 -1.0 -2.0 -5.0 -4.0 3.0 Q
+
+ 6.0 0.0 -1.0 -2.0 2.0 -4.0 0.0 R
+ 2.0 1.0 -1.0 -2.0 -3.0 0.0 S
+ 3.0 0.0 -5.0 -3.0 -1.0 T
+ 4.0 -6.0 -2.0 -2.0 V
+ 17.0 0.0 -6.0 W
+
+ 10.0 -4.0 Y
+ 3.0 Z
diff --git a/pam30.cmp b/pam30.cmp
new file mode 100644
index 0000000..a50924a
--- /dev/null
+++ b/pam30.cmp
@@ -0,0 +1,39 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 30 substitution matrix, scale = ln(2)/2 = 0.346574
+#
+# Expected score = -5.06, Entropy = 2.57 bits
+#
+# Lowest score = -17, Highest score = 13
+#
+#
+# mean= -4.9502 , stdev= 10.8581
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 6.0 -3.0 -6.0 -3.0 -2.0 -8.0 -2.0 -7.0 -5.0 -7.0 -6.0 -5.0 -4.0 -2.0 -4.0 -7.0 0.0 -1.0 -2.0-13.0 -8.0 -3.0 A
+ 6.0-12.0 6.0 1.0 -10.0 -3.0 -1.0 -6.0 -2.0 -9.0-10.0 6.0 -7.0 -3.0 -7.0 -1.0 -3.0 -8.0-10.0 -6.0 0.0 B
+ 10.0-14.0-14.0 -13.0 -9.0 -7.0 -6.0-14.0 -15.0-13.0-11.0 -8.0-14.0 -8.0 -3.0 -8.0 -6.0-15.0 -4.0-14.0 C
+ 8.0 2.0 -15.0 -3.0 -4.0 -7.0 -4.0 -12.0-11.0 2.0 -8.0 -2.0 -10.0 -4.0 -5.0 -8.0-15.0 -11.0 1.0 D
+ 8.0 -14.0 -4.0 -5.0 -5.0 -4.0 -9.0 -7.0 -2.0 -5.0 1.0 -9.0 -4.0 -6.0 -6.0-17.0 -8.0 6.0 E
+
+ 9.0 -9.0 -6.0 -2.0-14.0 -3.0 -4.0 -9.0-10.0-13.0 -9.0 -6.0 -9.0 -8.0 -4.0 2.0-13.0 F
+ 6.0 -9.0-11.0 -7.0 -10.0 -8.0 -3.0 -6.0 -7.0 -9.0 -2.0 -6.0 -5.0-15.0 -14.0 -5.0 G
+ 9.0 -9.0 -6.0 -6.0-10.0 0.0 -4.0 1.0 -2.0 -6.0 -7.0 -6.0 -7.0 -3.0 -1.0 H
+ 8.0 -6.0 -1.0 -1.0 -5.0 -8.0 -8.0 -5.0 -7.0 -2.0 2.0-14.0 -6.0 -6.0 I
+ 7.0 -8.0 -2.0 -1.0 -6.0 -3.0 0.0 -4.0 -3.0 -9.0-12.0 -9.0 -4.0 K
+
+ 7.0 1.0 -7.0 -7.0 -5.0 -8.0 -8.0 -7.0 -2.0 -6.0 -7.0 -7.0 L
+ 11.0 -9.0 -8.0 -4.0 -4.0 -5.0 -4.0 -1.0-13.0 -11.0 -5.0 M
+ 8.0 -6.0 -3.0 -6.0 0.0 -2.0 -8.0 -8.0 -4.0 -3.0 N
+ 8.0 -3.0 -4.0 -2.0 -4.0 -6.0-14.0 -13.0 -4.0 P
+ 8.0 -2.0 -5.0 -5.0 -7.0-13.0 -12.0 6.0 Q
+
+ 8.0 -3.0 -6.0 -8.0 -2.0 -10.0 -4.0 R
+ 6.0 0.0 -6.0 -5.0 -7.0 -5.0 S
+ 7.0 -3.0-13.0 -6.0 -6.0 T
+ 7.0-15.0 -7.0 -6.0 V
+ 13.0 -5.0-14.0 W
+
+ 10.0 -9.0 Y
+ 6.0 Z
diff --git a/pam40.cmp b/pam40.cmp
new file mode 100644
index 0000000..bc87e1f
--- /dev/null
+++ b/pam40.cmp
@@ -0,0 +1,40 @@
+#
+# This matrix was produced by "pam" Version 1.0.7 [01-Feb-98]
+# using Dayhoff et al. (1978) mutability data.
+#
+# PAM 40 substitution matrix, scale = ln(2)/2 = 0.346574
+#
+# Expected score = -4.27, Entropy = 2.26 bits
+#
+# Lowest score = -15, Highest score = 13
+#
+#
+# mean= -4.1839 , stdev= 9.2265
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 6.0 -3.0 -6.0 -3.0 -2.0 -7.0 -1.0 -6.0 -4.0 -6.0 -5.0 -4.0 -3.0 -1.0 -3.0 -6.0 0.0 0.0 -2.0-12.0 -7.0 -2.0 A
+ 6.0-11.0 6.0 2.0 -9.0 -2.0 -1.0 -5.0 -2.0 -8.0 -8.0 6.0 -6.0 -2.0 -6.0 -1.0 -2.0 -7.0 -9.0 -6.0 1.0 B
+ 9.0-12.0-12.0 -11.0 -8.0 -7.0 -5.0-12.0 -13.0-12.0 -9.0 -7.0-12.0 -7.0 -2.0 -7.0 -5.0-14.0 -3.0-12.0 C
+ 7.0 3.0 -13.0 -3.0 -3.0 -6.0 -4.0 -11.0 -9.0 2.0 -7.0 -2.0 -9.0 -3.0 -4.0 -7.0-13.0 -10.0 2.0 D
+ 7.0 -12.0 -3.0 -4.0 -5.0 -4.0 -8.0 -6.0 -1.0 -5.0 2.0 -8.0 -4.0 -5.0 -6.0-15.0 -8.0 6.0 E
+
+ 9.0 -8.0 -5.0 -2.0-12.0 -2.0 -3.0 -8.0 -9.0-11.0 -8.0 -6.0 -8.0 -7.0 -4.0 2.0-12.0 F
+ 6.0 -8.0 -9.0 -6.0 -9.0 -7.0 -2.0 -5.0 -6.0 -8.0 -1.0 -5.0 -5.0-13.0 -12.0 -4.0 G
+ 9.0 -8.0 -5.0 -5.0 -9.0 1.0 -3.0 1.0 -1.0 -5.0 -6.0 -6.0 -6.0 -3.0 0.0 H
+ 8.0 -5.0 -1.0 0.0 -4.0 -7.0 -7.0 -5.0 -6.0 -2.0 2.0-12.0 -5.0 -5.0 I
+ 6.0 -7.0 -1.0 0.0 -6.0 -2.0 1.0 -3.0 -2.0 -8.0-10.0 -8.0 -3.0 K
+
+ 7.0 1.0 -6.0 -6.0 -4.0 -8.0 -7.0 -6.0 -2.0 -5.0 -6.0 -6.0 L
+ 11.0 -7.0 -7.0 -3.0 -3.0 -5.0 -3.0 -1.0-11.0 -10.0 -4.0 M
+ 7.0 -5.0 -3.0 -5.0 0.0 -1.0 -7.0 -7.0 -4.0 -2.0 N
+ 8.0 -2.0 -3.0 -1.0 -3.0 -5.0-12.0 -12.0 -3.0 P
+ 8.0 -1.0 -4.0 -5.0 -6.0-11.0 -10.0 6.0 Q
+
+ 8.0 -2.0 -5.0 -7.0 -1.0 -9.0 -3.0 R
+ 6.0 1.0 -5.0 -4.0 -6.0 -4.0 S
+ 7.0 -2.0-11.0 -6.0 -5.0 T
+ 7.0-14.0 -6.0 -6.0 V
+ 13.0 -4.0-13.0 W
+
+ 10.0 -8.0 Y
+ 6.0 Z
diff --git a/pam400.cmp b/pam400.cmp
new file mode 100644
index 0000000..9f37579
--- /dev/null
+++ b/pam400.cmp
@@ -0,0 +1,38 @@
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 400 substitution matrix, scale = ln(2)/5 = 0.138629
+#
+# Expected score = -0.521, Entropy = 0.139 bits
+#
+# Lowest score = -8, Highest score = 26
+#
+#
+# mean= -0.4583 , stdev= 3.0788
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 1.0 1.0 -2.0 1.0 1.0 -3.0 1.0 -1.0 0.0 -1.0 -2.0 -1.0 0.0 1.0 0.0 -1.0 1.0 1.0 0.0 -6.0 -3.0 0.0 A
+ 2.0 -4.0 2.0 2.0 -4.0 1.0 1.0 -2.0 1.0 -3.0 -2.0 2.0 0.0 2.0 0.0 1.0 0.0 -1.0 -5.0 -3.0 2.0 B
+ 17.0 -5.0 -5.0 -4.0 -3.0 -3.0 -2.0 -5.0 -6.0 -5.0 -3.0 -2.0 -5.0 -4.0 0.0 -2.0 -2.0 -8.0 1.0 -5.0 C
+ 3.0 3.0 -5.0 1.0 1.0 -2.0 1.0 -3.0 -2.0 2.0 0.0 2.0 0.0 1.0 0.0 -2.0 -7.0 -4.0 2.0 D
+ 3.0 -5.0 1.0 1.0 -2.0 1.0 -3.0 -2.0 2.0 0.0 2.0 0.0 0.0 0.0 -1.0 -7.0 -4.0 3.0 E
+
+ 11.0 -5.0 -2.0 2.0 -5.0 3.0 1.0 -3.0 -4.0 -4.0 -4.0 -3.0 -3.0 0.0 2.0 10.0 -5.0 F
+ 4.0 -1.0 -2.0 -1.0 -3.0 -2.0 1.0 0.0 0.0 -2.0 1.0 1.0 -1.0 -7.0 -5.0 0.0 G
+ 5.0 -2.0 1.0 -2.0 -1.0 1.0 0.0 3.0 2.0 0.0 -1.0 -2.0 -2.0 0.0 2.0 H
+ 4.0 -2.0 3.0 2.0 -1.0 -1.0 -2.0 -2.0 -1.0 0.0 3.0 -5.0 0.0 -2.0 I
+ 4.0 -2.0 0.0 1.0 0.0 1.0 4.0 0.0 0.0 -2.0 -3.0 -4.0 1.0 K
+
+ 7.0 4.0 -3.0 -2.0 -2.0 -3.0 -2.0 -1.0 3.0 -2.0 0.0 -2.0 L
+ 5.0 -1.0 -1.0 -1.0 0.0 -1.0 0.0 2.0 -4.0 -1.0 -1.0 M
+ 1.0 0.0 1.0 1.0 1.0 0.0 -1.0 -4.0 -3.0 1.0 N
+ 5.0 0.0 0.0 1.0 1.0 -1.0 -6.0 -5.0 0.0 P
+ 3.0 1.0 0.0 0.0 -1.0 -5.0 -4.0 2.0 Q
+
+ 5.0 0.0 0.0 -2.0 3.0 -4.0 1.0 R
+ 1.0 1.0 -1.0 -3.0 -3.0 0.0 S
+ 1.0 0.0 -5.0 -3.0 0.0 T
+ 4.0 -6.0 -2.0 -1.0 V
+ 26.0 1.0 -6.0 W
+
+ 13.0 -4.0 Y
+ 3.0 Z
diff --git a/pam80.cmp b/pam80.cmp
new file mode 100644
index 0000000..57cddba
--- /dev/null
+++ b/pam80.cmp
@@ -0,0 +1,39 @@
+#
+# This matrix was produced by "pam" Version 1.0.6 [28-Jul-93]
+#
+# PAM 80 substitution matrix, scale = ln(2)/2 = 0.346574
+#
+# Expected score = -2.55, Entropy = 1.44 bits
+#
+# Lowest score = -11, Highest score = 13
+#
+#
+# mean= -2.4689 , stdev= 5.7799
+#
+ A B C D E F G H I K L M N P Q R S T V W Y Z ..
+ 4.0 -1.0 -4.0 -1.0 -1.0 -5.0 0.0 -4.0 -2.0 -4.0 -4.0 -3.0 -1.0 0.0 -2.0 -4.0 1.0 1.0 0.0 -8.0 -5.0 -1.0 A
+ 5.0 -7.0 5.0 2.0 -7.0 -1.0 0.0 -4.0 -1.0 -6.0 -5.0 4.0 -3.0 0.0 -3.0 0.0 -1.0 -4.0 -7.0 -4.0 2.0 B
+ 9.0 -9.0 -9.0 -8.0 -6.0 -5.0 -4.0 -9.0 -9.0 -8.0 -6.0 -5.0 -9.0 -5.0 -1.0 -4.0 -3.0-10.0 -2.0 -9.0 C
+ 6.0 4.0 -9.0 -1.0 -1.0 -4.0 -2.0 -7.0 -6.0 3.0 -4.0 0.0 -5.0 -1.0 -2.0 -5.0-10.0 -7.0 2.0 D
+ 6.0 -9.0 -2.0 -2.0 -3.0 -2.0 -6.0 -4.0 0.0 -3.0 2.0 -4.0 -2.0 -3.0 -4.0-11.0 -6.0 5.0 E
+
+ 8.0 -6.0 -3.0 0.0 -9.0 0.0 -2.0 -5.0 -7.0 -8.0 -6.0 -4.0 -5.0 -4.0 -2.0 4.0 -8.0 F
+ 6.0 -5.0 -6.0 -4.0 -7.0 -5.0 -1.0 -3.0 -4.0 -6.0 0.0 -2.0 -3.0-10.0 -8.0 -2.0 G
+ 8.0 -5.0 -3.0 -4.0 -5.0 2.0 -2.0 2.0 0.0 -3.0 -4.0 -4.0 -4.0 -1.0 1.0 H
+ 7.0 -4.0 1.0 1.0 -3.0 -5.0 -4.0 -3.0 -4.0 -1.0 3.0 -8.0 -3.0 -4.0 I
+ 6.0 -5.0 0.0 0.0 -4.0 -1.0 2.0 -2.0 -1.0 -5.0 -7.0 -6.0 -1.0 K
+
+ 6.0 2.0 -5.0 -4.0 -3.0 -5.0 -5.0 -4.0 0.0 -3.0 -4.0 -4.0 L
+ 9.0 -4.0 -5.0 -2.0 -2.0 -3.0 -2.0 1.0 -7.0 -6.0 -3.0 M
+ 5.0 -3.0 -1.0 -2.0 1.0 0.0 -4.0 -5.0 -3.0 0.0 N
+ 7.0 -1.0 -2.0 0.0 -2.0 -3.0 -9.0 -8.0 -2.0 P
+ 7.0 0.0 -3.0 -3.0 -4.0 -8.0 -7.0 5.0 Q
+
+ 7.0 -1.0 -3.0 -5.0 0.0 -7.0 -1.0 R
+ 4.0 2.0 -3.0 -3.0 -4.0 -2.0 S
+ 5.0 -1.0 -8.0 -4.0 -3.0 T
+ 6.0-10.0 -5.0 -4.0 V
+ 13.0 -2.0 -9.0 W
+
+ 9.0 -6.0 Y
+ 5.0 Z
diff --git a/pfam_sh3.hmm b/pfam_sh3.hmm
new file mode 100644
index 0000000..0a43e01
--- /dev/null
+++ b/pfam_sh3.hmm
@@ -0,0 +1,196 @@
+HMMER2.0
+NAME SH3
+ACC PF00018
+DESC Src homology domain 3
+LENG 57
+ALPH Amino
+RF no
+CS no
+MAP yes
+COM hmmbuild -F HMM.ann SEED.ann
+COM hmmcalibrate --seed 0 HMM.ann
+NSEQ 62
+DATE Tue May 4 18:40:13 1999
+CKSUM 7040
+GA -12.0 -12.0
+TC -11.7 -11.7
+NC -12.7 -12.7
+XT -8455 -4 -1000 -1000 -8455 -4 -8455 -4
+NULT -4 -8455
+NULE 595 -1558 85 338 -294 453 -1158 197 249 902 -1085 -142 -21 -313 45 531 201 384 -1998 -644
+EVD -51.978947 0.255953
+HMM A C D E F G H I K L M N P Q R S T V W Y
+ m->m m->i m->d i->m i->i d->m d->d b->m m->e
+ -24 * -5907
+ 1 -3122 -328 -13 901 -240 -918 -191 -552 1134 -1425 760 -1227 1409 672 629 -936 610 -1765 -4769 60 1
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 -24 *
+ 2 -460 -189 -5225 -482 144 -4860 -3703 229 994 -73 737 -4333 -1255 1130 384 -1182 716 685 268 1590 2
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 3 1227 31 -5740 -5104 793 -315 -154 -466 -4699 -1548 -2425 -1137 -4993 -4322 -4499 -4027 -1276 2743 -3680 1401 3
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 4 -3430 -3934 -3958 -742 -3998 -4610 -3284 1620 1715 -3824 -571 -3518 -4680 513 1426 -3594 255 1933 -4284 -478 4
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 5 3484 -4656 -7458 -7807 -7386 -2137 -6733 -7193 -7421 -7470 -6495 -5791 -5760 -6840 -7008 -1907 -1500 523 -7611 -7604 5
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 6 -1848 -4148 -5245 -1019 -4171 -5254 -3773 1380 993 2635 -601 -4354 -5279 -93 -1361 -4352 -3911 -3608 -4477 -4144 6
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 7 -1895 -5464 -7035 -6810 1869 -6878 421 -5148 -1515 -2012 -4738 -1171 -6863 -5815 -6130 -1846 -5749 -5129 -3447 4464 7
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 8 51 -5905 3650 -648 -6183 -1666 -3775 -5988 -1427 -2353 -5055 -1159 412 -3369 -4220 -487 -4270 -5513 -6085 -5289 8
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 9 -7689 -6608 -8065 -8426 3221 -1964 -4131 -6578 -7983 -2490 -5977 -6557 -7800 -6699 -7342 -7194 -7543 -6738 -3377 4175 9
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 10 589 -207 1004 1139 -1080 -4096 -281 -4657 482 -2508 453 254 13 1559 -2843 -904 803 286 -4774 -4093 10
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 11 2645 -4668 -2999 -1386 -5006 865 -2839 -4758 146 -4702 -3779 -905 1188 101 -2936 -107 -717 -4305 -4870 -4186 11
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 12 -1036 -4594 -1274 1053 -4915 -650 75 -557 -94 -4610 230 561 -4188 1671 1341 462 985 116 -4777 -4094 12
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 13 -539 -4594 1349 1366 -4915 128 689 -2020 -460 -4610 -255 447 -1191 1352 -95 942 424 -4216 -4777 -4095 13
+ - -147 -501 239 42 -382 398 105 -627 209 -467 -721 280 393 44 95 360 116 -370 -295 -250
+ - -141 -3427 -12090 -480 -1820 -701 -1378 * *
+ 14 603 -4597 1634 973 -4918 237 -707 -4669 -387 -4613 -3686 -2732 1764 -642 -1284 1333 -603 -4219 -4780 -4097 16
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 15 -3121 -354 2625 890 -4915 693 -495 -4666 -1099 -4610 239 371 -4188 410 -175 773 -554 -4216 -4777 -909 17
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 16 -5479 -7546 2348 3279 -1087 -5240 804 -7639 -5071 -7471 -6890 -1431 -5822 -1375 -6065 -5086 -1960 -7080 -7672 -6544 18
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 17 -6259 382 -8758 -8253 -4216 -8612 -7559 762 -8118 3028 821 -8321 -7737 -7032 -7716 -8018 -6146 110 -6076 -6255 19
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 18 -220 -4598 -31 -568 -4919 -559 -2757 -4670 -1018 -4614 -3688 -234 668 844 -1384 2366 1517 -4220 -4782 -4099 20
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 19 -2010 -4705 -7443 -6852 3718 -6828 -5727 647 -6526 1251 1075 -6488 -6611 -5937 -6276 -5982 -1651 -201 -5176 -5023 21
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 20 -489 -328 -1365 191 -4915 -770 -142 -4666 2255 -424 1089 -376 -1484 235 1330 -285 118 -4216 -4777 -884 22
+ - -149 -500 233 45 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -26 -5804 -12090 -154 -3303 -701 -1378 * *
+ 21 -416 -4585 -2976 1762 -4902 -4100 -2759 -1470 2527 -2299 -3676 -2737 522 467 1067 -1443 -1233 -924 -4771 -4092 24
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 22 -2239 -6202 -339 -3798 -7598 3479 -4973 -7538 -1637 -7485 -6801 1360 -5813 -4688 -6238 -2142 -1855 -6697 -7671 -6752 25
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 23 20 -7666 3352 2184 -7759 -5261 -4725 -7769 -5180 -7590 -7047 -290 -5860 -432 -6230 -1951 -5659 -7197 -7798 -6630 26
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 24 -834 -3702 -3857 261 225 -4490 -3229 1797 1191 -1495 -77 -1191 -1121 121 -136 -3464 544 1663 -4086 -3638 27
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 25 -4801 392 -7193 -6595 1097 -6538 -5430 2624 -6252 1210 1902 -6192 -6387 -5719 -6018 -5675 -4729 1170 -4978 1204 28
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 26 -3184 -124 -449 527 911 -4262 1397 840 407 -524 -393 -1280 -4349 1084 -252 -1461 1263 -449 385 1015 29
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 27 -5257 -4753 -1826 -7579 -5430 -7748 -7693 2384 -7556 497 -4135 380 -7503 -7493 -7713 -7113 -5247 2897 -7121 -6606 30
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 28 -3437 989 -5785 -5151 -900 -4991 575 2142 -4748 2073 -2459 -4637 -5039 -4371 -4549 -20 -292 843 -3729 -3386 31
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 29 226 -4596 1529 1903 -4917 -499 -34 -4668 329 -4612 -3685 1829 -4189 233 -535 316 -1212 -4218 -4779 -4096 32
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -87 -11047 -4110 -894 -1115 -701 -1378 * *
+ 30 -3043 -4515 1642 84 -1351 -4017 -177 -1640 2370 -4530 372 -480 -4111 418 1197 -526 -814 -772 -4698 -168 33
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -10962 -12004 -894 -1115 -178 -3109 * *
+ 31 -1878 -4589 973 843 -1206 -1633 381 -901 525 -667 -3679 360 -480 38 -2843 1382 401 714 -4774 -4092 34
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -75 -11047 -4312 -894 -1115 -701 -1378 * *
+ 32 -956 -4527 2043 1584 -4848 -978 -430 -4599 645 -1994 -3616 1940 306 -674 -2774 -493 -1126 -4149 -4710 -112 35
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -10973 -12015 -894 -1115 -197 -2970 * *
+ 33 243 -71 1987 1235 -4916 1291 -255 -4666 -665 -4610 -3683 432 -327 -857 -512 680 -1385 -4216 -4778 -4095 36
+ - -158 -511 257 56 -387 415 121 -634 206 -476 -720 285 392 44 85 351 106 -376 -289 -247
+ - -3946 -97 -12090 -533 -1694 -701 -1378 * *
+ 34 -9614 -7906 -8828 -9215 -8808 -7864 -8345 -10446 -9400 -9708 -9742 -9244 -8292 -9282 -8808 -10203 -9727 -10204 6318 -8641 41
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 35 -1554 1426 -5743 -5107 -54 -4945 -3815 -2716 -4702 -10 -210 -4591 -4995 -4325 -4502 -1080 -642 -1128 5465 1601 42
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 36 -3127 -4541 -29 1201 270 -4110 -2771 -1680 1988 -162 -275 -1312 -4202 -280 1470 -1517 611 -791 -4739 9 43
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 37 2093 1737 -7306 -7364 -6135 2366 -6313 -436 -7006 -5802 -5218 -1088 -5821 -6525 -6698 -4441 -4485 1555 -6685 -6458 44
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 38 -1128 -28 -711 1768 -4910 -4096 -498 -787 1205 -2040 -244 -854 -4189 1223 2256 -1533 -1355 -407 -4775 -4093 45
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 39 -1879 2192 436 -4270 -855 -4785 -3604 -757 -85 1016 -100 1763 -563 -3792 183 717 -1619 54 -3795 474 46
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 40 -524 -4581 640 -1307 -1283 -734 382 285 1346 374 -474 1357 -510 539 -102 -775 -427 -937 -4768 -1010 47
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -385 -11047 -2096 -894 -1115 -701 -1378 * *
+ 41 -177 -4192 1342 -772 -4487 996 -2427 -1658 -747 -778 -79 1436 -3859 -1976 399 111 1120 -79 -4391 -797 48
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -334 -10663 -2279 -894 -1115 -4079 -88 * *
+ 42 -988 -3986 348 -1803 -4308 1871 -2143 -4059 -621 -4003 -3077 804 -3576 33 197 253 2327 -3609 -4170 -3487 49
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -349 -10331 -2223 -894 -1115 -4766 -54 * *
+ 43 -943 -3702 -2105 -1552 -4026 1994 598 -3767 173 43 -2794 2183 -3312 -17 902 61 -2187 -3326 -3879 -3210 50
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -2626 -9984 -257 -894 -1115 -831 -1191 * *
+ 44 -3974 -5739 727 -2118 -6072 3372 -3152 -5928 -455 -5741 -5098 692 -4405 -2816 -349 -3640 -4025 -5421 -5857 -4978 51
+ - -149 -500 233 45 -381 398 105 -626 210 -464 -721 275 394 45 96 359 117 -369 -295 -250
+ - -69 -4436 -10655 -986 -1014 -303 -2401 * *
+ 45 -2963 -4435 -2811 806 -4756 -812 578 -1768 2133 -4451 -219 -154 -4030 2168 1628 -1632 -320 -722 -4619 -3936 54
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -10872 -11914 -894 -1115 -103 -3864 * *
+ 46 -3152 -4340 -3126 2088 325 -4175 -2848 -655 158 -4310 -559 -2863 -553 1389 1246 -798 963 543 368 -3979 55
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 47 -5934 -6299 -6851 -7182 -7873 3816 -7112 -8499 -7375 -2691 -7787 -6778 -7046 -1479 -7289 -6153 -6351 -7568 -7602 -7689 56
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 48 -3409 -279 -5754 -5118 1467 -4957 -3827 1437 -1964 1428 1415 -4603 -5005 -1356 -4513 -4041 -3349 -236 3552 2142 57
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 49 -1034 -4543 -7500 -7047 2730 -7061 -6272 2428 -6832 -1342 -3693 -6699 -6918 -6549 -6774 -6283 -4924 2285 -5874 -691 58
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 50 -6811 -6840 -8407 -8777 -8662 -6975 -8007 -9068 -8831 -8989 -8575 -7998 4307 -8553 -8354 -7108 -7237 -1625 -7897 -8683 59
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 51 1491 165 -3190 -1119 -4444 -938 433 -4106 -33 -937 -3385 -2916 -4295 -2488 -1478 2378 294 113 -4529 -3940 60
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 52 -1027 -4595 -1049 -982 -4912 -1815 -2768 -4659 -2352 -4610 -208 3568 -1374 31 -2859 750 166 -393 -4782 -4102 61
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 53 -7624 186 -8053 -8393 2094 -7925 -265 -1333 -7950 -2072 -5897 -6548 -7779 -6681 -7318 -7170 -7476 -6653 -3378 4526 62
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 54 -5492 -4985 -8103 -7700 -196 -7869 -7352 1285 -7589 682 -332 -7532 -7476 -7140 -7526 -7201 -1489 3271 -6457 -6278 63
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 55 468 -473 132 2146 -4915 -4095 -2754 -4666 -628 -4610 -3683 -2731 -4189 2213 370 -824 1410 -1037 -4778 -4095 64
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 56 -1625 -71 183 1142 -4750 -2052 -2793 -65 1001 319 782 -2785 2125 -948 -168 -799 -1082 -851 -4695 -1187 65
+ - -149 -500 233 43 -381 399 106 -626 210 -466 -720 275 394 45 96 359 117 -369 -294 -249
+ - -1 -11047 -12090 -894 -1115 -701 -1378 * *
+ 57 -1826 -51 -1428 129 -87 -1966 -266 1472 512 -67 424 11 -1458 -783 -481 -203 -1523 1414 -4485 735 66
+ - * * * * * * * * * * * * * * * * * * * *
+ - * * * * * * * * 0
+//
diff --git a/pfdat.f b/pfdat.f
new file mode 100644
index 0000000..b0f28a1
--- /dev/null
+++ b/pfdat.f
@@ -0,0 +1,72 @@
+*----------------------------------------------------------------------*
+* $Id: pfdat.f,v 2.5 2003/02/19 08:38:25 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* PROFILE
+
+ Integer B0
+ Integer B1
+ Integer E0
+ Integer E1
+ Integer BM
+ Integer BI
+ Integer BD
+ Integer BE
+ Integer MM
+ Integer MI
+ Integer MD
+ Integer ME
+ Integer DM
+ Integer DI
+ Integer DD
+ Integer DE
+ Integer IM
+ Integer II
+ Integer ID
+ Integer IE
+
+ Integer M0
+ Integer I0
+ Integer D
+
+ Parameter (B0= 27)
+ Parameter (B1= 28)
+ Parameter (E0= 29)
+ Parameter (E1= 30)
+ Parameter (BM= 31)
+ Parameter (BI= 32)
+ Parameter (BD= 33)
+ Parameter (BE= 34)
+ Parameter (MM= 35)
+ Parameter (MI= 36)
+ Parameter (MD= 37)
+ Parameter (ME= 38)
+ Parameter (IM= 39)
+ Parameter (II= 40)
+ Parameter (ID= 41)
+ Parameter (IE= 42)
+ Parameter (DM= 43)
+ Parameter (DI= 44)
+ Parameter (DD= 45)
+ Parameter (DE= 46)
+
+ Parameter (M0= 0)
+ Parameter (I0= 0)
+ Parameter (D = 27)
+*
+ Integer NLOW
+ Parameter (NLOW=-536870912)
+
+ Character*01 CHIP(0:IDMP)
+ Integer IIPP(0:46,0:IDMP)
+
+ Character*01 CHMP(IDMP)
+ Integer IMPP(0:27,0:IDMP)
+
+* Storage of circular profile last insert position
+
+ Character*01 CHIL
+ Integer IIPL(0:46)
+ Integer ILIP
+
diff --git a/pfind.f b/pfind.f
new file mode 100644
index 0000000..cd6b336
--- /dev/null
+++ b/pfind.f
@@ -0,0 +1,56 @@
+*----------------------------------------------------------------------*
+* $Id: pfind.f,v 2.3 2003/02/23 11:51:56 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* Profile/HMM indices
+
+ Integer B0
+ Integer B1
+ Integer E0
+ Integer E1
+ Integer BM
+ Integer BI
+ Integer BD
+ Integer BE
+ Integer MM
+ Integer MI
+ Integer MD
+ Integer ME
+ Integer DM
+ Integer DI
+ Integer DD
+ Integer DE
+ Integer IM
+ Integer II
+ Integer ID
+ Integer IE
+
+ Integer M0
+ Integer I0
+ Integer D
+
+ Parameter (B0= 27)
+ Parameter (B1= 28)
+ Parameter (E0= 29)
+ Parameter (E1= 30)
+ Parameter (BM= 31)
+ Parameter (BI= 32)
+ Parameter (BD= 33)
+ Parameter (BE= 34)
+ Parameter (MM= 35)
+ Parameter (MI= 36)
+ Parameter (MD= 37)
+ Parameter (ME= 38)
+ Parameter (IM= 39)
+ Parameter (II= 40)
+ Parameter (ID= 41)
+ Parameter (IE= 42)
+ Parameter (DM= 43)
+ Parameter (DI= 44)
+ Parameter (DD= 45)
+ Parameter (DE= 46)
+
+ Parameter (M0= 0)
+ Parameter (I0= 0)
+ Parameter (D = 27)
diff --git a/pfmake.f b/pfmake.f
new file mode 100644
index 0000000..5c0c96c
--- /dev/null
+++ b/pfmake.f
@@ -0,0 +1,1105 @@
+* Program pfmake
+*----------------------------------------------------------------------*
+* $Id: pfmake.f,v 2.11 2003/11/28 11:53:33 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Constructs a profile from a multiple sequence
+* alignment
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+* array sizes, I/O units
+
+ Include 'ardim.f'
+
+C Parameter (IDM1=1048576)
+C Parameter (IDM2= 2048)
+
+ Parameter (NOUT= 6)
+ Parameter (NMSF= 5)
+ Parameter (NCMP= 12)
+ Parameter (NPRF= 13)
+
+* profile and sequence fields :
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+ Include 'sterr.f'
+
+C Character*64 FOUT
+
+* weights and distances
+
+ Real*4 RWGT(IDMF)
+
+* multiple sequence alignment:
+
+ Character*512 FMSF
+
+ Character*64 SQID(IDMF)
+ Character CSEQ(IDMS)
+
+* frequency profile
+
+ Real RPRF(26,IDMP)
+ Real FUNK(IDMP)
+ Real FRES(IDMP)
+ Real FDEL(IDMP)
+
+* score profile
+
+ Real SPRF(26,IDMP)
+ Real SDEL(IDMP)
+ Real SINS(0:IDMP)
+
+* symbol comparison table
+
+ Character*512 FCMP
+
+ Real RCMP(26,26)
+
+* profile
+
+ Character*512 FPRF
+ Character*30 FDAT
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* options
+
+ Logical OPT0
+ Logical OPT1
+ Logical OPT2
+ Logical OPT3
+ Logical OPTC
+ Logical LLLT
+ Logical OPTM
+ Logical LRNM
+ Logical LEOF
+
+ Logical LBLK
+ Logical LSYM
+ Logical LWGE
+ Real RE
+ Real RF
+ Real RG
+ Real RH
+ Real RI
+ Real RL
+ Real RM
+ Real RS
+ Real RT
+ Real RX
+
+* character translation
+
+ Character*27 ABCU
+ Character*27 ABCL
+
+ Data ABCU/'ABCDEFGHIJKLMNOPQRSTUVWXYZ-'/
+ Data ABCL/'abcdefghijklmnopqrstuvwxyz.'/
+
+* initialization of controlled vocabularies
+
+ Include 'cvini.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+ IDUM=-2
+ BLOG=0.0
+ LEOF=.FALSE.
+ LRNM=.FALSE.
+
+* read command line
+
+ Call Repar
+ * (FMSF,FCMP,FPRF,OPT0,OPT1,OPT2,OPT3,OPTC,LSYM,LWGE,LBLK,
+ * LLLT,OPTM,RE,RF,RG,RH,RI,RL,RM,RS,RT,RX,NLOW,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''pfmake 2.3 revision 5.d'',//
+ * ''Usage: pfmake [ -0123abcehlsEFGHILMSTX ] [ msf-file'',
+ * '' | - ] score-matrix [ profile-file ] [ parameters ]'',//
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -0: global alignment mode.'',/
+ * '' -1: domain global alignment mode.'',/
+ * '' -2: semi-global alignment mode.'',/
+ * '' -3: local alignment mode.'',/
+ * '' -a: asymmetrical gap weighting.'',/
+ * '' -b: block profile mode.'',/
+ * '' -c: circular profile.'',/
+ * '' -e: enable endgap-weighting mode.'',/
+ * '' -h: print usage help text.'',/
+ * '' -m: input sequences in MSA format.'',/
+ * '' -l: do not impose limit on line length.'',/
+ * '' -s: symmetrical gap weighting.''
+ * )')
+ Write(NERR,'(
+ * '' -E<value>:'',/
+ * '' gap extension penalty (default: 0.2).'',/
+ * '' -F<value>:'',/
+ * '' output score multiplier (default: 100)'',/
+ * '' -G<value>:'',/
+ * '' gap opening penalty (default: 2.1)'',/
+ * '' -H<value>:'',/
+ * '' high cost initiation/termination score (default'',
+ * '': *)'',/
+ * '' -I<value>:'',/
+ * '' gap penalty multiplier increment (default:'',
+ * '' 0.1)''
+ * )')
+ Write(NERR,'(
+ * '' -L<value>:'',/
+ * '' low cost initiation/termination score (default:'',
+ * '' 0).'',/
+ * '' -M<value>:'',/
+ * '' maximum gap penalty multiplier (default:'',
+ * '' 0.333).'',/
+ * '' -S<value>:'',/
+ * '' score matrix multiplier (default: 0.1)'',/
+ * '' -T<value>:'',/
+ * '' gap region threshold (default: 0.01)'',/
+ * '' -X<value>:'',/
+ * '' gap excision threshold (default: 0.5)'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [E=gap-extension-weight] use option -E instead'',/
+ * '' [F=output-score-multiplier] use option -F instead'',/
+ * '' [G=gap-weigth] use option -G instead'',/
+ * '' [H=high-cost-init-term-score] use option -H instead'',/
+ * '' [I=Ginc-multiplier] use option -I instead'',/
+ * '' [L=low-cost-init-term-score] use option -L instead'',/
+ * '' [M=Gmax-multiplier] use option -M instead'',/
+ * '' [S=score-matrix-multiplier] use option -S instead'',/
+ * '' [T=gap-region-threshhold] use option -T instead'',/
+ * '' [X=gap-excision-threshold] use option -X instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+* read msf or msa-file
+
+ If(OPTM) then
+ Call REMSA
+ * (NERR,NMSF,FMSF,
+ * IDMS,CSEQ,NSEQ,LSEQ,
+ * IDMF,RWGT,SQID,
+ * IRC)
+ Else
+ Call REMSF
+ * (NERR,NMSF,FMSF,
+ * IDMS,CSEQ,NSEQ,LSEQ,
+ * IDMF,RWGT,SQID,
+ * IRC)
+ End if
+ If(IRC.NE.0) go to 100
+
+* read score-matrix
+
+ Call RECMP(NERR,NCMP,FCMP,NABC,CABC,RCMP,IRC)
+ If(IRC.NE.0) go to 100
+
+* read input profile
+
+ If(FPRF.NE.' ')
+ * Call REPRF
+ * (NPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * BLOG,FABC,P0,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,CHIL,IIPL,ILIP,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,.FALSE.,IRC)
+
+ If(IRC.GT.0) go to 100
+ If(IRC.NE.0.OR.FPRF.EQ.' ') then
+ IRC=0
+ CPID=' '
+ CPAC=' '
+ CPDT=' '
+ CPDE=' '
+ MDIS=0
+ JNOR=0
+ JCUT=0
+ LHDR=0
+ LFTR=0
+ End if
+
+*----------------------------------------------------------------------*
+* DATA PROCESSING SECTION
+*----------------------------------------------------------------------*
+
+* normalize weights
+
+ R1=0.0
+ Do I1=1,NSEQ
+ R1=R1+RWGT(I1)
+ End do
+ If(R1.EQ.0.0) then
+ R1=1/Real(NSEQ)
+ Do I1=1,NSEQ
+ RWGT(I1)=R1
+ End do
+ Else
+ Do I1=1,NSEQ
+ RWGT(I1)=RWGT(I1)/R1
+ End do
+ End if
+
+* make sequences uppercase
+
+ Do I1=1,LSEQ*NSEQ
+ If (Index(ABCU,CSEQ(I1)).EQ.0) then
+ IX=Index(ABCL,CSEQ(I1))
+ If(IX.GT.0) then
+ CSEQ(I1)=ABCU(IX:IX)
+ Else
+ CSEQ(I1)='-'
+ End if
+ End if
+ End do
+
+* remove endgaps
+
+ If(.NOT.LWGE) then
+ J1=0
+ Do 10 I1=1,NSEQ
+ Do 6 I2=J1+1,J1+LSEQ
+ If(CSEQ(I2).NE.'-') go to 7
+ CSEQ(I2)=' '
+ 6 Continue
+ 7 Continue
+
+ Do 8 I2=J1+LSEQ,J1+1,-1
+ If(CSEQ(I2).NE.'-') go to 9
+ CSEQ(I2)=' '
+ 8 Continue
+ 9 Continue
+ J1=J1+LSEQ
+ 10 Continue
+ End if
+
+* make frequency profile
+*
+* for residue i and profile position j:
+* RPRF(i,j) = residue frequency(residue,position)
+* for profile position j:
+* FUNK( j) = fraction of unknown residues
+* FRES( j) = fraction of residues and gaps
+* RDEL( l) = fraction of gaps
+
+* - initialize
+
+ Do 12 I1=1,LSEQ
+ Do 11 I2=1,NABC
+ RPRF(I2,I1)=0.0
+ 11 Continue
+ FUNK(I1)=0.0
+ FRES(I1)=0.0
+ FDEL(I1)=0.0
+ 12 Continue
+
+ J1=0
+ K1=1
+ Do 20 I1=1,NSEQ
+ K2=1
+ Do 19 I2=J1+1,J1+LSEQ
+ IX=0
+ Do 15 I3=1,NABC
+ If(CSEQ(I2).EQ.CABC(I3)) then
+ IX=I3
+ Go to 16
+ End if
+ 15 Continue
+ 16 Continue
+
+ FRES( K2)=FRES( K2)+RWGT(K1)
+ If (IX.NE.0) then
+ RPRF(IX,K2)=RPRF(IX,K2)+RWGT(K1)
+ else if(CSEQ(I2).EQ.'-') then
+ FDEL( K2)=FDEL( K2)+RWGT(K1)
+ else if(CSEQ(I2).EQ.' ') then
+ FRES( K2)=FRES( K2)-RWGT(K1)
+ else
+ FUNK( K2)=FUNK( K2)+RWGT(K1)
+ end if
+ K2=K2+1
+ 19 Continue
+ J1=J1+LSEQ
+ K1=K1+1
+ 20 Continue
+
+* normalize frequencies:
+
+ Do 25 I1=1,LSEQ
+ FDEL(I1)=FDEL(I1)/FRES(I1)
+ R1=FRES(I1)-FUNK(I1)
+ If(R1.EQ.0) go to 25
+ Do 23 I2=1,NABC
+ RPRF(I2,I1)=RPRF(I2,I1)/R1
+ 23 Continue
+ 25 Continue
+
+* construct score profile:
+*
+* for known residue i and profile match position j:
+* SPRF(i,j) = match extension score
+* for profile position j:
+* SDEL( j) = gap penalty multipliers for deletion gaps
+* SINS( j) = gap penalty multipliers for insertion gaps
+
+* - gap penalty multipliers:
+
+ K1=0
+ J1=0
+ SINS(0)=1.0
+ Do 30 I1=1,LSEQ
+ If(FDEL(I1).LE.RT) then
+ If(K1.GT.0) then
+ XDEL=RM/(1.0+K1*RI)
+ SINS(J1-1)=XDEL
+ Do 27 I2=J1,I1-1
+ SINS(I2)=XDEL
+ SDEL(I2)=XDEL
+ 27 Continue
+ K1=0
+ End if
+ SINS(I1)=1.0
+ SDEL(I1)=1.0
+ else
+ If(K1.EQ.0) J1=I1
+ K1=K1+1
+ end if
+ 30 Continue
+
+ K1=0
+ J1=0
+ Do 50 I1=1,LSEQ
+ If(FDEL(I1).GT.1-RX) then
+
+* - gap excision
+
+ J1=J1+1
+ else
+ K1=K1+1
+
+* - score matrix application
+
+ Do 33 I2=1,NABC
+ SPRF(I2,K1)=0.0
+ Do 32 I3=1,NABC
+ SPRF(I2,K1)=SPRF(I2,K1)+RCMP(I3,I2)*RPRF(I3,I1)
+ 32 Continue
+ SPRF(I2,K1)=RS*SPRF(I2,K1)
+C Write(6,'(I4,1x,A,F10.4)') K1,CABC(I2),SPRF(I2,K1)
+ 33 Continue
+ If(J1.GT.0) then
+ SINS(K1-1)=-SINS(I1-1)
+ J1=0
+ End if
+ SDEL(K1)=SDEL(I1)
+ SINS(K1)=SINS(I1)
+ FDEL(K1)=FDEL(I1)
+ end if
+ 50 Continue
+ If(J1.GT.0) SINS(K1)=-SINS(K1)
+ LPRF=K1
+
+
+* initialize generalized profile
+
+* - header
+
+ If(CPID.EQ.' ') CPID='SEQUENCE_PROFILE'
+ If(CPAC.EQ.' ') CPAC='ZZ99999'
+ CALL Fdate(FDAT)
+ If(CPDT.NE.' ') then
+ CPDT=FDAT(1:Lblnk(FDAT)) // ' ! ' // CPDT
+ Else
+ CPDT=FDAT(1:Lblnk(FDAT))
+ End if
+ If(FMSF.EQ.'-') FMSF='stdin'
+ If(CPDE.EQ.' ') CPDE='Generated from MSF file: '''
+ * // FMSF(1:Lblnk(FMSF))
+ * // '''.'
+
+* - accessories
+
+ If(MDIS.EQ.0) then
+ MDIS=2
+ N1=MIN(5,LPRF/10)
+ NDIP(1)=1 +N1
+ NDIP(2)=LPRF-N1
+ End If
+
+ If(JNOR.EQ.0.OR.JCUT.EQ.0) then
+ JNOR=1
+ MNOR(1)=1
+ NNOR(1)=1
+ NNPR(1)=1
+ CNTX(1)='No_units'
+ RNOP(1,1)=0.0
+ RNOP(2,1)=1/RF
+ End if
+
+ If(JCUT.EQ.0) then
+ JCUT=2
+
+ MCLE(1)=0
+ CCUT(1)='!'
+ ICUT(1)=INT(RF*8.5)
+ JCNM(1)=1
+ RCUT(1,1)=8.5
+ MCUT(1,1)=1
+
+ MCLE(2)=-1
+ CCUT(2)='?'
+ ICUT(2)=INT(RF*6.5)
+ JCNM(2)=1
+ RCUT(1,2)=6.5
+ MCUT(1,2)=1
+ End if
+
+* - defaults for match and insert position
+
+ CHID='-'
+ Do 65 I1=1,26
+ IIPD(I1)=0
+ 65 Continue
+
+ If(LSYM) then
+ N1=-NINT(RF*RG/2)
+ N2=-NINT(RF*RG/2)
+ Else
+ N1=-NINT(RF*RG)
+ N2=0
+ End if
+ N3=-NINT(RF*RE)
+
+ IIPD(B0)=0
+ IIPD(B1)=NLOW
+ IIPD(E0)=0
+ IIPD(E1)=NLOW
+
+ IIPD(BM)=0
+ IIPD(BI)=NLOW
+ IIPD(BD)=NLOW
+ IIPD(BE)=NLOW
+ IIPD(MM)=0
+ IIPD(MI)=N1
+ IIPD(MD)=N1
+ IIPD(ME)=0
+ IIPD(IM)=N2
+ IIPD(II)=0
+ IIPD(ID)=NLOW
+ IIPD(IE)=NLOW
+ IIPD(DM)=N2
+ IIPD(DI)=NLOW
+ IIPD(DD)=0
+ IIPD(DE)=NLOW
+
+ IIPD(I0)=0
+
+ CHMD='X'
+ CHID='-'
+ Do 66 I1=1,26
+ IIPD(I1)=N3
+ IMPD(I1)=0
+ 66 Continue
+
+ IIPD(M0)=0
+
+ IMPD(D )=N3
+
+ Do 68 I1=0,27
+ IMPP(I1,0)=NLOW
+ 68 Continue
+
+* build insert positions
+
+ Do 75 I1=0,LPRF
+
+ CHIP(I1)=CHID
+
+ Do I2=0,46
+ IIPP(I2,I1)=IIPD(I2)
+ End do
+
+ If(SINS(I1).LT.0) then
+ XINS=0.0
+ SINS(I1)=-SINS(I1)
+ Else
+ XINS=SINS(I1)
+ End if
+
+ NINS=-NINT(RF*RE*SINS(I1))
+ Do I2=1,NABC
+ IIPP(I2,I1)=NINS
+ End do
+
+ If (LSYM) then
+ IIPP(MI,I1)=-NINT(RF*RG*XINS /2)
+ IIPP(IM,I1)=-NINT(RF*RG*XINS /2)
+ If(XINS.EQ.0) then
+ If(I1.NE.LPRF) IIPP(MD,I1)=-NINT(RF*RG*SINS(I1) /2)
+ If(I1.NE. 0) IIPP(DM,I1)=-NINT(RF*RG*SINS(I1) /2)
+ Else
+ If(I1.NE.LPRF) IIPP(MD,I1)=-NINT(RF*RG*SDEL(I1+1)/2)
+ If(I1.NE. 0) IIPP(DM,I1)=-NINT(RF*RG*SDEL(I1 )/2)
+ End if
+ Else if(I1.NE.LPRF) then
+ IIPP(MI,I1)=-NINT(RF*RG*SDEL(I1+1))
+ IIPP(MD,I1)=-NINT(RF*RG*SDEL(I1+1))
+ End if
+
+ 75 Continue
+
+* - build match position
+
+ Do 80 I1=1,LPRF
+ Do I2=0,27
+ IMPP(I2,I1)=IMPD(I2)
+ End do
+ IMPP( D,I1)=-NINT(RF*RE*SDEL(I1))
+ Do I2=1,NABC
+ IMPP(I2,I1)=NINT(RF*SPRF(I2,I1))
+ End do
+
+ J2=0
+ K2=0
+ Do I2=1,NABC
+ If(IMPP(I2,I1).GT.K2) then
+ J2=I2
+ K2=IMPP(I2,I1)
+ End if
+ End do
+ If(J2.NE.0) then
+ CHMP(I1)=CABC(J2)
+ Else
+ CHMP(I1)=CHMD
+ End if
+ 80 Continue
+
+* block profile
+
+ If(LBLK) then
+ K1=0
+ J1=0
+ 85 J1=J1+1
+ If((FDEL(J1).LE.RT.AND.K1+1.NE.J1).OR.
+ * (FDEL(J1).GT.RT.AND.J1.EQ.LPRF)) then
+
+* - gap region: define center position
+
+ N1=K1
+ N3=J1-1
+ If(FDEL(J1).GT.RT) N3=LPRF
+
+* - - beginning, end
+
+ If(N1.EQ.0) then
+ N2=N3
+ GO to 90
+ End if
+
+ If(N3.EQ.LPRF) then
+ N2=N1
+ Go to 90
+ End if
+
+* - - gap excision position ?
+
+ N2=N1
+ Do I1=N1,N3
+ If(IIPP(MI,I1).EQ.0) then
+ N2=I1
+ Go to 90
+ End if
+ End do
+
+* - - find center position
+
+ R1=0
+ R2=0
+ Do I1=N1+1,N3
+ R1=R1+FDEL(I1)-FDEL(I1-1)
+ If(R1.GT.R2) then
+ N2=I1
+ R2=R1
+ End if
+ End do
+
+* - edit gap region
+
+ 90 Continue
+ Do I1=N1,N3
+ If(I1.LT.N2) then
+ IIPP(DM,I1)=IIPD(DM)
+ IIPP(IM,I1)=IIPD(IM)
+ IIPP(MI,I1)=IIPD(MI)
+ End if
+ If(I1.GT.N2) then
+ IIPP(MD,I1)=IIPD(MD)
+ IIPP(IM,I1)=IIPD(IM)
+ IIPP(MI,I1)=IIPD(MI)
+ End if
+ End do
+
+* - gap region done
+
+ K1=J1
+
+* - no gap region
+
+ Else
+ If(FDEL(J1).LE.RT) K1=J1
+ End if
+ If(J1.LT.LPRF) go to 85
+
+ End if
+
+* begin-to, to-end scores
+
+ IIPP(BM, 0)=IIPP(MM, 0)
+ IIPP(BI, 0)=IIPP(MI, 0)
+ IIPP(BD, 0)=IIPP(MD, 0)
+ IIPP(ME,LPRF)=IIPP(MM,LPRF)
+ IIPP(IE,LPRF)=IIPP(IM,LPRF)
+ IIPP(DE,LPRF)=IIPP(DM,LPRF)
+
+* alignment mode
+
+* - define high and low init/term scores in integer units
+
+ NH=NLOW
+ If(RH.GT.Real(NLOW)) then
+ RH=-RH*RF
+ If(RH.GT.Real(NLOW)) NH=NINT(RH)
+ End if
+ NL=NLOW
+ If(-RF*RL.GT.Real(NLOW)) NL=NINT(-RL*RF)
+
+* - global alignment mode (also initialization for other modes)
+
+ Do I1=0,LPRF
+ IIPP(B0, I1)=NH
+ IIPP(B1, I1)=NH
+ IIPP(E0, I1)=NH
+ IIPP(E1, I1)=NH
+ IIPP(BE, I1)=IIPD(BE)
+ End do
+ IIPP(B0, 0)=NL
+ IIPP(E0,LPRF)=NL
+
+ IIPD(B0)=NH
+ IIPD(B1)=NH
+ IIPD(E0)=NH
+ IIPD(E1)=NH
+
+
+* - domain-global alignment mode
+
+ If(OPT1.OR.OPT2.OR.OPT3) then
+ IIPP(B1, 0)=NL
+ IIPP(E1,LPRF)=NL
+ End if
+
+* - semiglobal alignment mode
+
+ If(OPT2.OR.OPT3) then
+ Do I1=0,LPRF
+ IIPP(B0,I1)=NL
+ IIPP(E0,I1)=NL
+ End do
+ IIPD(B0)=NL
+ IIPD(E0)=NL
+ End if
+
+* - local alignment mode
+
+ If(OPT3) then
+ Do I1=1,LPRF-1
+ IIPP(B1,I1)=NL
+ IIPP(E1,I1)=NL
+ End do
+ IIPD(B1)=NL
+ IIPD(E1)=NL
+ End if
+
+* - default M0 value:
+
+ R=0.0
+ Do I1=1,LPRF
+ Do I2=1,NABC
+ R=R+IMPP(I2,I1)
+ End do
+ End do
+ IMPD(M0)=INT(R/(LPRF*NABC))
+
+ Do I1=1,LPRF
+ IMPP(M0,I1)=IMPD(M0)
+ End do
+
+* linear or circular profile ?
+
+ If(OPTC) then
+ Do I1=0,46
+ K1=MAX(IIPP(I1, 0),IIPP(I1,LPRF))
+ IIPP(I1, 0)=K1
+ IIPP(I1,LPRF)=K1
+ End do
+ IIPP(MM,0)=MAX(IIPP(MM,0),IIPP(BM,0),IIPP(ME,0))
+ IIPP(MI,0)=MAX(IIPP(MI,0),IIPP(BI,0))
+ IIPP(MD,0)=MAX(IIPP(MD,0),IIPP(BD,0))
+ IIPP(IM,0)=MAX(IIPP(IM,0),IIPP(IE,0))
+ IIPP(DM,0)=MAX(IIPP(DM,0),IIPP(DE,0))
+ LPCI=.TRUE.
+ Else
+ LPCI=.FALSE.
+ End if
+
+*----------------------------------------------------------------------*
+* OUTPUT SECTION
+*----------------------------------------------------------------------*
+
+C FOUT='stdout'
+
+* add command-line to footer lines
+
+ LFTR=LFTR+1
+ If(LFTR.GT.1024) LFTR=1024
+ Do I1=LFTR,2,-1
+ CFTR(I1)=CFTR(I1-1)
+ End do
+
+ CFTR(1)='CC /GENERATED_BY="'
+ Call Recmd(CFTR(1)(21:130))
+ IC=Lblnk(CFTR(1))
+ CFTR(1)(IC+1:)='";'
+
+ Call WRPRF
+ * (NOUT,LLLT,LRNM,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * BLOG,FABC,P0,
+ * CHID,IIPD,CHMD,IMPD,
+ * IRC)
+
+ 100 Call Exit(IRC)
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar
+ * (FMSF,FCMP,FPRF,OPT0,OPT1,OPT2,OPT3,OPTC,LSYM,LWGE,LBLK,
+ * LLLT,OPTM,RE,RF,RG,RH,RI,RL,RM,RS,RT,RX,NLOW,IRC)
+
+ Character*512 CPAR
+ Character*(*) FMSF
+ Character*(*) FCMP
+ Character*(*) FPRF
+
+ Logical OPT0
+ Logical OPT1
+ Logical OPT2
+ Logical OPT3
+ Logical OPTC
+ Logical LLLT
+ Logical OPTM
+
+ Logical LBLK
+ Logical LSYM
+ Logical LWGE
+
+ OPT0=.FALSE.
+ OPT1=.FALSE.
+ OPT2=.TRUE.
+ OPT3=.FALSE.
+ OPTC=.FALSE.
+ LLLT=.TRUE.
+ OPTM=.FALSE.
+
+ LBLK=.FALSE.
+ LSYM=.TRUE.
+ LWGE=.FALSE.
+
+ RE=0.2
+ RF=100
+ RG=2.1
+ RH=Real(NLOW)
+ RI=0.1
+ RL=0.0
+ RM=0.333
+ RS=0.1
+ RT=0.01
+ RX=0.5
+
+ IRC=0
+ FMSF=' '
+ FCMP=' '
+ FPRF=' '
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do 10 I1=1,N1
+ Call GetArg(I2,CPAR)
+ If (CPAR(1:1).EQ.'-'.AND.CPAR(2:2).NE.' ') then
+ If(Index(CPAR,'0').NE.0) then
+ OPT0=.TRUE.
+ OPT2=.FALSE.
+ else if(Index(CPAR,'1').NE.0) then
+ OPT1=.TRUE.
+ OPT2=.FALSE.
+ else if(Index(CPAR,'2').NE.0) then
+ OPT2=.TRUE.
+ else if(Index(CPAR,'3').NE.0) then
+ OPT3=.TRUE.
+ OPT2=.FALSE.
+ End if
+ If(Index(CPAR,'h').NE.0) then
+ IRC=1
+ Goto 100
+ End if
+ If(Index(CPAR,'a').NE.0) LSYM=.FALSE.
+ If(Index(CPAR,'b').NE.0) LBLK=.TRUE.
+ If(Index(CPAR,'c').NE.0) OPTC=.TRUE.
+ If(Index(CPAR,'e').NE.0) LWGE=.TRUE.
+ If(Index(CPAR,'l').NE.0) LLLT=.FALSE.
+ If(Index(CPAR,'m').NE.0) OPTM=.TRUE.
+ If(Index(CPAR,'s').NE.0) LSYM=.TRUE.
+ If(Index(CPAR,'E').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RE
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RE
+ End if
+ End if
+ If(Index(CPAR,'F').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RF
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RF
+ End if
+ End if
+ If(Index(CPAR,'G').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RG
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RG
+ End if
+ End if
+ If(Index(CPAR,'H').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RH
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RH
+ End if
+ End if
+ If(Index(CPAR,'I').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RI
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RI
+ End if
+ End if
+ If(Index(CPAR,'L').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RL
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RL
+ End if
+ End if
+ If(Index(CPAR,'M').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RM
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RM
+ End if
+ End if
+ If(Index(CPAR,'S').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RS
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RS
+ End if
+ End if
+ If(Index(CPAR,'T').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RT
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RT
+ End if
+ End if
+ If(Index(CPAR,'X').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RX
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RX
+ End if
+ End if
+
+ Else if(CPAR(1:2).EQ.'E=') then
+ Read(CPAR(3:),*,Err=900) RE
+ Else if(CPAR(1:2).EQ.'F=') then
+ Read(CPAR(3:),*,Err=900) RF
+ Else if(CPAR(1:2).EQ.'G=') then
+ Read(CPAR(3:),*,Err=900) RG
+ Else if(CPAR(1:2).EQ.'H=') then
+ Read(CPAR(3:),*,Err=900) RH
+ Else if(CPAR(1:2).EQ.'I=') then
+ Read(CPAR(3:),*,Err=900) RI
+ Else if(CPAR(1:2).EQ.'L=') then
+ Read(CPAR(3:),*,Err=900) RL
+ Else if(CPAR(1:2).EQ.'M=') then
+ Read(CPAR(3:),*,Err=900) RM
+ Else if(CPAR(1:2).EQ.'S=') then
+ Read(CPAR(3:),*,Err=900) RS
+ Else if(CPAR(1:2).EQ.'T=') then
+ Read(CPAR(3:),*,Err=900) RT
+ Else if(CPAR(1:2).EQ.'X=') then
+ Read(CPAR(3:),*,Err=900) RX
+
+ Else if(FMSF.EQ.' ') then
+ FMSF=CPAR
+ Else if(FCMP.EQ.' ') then
+ FCMP=CPAR
+ Else if(FPRF.EQ.' ') then
+ FPRF=CPAR
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ 10 Continue
+
+ 20 If(FMSF.EQ.' '.OR.FCMP.EQ.' ') go to 900
+
+ If(LBLK) then
+ LSYM=.TRUE.
+ LWGE=.FALSE.
+ End if
+
+ 100 Return
+ 900 IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine RECMP(NERR,NCMP,FCMP,NABC,CABC,RCMP,IRC)
+
+ Character*(*) FCMP
+
+ Integer NABC
+ Character CABC(0:26)
+
+ Real RCMP(26,26)
+
+ Character*512 RCIN
+ Character*32 CMIS
+
+
+ Open(NCMP,File=FCMP,Status='OLD',Err=900)
+
+ CMIS='..'
+ 1 Read(NCMP,'(A)',Err=901,End=902) RCIN
+ IX=Index(RCIN,'..')
+ If(IX.EQ.0) go to 1
+
+* read alphabet
+
+ NABC=0
+ Do 10 I1=1,IX-1
+ If(RCIN(I1:I1).NE.' ') then
+ NABC=NABC+1
+ CABC(NABC)=RCIN(I1:I1)
+ End if
+ 10 Continue
+
+ If(NABC.LE.0.OR.NABC.GT.26) go to 905
+ Do 20 I1=1,NABC
+ 11 Read(NCMP,'(A)',Err=901,End=903) RCIN
+ If(RCIN.EQ.' ') go to 11
+ Read(RCIN,*,Err=904)(RCMP(I1,ii1),ii1=I1,NABC)
+ Read(RCIN,*,Err=904)(RCMP(ii1,I1),ii1=I1,NABC)
+ 20 Continue
+
+ 100 Return
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open matrix file'//
+ * ' ''',FCMP(1:Lblnk(FCMP)),'''.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Unable to read matrix file'//
+ * ' ''',FCMP(1:Lblnk(FCMP)),'''.'
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Unexpected end of matrix file. '//
+ * 'Unable to find ''',CMIS,''' keyword.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Unexpected end of matrix file. '//
+ * 'Discrepancies between alphabet length and matrix lines.'
+ IRC=1
+ Go to 100
+ 904 Write(NERR,*) 'Error: Unable to read matrix values.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+ 905 Write(NERR,*) 'Error: Unable to handle matrix alphabet size.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Include 'remsf.f'
+ Include 'remsa.f'
+ Include 'recmd.f'
+ Include 'reprf.f'
+ Include 'wrprf.f'
+ Include 'lblnk.f'
+ Include 'Xblnk.f'
+
diff --git a/pfscale.f b/pfscale.f
new file mode 100644
index 0000000..f99e125
--- /dev/null
+++ b/pfscale.f
@@ -0,0 +1,446 @@
+* Program pfscale
+*----------------------------------------------------------------------*
+* $Id: pfscale.f,v 2.11 2003/11/28 11:53:33 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Fits paramters of an extreme value distribution to a
+* profile score distribution. Input: sorted score list.
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+* array sizes, I/O units
+
+ Include 'ardim.f'
+
+ Parameter (NOUT= 6)
+ Parameter (NSCL= 10)
+ Parameter (NPRF= 11)
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* Parameters and options
+
+ Character*512 FSCL
+ Character*512 FPRF
+
+ Real*8 DL
+ Integer NN
+ Integer IMNB
+ Real RP
+ Real RQ
+
+* Profile fields
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+ Include 'sterr.f'
+ Include 'cvini.f'
+
+* score statistics
+
+ Real XSCO(IDMC)
+ Real XFRQ(IDMC)
+ Real XWGT(IDMC)
+ Logical LMNB
+ Logical LLLT
+ Logical LRNM
+ Logical LEOF
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+ LRNM=.FALSE.
+ LEOF=.FALSE.
+
+* read command line
+
+ Call Repar(FSCL,FPRF,LLLT,DL,NN,RP,RQ,LMNB,IMNB,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''pfscale 2.3 revision 5.d'',//
+ * ''Usage: pfscale [ -lhLMNPQ ] [ score-list | - ] ''
+ * ''[ profile-file ] [ parameters ]'',/
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -h: print usage help text.'',/
+ * '' -l: do not impose limit on line length.'',/
+ * '' -L<value>:'',/
+ * '' logarithmic base of parameters (default: 10).'',/
+ * '' -M<value>:'',/
+ * '' profile mode number to scale.'',/
+ * '' -N<value>:'',/
+ * '' database size (default: 14147368).'',/
+ * '' -P<value>:'',/
+ * '' upper threshold of probability range (default:'',
+ * '' 0.0001).'',/
+ * '' -Q<value>:'',/
+ * '' lower threshold of probability range (default:'',
+ * '' 0.000001).'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [L=log-base] use option -L instead'',/,
+ * '' [M=mode-nb] use option -M instead'',/,
+ * '' [N=db-size] use option -N instead'',/,
+ * '' [P=upper-threshold] use option -P instead'',/
+ * '' [Q=lower-threshold] use option -Q instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+ If(FSCL.NE.' '.AND.FSCL.NE.'-') then
+ MSCL=NSCL
+ Open(MSCL,File=FSCL,Status='OLD',Err=900)
+ Else
+ MSCL=5
+ End if
+
+ RL=1/LOG(DL)
+
+ RDBS=RL*LOG(Real(NN))
+ If(RQ.NE.0) then
+ EMAX=-RL*(LOG(RQ))
+ Else
+ EMAX=100
+ End if
+ EMIN=-RL*(LOG(RP))
+
+ Do 5 I1=1,IDMC
+ Read(MSCL,*,End= 10,Err=901) XSCO(I1)
+ XFRQ(I1)=RDBS-RL*LOG(I1-0.5)
+ XWGT(I1)=I1*0.5
+ 5 Continue
+
+ 10 NSCO=I1-1
+ If(NSCO.LT.1) Go to 904
+
+ XSM=0
+ XFM=0
+ XWM=0
+ Do 20 I1=1,NSCO
+ If(XFRQ(I1).GE.EMIN.AND.XFRQ(I1).LE.EMAX) then
+ XSM=XSM+XWGT(I1)*XSCO(I1)
+ XFM=XFM+XWGT(I1)*XFRQ(I1)
+ XWM=XWM+XWGT(I1)
+ End if
+ 20 Continue
+ XSM=XSM/XWM
+ XFM=XFM/XWM
+
+
+ XSV=0
+ XFV=0
+ XCO=0
+ Do 30 I1=1,NSCO
+ If(XFRQ(I1).GE.EMIN.AND.XFRQ(I1).LE.EMAX) then
+ XSV=XSV+XWGT(I1)*( (XSCO(I1)-XSM)**2 )
+ XFV=XFV+XWGT(I1)*( (XFRQ(I1)-XFM)**2 )
+ XCO=XCO+XWGT(I1)*(XFRQ(I1)-XFM)*(XSCO(I1)-XSM)
+ End if
+ 30 Continue
+ XSV=(XSV/XWM)**0.5
+ XFV=(XFV/XWM)**0.5
+ XCO=(XCO/XWM)/(XFV*XSV)
+
+ XB=XCO*XFV/XSV
+ XA=XFM-XB*XSM
+
+ If(FPRF.NE.' ') Go to 50
+
+* Case 1: no profile input file - print list
+
+ Write(NOUT,
+ * '(''# -LogP ='',F8.4,'' + '',F12.8,'' * raw-score'')') XA,XB
+
+ Write(NOUT,'(''#'')')
+ Write(NOUT,'(''# rank raw-score -logFreq -logProb'')')
+ Write(NOUT,'(''#'')')
+
+ Do 40 I1=1,NSCO
+ XPRE=XA+XB*XSCO(I1)
+ Write(NOUT,'(I8,F10.2,F10.4,F10.4)')
+ * I1,XSCO(I1),XFRQ(I1),XPRE
+ 40 Continue
+ Go to 100
+
+* Case 2: Modify profile input file
+
+ 50 Continue
+
+ Call REPRF
+ * (NPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * BLOG,FABC,P0,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,CHIL,IIPL,ILIP,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,.FALSE.,IRC)
+
+ If(IRC.NE.0) go to 100
+
+* Check normalization modes (Lowest priority mode will be updated)
+
+ If(LMNB) then
+ Do I1=1,JNOR
+ If(NNOR(I1).EQ.IMNB) then
+ J1=I1
+ Go to 55
+ End if
+ End do
+ Go to 903
+ Else
+ J1=1
+ K1=NNPR(J1)
+ Do I1=2,JNOR
+ If(NNPR(I1).LT.K1) then
+ K1=NNPR(I1)
+ J1=I1
+ End if
+ End do
+ End if
+
+ 55 CNTX(J1)='-LogE'
+ If(MNOR(J1).NE.1) go to 902
+
+* add normalisation parameters:
+
+ RNOP(1,J1)=XA
+ RNOP(2,J1)=XB
+
+* define cut-offs:
+
+ Do I1=1,JCUT
+ Do I2=1,JCNM(I1)
+ If(MCUT(I2,I1).EQ.NNOR(J1)) then
+ Call NtoR
+ * (RCUT(I2,I1),ICUT(I1),RNOP,KNPM,MAXN,J1,1,LSEQ,RAVE)
+ Go to 60
+ End if
+ End do
+ 60 Continue
+ End do
+
+* rescaling command
+
+ LFTR=LFTR+1
+ If(LFTR.GT.1024) LFTR=1024
+ Do I1=LFTR,2,-1
+ CFTR(I1)=CFTR(I1-1)
+ End do
+
+ CFTR(1)='CC /RESCALED_BY="'
+ Call Recmd(CFTR(1)(21:130))
+ IC=Lblnk(CFTR(1))
+ CFTR(1)(IC+1:)='";'
+
+* write profile
+
+ Call WRPRF
+ * (NOUT,LLLT,LRNM,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * BLOG,FABC,P0,
+ * CHID,IIPD,CHMD,IMPD,
+ * IRC)
+
+ 100 Call Exit(IRC)
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open score file'//
+ * ' ''',FSCL(1:Lblnk(FSCL)),'''.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Unable to read score value.'
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Normalization mode number',NNOR(J1),
+ * ' is not linear. Scaling impossible.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Normalization mode number',IMNB,
+ * ' is not defined in profile.'
+ IRC=1
+ Go to 100
+ 904 Write(NERR,*) 'Error: Score list does not contain any ',
+ * 'valid scores.'
+ IRC=1
+ Go to 100
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar(FSCL,FPRF,LLLT,DL,NN,RP,RQ,LMNB,IMNB,IRC)
+
+ Include 'sterr.f'
+
+ Character*(*) FSCL
+ Character*(*) FPRF
+
+ Real*8 DL
+ Integer NN
+ Real RP
+ Real RQ
+ Logical LLLT
+ Logical LMNB
+ Integer IMNB
+
+ Character*512 CARG
+
+* initializations
+
+ LLLT=.TRUE.
+ LLLT=.FALSE.
+ IMNB=1
+ FSCL=' '
+ FPRF=' '
+ DL=10.0
+ NN=14147368
+ RP=0.0001
+ RQ=0.000001
+ IRC=0
+
+* interpret command line arguments
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do I1=1,N1
+ Call GetArg(I2,CARG)
+ If (CARG(1:1).EQ.'-'.AND.CARG(2:2).NE.' ') then
+ If(Index(CARG,'l').NE.0) LLLT=.FALSE.
+ If(Index(CARG,'h').NE.0) go to 900
+ If(Index(CARG,'L').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ If(CARG(3:3).EQ.'e'.OR.CARG(3:3).EQ.'E') then
+ DL=EXP(1.0)
+ Else
+ Read(CARG(3:),*,Err=900) DL
+ End if
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ If(CARG(1:1).EQ.'e'.OR.CARG(1:1).EQ.'E') then
+ DL=EXP(1.0)
+ Else
+ Read(CARG,*,Err=900) DL
+ End if
+ End if
+ End if
+ If(Index(CARG,'N').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NN
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NN
+ End if
+ End if
+ If(Index(CARG,'P').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RP
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RP
+ End if
+ End if
+ If(Index(CARG,'Q').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RQ
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RQ
+ End if
+ End if
+ If(Index(CARG,'M').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) IMNB
+ LMNB=.TRUE.
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) IMNB
+ LMNB=.TRUE.
+ End if
+ End if
+
+ Else if(CARG(1:3).EQ.'L=e'.OR.CARG(1:3).EQ.'L=E') then
+ DL=EXP(1.0)
+ Else if(CARG(1:2).EQ.'L=') then
+ Read(CARG(3:),*,Err=900) DL
+ Else if(CARG(1:2).EQ.'N=') then
+ Read(CARG(3:),*,Err=900) NN
+ Else if(CARG(1:2).EQ.'P=') then
+ Read(CARG(3:),*,Err=900) RP
+ Else if(CARG(1:2).EQ.'Q=') then
+ Read(CARG(3:),*,Err=900) RQ
+ Else if(CARG(1:2).EQ.'M=') then
+ Read(CARG(3:),*,Err=900) IMNB
+ LMNB=.TRUE.
+ Else if(K1.LE.1) then
+ K1=K1+1
+ If (K1.EQ.1) then
+ FSCL=CARG
+ Else if(K1.EQ.2) then
+ FPRF=CARG
+ End if
+C Else
+C Go to 900
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ End do
+
+ 20 If(DL.LE.1) Go to 901
+ If(NN.LT.1) Go to 902
+ If(RP.LT.0.OR.RP.GT.1) Go to 903
+ If(RQ.LT.0.OR.RQ.GT.1) Go to 904
+ If(LMNB.AND.IMNB.LT.1) Go to 905
+ 100 Return
+ 900 IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Value of option -L is out of bound.'
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Value of option -N is out of bound.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Value of option -P is out of bound.'
+ IRC=1
+ Go to 100
+ 904 Write(NERR,*) 'Error: Value of option -Q is out of bound.'
+ IRC=1
+ Go to 100
+ 905 Write(NERR,*) 'Warning: Mode numbers should be greater or ',
+ * 'equal to 1.'
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Include 'reprf.f'
+ Include 'wrprf.f'
+ Include 'recmd.f'
+ Include 'NtoR.f'
+ Include 'lblnk.f'
+ Include 'Xblnk.f'
diff --git a/pfscan.1 b/pfscan.1
new file mode 100644
index 0000000..427773d
--- /dev/null
+++ b/pfscan.1
@@ -0,0 +1,416 @@
+.\"
+.\" $Id: pfscan.1,v 1.5 2003/08/11 12:09:14 vflegel Exp $
+.\" Copyright (c) 2003 Swiss Institute of Bioinformatics <pftools at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PFSCAN 1 "July 2003" "pftools 2.3" "pftools"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+pfscan \- scan a protein or DNA sequence with a profile library
+.\" ------------------------------------------------
+.\" Synopsis section
+.\" ------------------------------------------------
+.SH SYNOPSIS
+.TP 10
+.B pfscan
+[
+.B \-abdfhlLmruksvxyz
+] [
+.B \-C
+.I cut_off
+] [
+.B \-M
+.I mode_nb
+] [
+.B \-W
+.I width
+] [
+.I sequence
+|
+.B \-
+] [
+.I profile_library
+|
+.B \-
+] [
+.I parameters
+]
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B pfscan
+compares a protein or nucleic acid sequence against a profile library.
+The result is an unsorted list of profile-sequence matches written to
+the standard output.
+A variety of output formats containing different informations can be specified
+via the options
+.BR \-l , \ \-L , \ \-r , \ \-k , \ \-s , \ \-x , \ \-y
+and
+.BR \-z .
+The file
+.RI ' sequence '
+contains a sequence in
+.SM EMBL/SWISS-PROT
+format (assumed by default) or in Pearson/Fasta
+format (indicated by option
+.BR \-f ).
+The
+.RI ' profile_library '
+file contains a library of profiles in
+.SM PROSITE
+format.
+If
+.RB ' \- '
+is specified instead of one of the filenames, the corresponding data is read
+from the standard input.
+.\" ------------------------------------------------
+.\" Options section
+.\" ------------------------------------------------
+.SH OPTIONS
+.\" --- sequence ---
+.TP
+.I sequence
+Input query sequence.
+.br
+This DNA or protein sequence will be used to search for matches to
+a library of
+.SM PROSITE
+profiles.
+.br
+The content of the file must be either in
+.SM EMBL/SWISS-PROT
+(default) or in Pearson/Fasta format (option
+.BR \-f ).
+If the filename is replaced by a
+.RB ' \- ',
+.B pfscan
+will read the input sequence from
+.BR stdin .
+.\" --- profile_library ---
+.TP
+.I profile_library
+Library of
+.SM PROSITE
+profiles.
+.br
+This file should contain one or several
+.SM PROSITE
+profiles, against which the query sequence will be matched.
+Each entry in this library should be separated from the next by
+a line containing only the
+.RB ' // '
+code.
+If the filename is replaced by a
+.RB ' \- ',
+.B pfscan
+will read the profile library from
+.BR stdin .
+.\" --- a ---
+.TP
+.B \-a
+Report optimal alignment scores for
+all profiles regardless of the cut-off value.
+This option simultaneously forces
+.IR DISJOINT = UNIQUE .
+.\" --- b ---
+.TP
+.B \-b
+Search the complementary strand of the DNA sequence as well.
+.\" --- f ---
+.TP
+.B \-f
+Input sequence is in Pearson/Fasta format.
+.\" --- h ---
+.TP
+.B \-h
+Display usage help text.
+.\" --- l ---
+.TP
+.B \-l
+Indicate the value of the highest cut-off level exceeded by the match score
+in the output list.
+.\" --- L ---
+.TP
+.B \-L
+Indicate by character string the highest cut-off level exceeded by the match score
+in the output list.
+.br
+.RS
+.TP
+Note:
+The generalized profile format includes a text
+string field to specify a name for a cut-off level. The
+.B \-L
+option causes the program to display the first two characters of this text string
+(usually something like
+.RI ' ! ',\ ' ? ',\ ' ?? ',
+etc.) at the beginning of each match description.
+.RE
+.\" --- m ---
+.TP
+.B \-m
+Report individual matches for circular profiles.
+.br
+If the profile is circular, each match between a sequence and a profile can be composed
+of a stretch of individual matches of the profile. By default,
+.B pfscan
+reports only the total matched region. When this option is set, detailed information for
+each individual match will be output as well.
+.RS
+.TP
+Note:
+The scoring system for most circular profiles has been optimized to find
+total matches, therefore the normalized scores of individual matches of a circular profile
+to a sequence should be considered with caution.
+.RE
+.\" --- r ---
+.TP
+.B \-r
+Use raw scores rather than normalized
+scores for match selection. The normalized score is not printed.
+.\" --- u ---
+.TP
+.B \-u
+Forces
+.IR DISJOINT = UNIQUE .
+.\" --- C ---
+.TP
+.BI \-C\ cut_off
+Cut-off level to be used for match selection.
+.br
+The value of
+.RI ' cut_off '
+should be the numerical identifier of a cut-off level defined in the profile.
+The raw or normalized score of this level will then be used to include profile to
+sequence matches in the output list.
+.br
+If the specified level does not exist in the profile, the next higher (if
+.I cut_off
+is negative) or next lower (if
+.I cut_off
+is positive) level defined is used instead.
+.br
+Type: integer
+.br
+Default: 0
+.\" --- M ---
+.TP
+.BI \-M\ mode_nb
+Normalization mode to use for score computation.
+.br
+The
+.RI ' mode_nb '
+specifies which normalization mode defined in the profile should be used
+to compute the normalized scores for profile to sequence matches. This
+option will override the profile's
+.I PRIORITY
+parameter.
+.br
+If the specified normalization mode does not exist in the profile, an error
+message will be output to standard error and the search is interrupted.
+.br
+Type: integer
+.br
+Default: lowest priority mode defined in the profile
+.\" ------------------------------------------------
+.\" Output modifiers subsection
+.\" ------------------------------------------------
+.SS Ouput modifiers
+.\" --- d ---
+.TP
+.B \-d
+Limit profile description length.
+.br
+If this option is set, the description of the profile on the header line
+will be limited in length. If the match information is longer than
+the output width specified using option
+.BR \-W ,
+the profile description will not be printed. Else the description will be truncated
+to fit the
+.B \-W
+value.
+.br
+By default, the profile description is not truncated. This option can not be used
+when option
+.B \-k
+is set.
+.\" --- k ---
+.TP
+.B \-k
+Use
+.BR xpsa (5)
+headers for output.
+.br
+When this option is set, all output types
+.RI ( see
+below) will use
+an
+.BR xpsa (5)
+style header line. This format uses
+.IR keyword = value
+pairs to output alignment parameters. It is useful to transfer information between
+different sequence alignment tools.
+.\" --- s ---
+.TP
+.B \-s
+List the sequences of the matched regions as well.
+The output will be a Pearson/Fasta-formatted sequence
+library.
+.\" --- v ---
+.TP
+.B \-v
+Suppress sequence/profile parsing warnings.
+If this option is set no warning messages will be printed on
+.IR stderr .
+Only fatal errors will be reported. This option should be used
+with caution.
+.\" --- x ---
+.TP
+.B \-x
+List profile-sequence alignments
+in
+.BR psa (5)
+format. Please refer to the corresponding man page for more information.
+.\" --- y ---
+.TP
+.B \-y
+Display alignments between the profile and the matched sequence regions in
+a human-friendly pairwise alignment format.
+.\" --- z ---
+.TP
+.B \-z
+Indicate starting and ending position of the matched profile range. The latter
+position will be given as a negative offset from the end of the profile. Thus
+the range [ 1, -1] means entire profile.
+.\" --- W ---
+.TP
+.BI \-W\ width
+Set alignment output width.
+.br
+The value of
+.RI ' width '
+specifies how many residues will be output on one line when any of the
+.BR \-s ,\ \-x \ or\ \-y
+options is set.
+.br
+Type: integer
+.br
+Default: 60
+.\" ------------------------------------------------
+.\" Parameters section
+.\" ------------------------------------------------
+.SH PARAMETERS
+.TP
+Note:
+for backwards compatibility, release 2.3 of the
+.B pftools
+package will parse the version 2.2 style parameters, but these are
+.I deprecated
+and the corresponding option (refer to the
+.I options
+section) should be used instead.
+.TP
+L=#
+Cut-off level.
+.br
+Use option
+.B \-C
+instead, not
+.BR \-L .
+.TP
+W=#
+Output width.
+.br
+Use option
+.B \-W
+instead.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+.B pfscan
+\-s GTPA_HUMAN prosite13.prf
+.IP
+Scans the human GAP protein for matches to profiles in
+.SM PROSITE
+release 13.
+The file
+.RI ' GTPA_HUMAN '
+contains the
+.SM SWISS-PROT
+entry P20936|GTPA_HUMAN.
+The profile library file
+.RI ' prosite13.prf '
+contains all profile entries of
+.SM PROSITE
+release 13.
+The output is a Pearson/Fasta-formatted sequence library containing
+all sequence regions of the input sequence matching a profile in the
+profile library.
+.TP
+(2)
+.B pfscan
+\-by \-C 2 CVPBR322 ecp.prf
+.IP
+Scans both strands of plasmid PBR322 for high-scoring (level 2)
+.I E. coli
+promoter matches.
+The sequence file
+.RI ' CVPBR322 '
+contains
+.SM EMBL
+entry J01749|CVPBR322.
+The profile library file
+.RI ' ecp.prf '
+contains a profile for
+.I E. coli
+promoters.
+The output includes profile-sequence alignments in a human-friendly
+format.
+.\" ------------------------------------------------
+.\" Exit code section
+.\" ------------------------------------------------
+.SH EXIT CODE
+.LP
+On successful completion of its task,
+.B pfscan
+will return an exit code of 0. If an error occurs, a diagnostic message will be
+output on standard error and the exit code will be different from 0. When conflicting
+options where passed to the program but the task could nevertheless be completed, warnings
+will be issued on standard error.
+.\" ------------------------------------------------
+.\" Bugs section
+.\" ------------------------------------------------
+.SH "BUGS"
+If the match selection is based on normalized scores
+.RI ( i.e.
+option
+.B \-r
+is not set), rounding errors can lead to the exclusion of some matches even if
+the raw score is above or equal to the specified cut-off level score.
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR pfsearch (1),
+.BR pfmake (1),
+.BR psa (5),
+.BR xpsa (5)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH AUTHOR
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
diff --git a/pfscan.f b/pfscan.f
new file mode 100644
index 0000000..0fc8bfa
--- /dev/null
+++ b/pfscan.f
@@ -0,0 +1,940 @@
+* Program pfscan
+*----------------------------------------------------------------------*
+* $Id: pfscan.f,v 2.17 2003/12/09 13:42:42 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Scan a DNA or protein sequences with a profile library
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+* array dimensions and I/O units
+
+ Include 'ardim.f'
+
+ Parameter (NOUT= 6)
+
+ Parameter (NPRF= 11)
+ Parameter (NSEQ= 12)
+
+* profile
+
+ Character*512 FPRF
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+ Include 'pxdat.f'
+ Include 'avdat.f'
+ Include 'sterr.f'
+
+ Logical LUNI
+ Logical LNOR
+ Logical LREV
+ Logical LTRA
+ Logical LPFA
+ Logical LEOF
+ Logical LOUT
+
+ Character DABC(0:26)
+
+* sequence
+
+ Character*512 FSEQ
+
+ Character*64 CSID
+ Character*64 CSAC
+ Character*64 CSFH
+ Character*512 CSDE
+
+ Integer LSEQ
+ Integer BSEQ
+
+ Integer*2 ISEQ(IDMS)
+ Character CSEQ(IDMS)
+
+ Logical LCKS(IDMS)
+
+ Integer*2 IS
+
+* number of sequences, profiles read
+
+ Integer INBS
+ Integer INBP
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* options and command line parameters
+
+ Logical OPTA
+ Logical OPTB
+ Logical OPTF
+ Logical OPTL
+ Logical OPTR
+ Logical OPTS
+ Logical OPTU
+ Logical OPTX
+ Logical OPTY
+ Logical OPTZ
+ Logical OPLU
+ Logical OPTM
+ Logical OPTK
+ Logical OPTO
+ Logical OPTD
+ Logical OPTV
+
+ Logical LCMM
+ Logical OOPR
+ Logical LDRS
+
+* alignments
+
+ Integer NALI
+ Integer IALS(IDMN)
+ Integer IALB(IDMN)
+ Integer IAL1(IDMN)
+ Integer IAL2(IDMN)
+ Integer IALE(IDMN)
+
+ Integer LALI
+ Character CALI(IDMA)
+ Character CPMA(IDMM)
+
+* multiple matches of circular profile
+
+ Integer NMAT(IDMN)
+C Integer IMMB(IDMN,IDML)
+C Integer IMME(IDMN,IDML)
+ Integer PK1E(IDML)
+ Integer PK1B(IDML)
+ Integer PK2E(IDML)
+ Integer PK2B(IDML)
+ Integer PK3E(IDML)
+ Integer PK3B(IDML)
+ Integer PJSE(IDML)
+ Integer PJ1E(IDML)
+ Integer PJ1B(IDML)
+ Integer PLAL(IDML)
+ Integer IMSC(IDML)
+
+* path matrix fields
+
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+ Integer IOMB(0:IDMP)
+ Integer IOM1(0:IDMP)
+ Integer IOM2(0:IDMP)
+
+ Integer IOIB(0:IDMP)
+ Integer IOI1(0:IDMP)
+ Integer IOI2(0:IDMP)
+
+ Integer IODB(0:IDMP)
+ Integer IOD1(0:IDMP)
+ Integer IOD2(0:IDMP)
+
+* work fields
+C Character*256 RCIN
+ Logical SOPM
+
+* initialization of controlled vocabularies
+
+ Include 'cvini.f'
+ Include 'abini.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+
+ LUNI=.FALSE.
+ LNOR=.FALSE.
+ LREV=.FALSE.
+ LTRA=.FALSE.
+ LPFA=.FALSE.
+ LEOF=.FALSE.
+ LDRS=.FALSE.
+
+ LEOF=.FALSE.
+ CABC(0)='-'
+
+ INBS=0
+ INBP=0
+ BSEQ=1
+
+* read command line arguments
+
+ Call Repar(
+ * OPTA,OPTB,OPTF,OPTL,OPTR,OPTS,OPTU,OPLU,OPTX,OPTY,OPTZ,OPTM,
+ * OPTK,FPRF,FSEQ,LCUC,NW,NMOD,OPTO,OPTD,OPTV,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''pfscan 2.3 revision 5.d'',//
+ * ''Usage: pfscan[ -abCdfhlLmMkrsuvWxyz ] [ seq-file'',
+ * '' | - ] [ profile-library-file | - ] [ parameters ]'',//
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -a: report optimal alignment for all profiles.'',/
+ * '' -b: search complementary strand of DNA sequences.'',/
+ * '' -f: input sequence file is in FASTA format.'',/
+ * '' -h: print usage help text.'',/
+ * '' -l: indicate highest cut-off level (number).'',/
+ * '' -L: indicate highest cut-off level (text).'',/
+ * '' -m: report individual matches for circular'',
+ * '' profiles.'',/
+ * '' -r: use raw score.'',/
+ * '' -u: force profile disjointness to UNIQUE.''
+ * )')
+ Write(NERR,'(
+ * '' -C<value>:'',/
+ * '' cut-off level to be used for match selection.'',
+ * '' Same as parameter L.'',/
+ * '' -M<value>:'',/
+ * '' set the normalization mode to use for the'',
+ * '' score computation.'',/
+ * '' Overrides the profile PRIORITY parameter.'',/
+ * )')
+ Write(NERR,'(
+ * '' output modifiers:'',/,
+ * '' -d: impose length limit on profile description.'',/
+ * '' -k: output using the xPSA header (using keyword'',
+ * ''=value pairs).'',/
+ * '' -s: list sequences of the matched regions.'',/
+ * '' -v: suppress warnings on stderr.'',/
+ * '' -x: list alignments in PSA format.'',/
+ * '' -y: list alignments in human readable form.'',/
+ * '' -z: indicate profile start and stop positions.'',/
+ * '' -W<value>:'',/
+ * '' specifies the output width. Same as parameter'',
+ * '' W.'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [L=cut-off-level] use option -C instead'',/
+ * '' [W=output-width] use option -W instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+
+ If(FSEQ.EQ.'-') then
+ MSEQ=5
+ Else
+ MSEQ=NSEQ
+ End if
+
+ If(FPRF.EQ.'-') then
+ MPRF=5
+ Else
+ MPRF=NPRF
+ End if
+
+ If(OPTR) then
+ LDRS=.TRUE.
+ End if
+
+ SOPM=OPTM
+
+* read sequence
+
+ If(OPTF) then
+ Call RFSEQ
+ * (MSEQ,FSEQ,NABC,CABC,CSID,CSAC,CSDE,CSFH,LSEQ,ISEQ,LEOF,
+ * INBS,OPTV,IRC)
+ Else
+ Call RESEQ
+ * (MSEQ,FSEQ,NABC,CABC,CSID,CSAC,CSDE,LSEQ,ISEQ,LEOF,
+ * INBS,OPTV,IRC)
+ End if
+ If(IRC.GT.0) go to 100
+
+ If(LEOF.AND.IRC.LT.0) then
+ If(INBS.GE.1) IRC=0
+ go to 100
+ End if
+
+* check parameter consistency
+
+ If(.NOT.OPTV.AND.OPTA.AND.LCUC.NE.0) then
+ Write(NERR,*) 'Warning: Option -a is set. Ignoring command',
+ * ' line cut-off level (option -C).'
+ LCUC=0
+ End if
+ OOPR=OPTR
+
+* determine amino acid composition
+
+ Call CFAve(ISEQ,IDMS,BSEQ,LSEQ,CABC,NABC,FAVE)
+
+* backtranslate sequence into characters
+
+ Do I1=1,LSEQ
+ CSEQ(I1)=CABC(ISEQ(I1))
+ End do
+
+* alignment and ouptut format switches
+
+ If(OPTX.OR.OPTY.OR.OPTZ.OR.OPTM) then
+ LTRA=.TRUE.
+ Else
+ LTRA=.FALSE.
+ End if
+ If(OPTS.OR.OPTX) then
+ LPFA=.TRUE.
+ Else
+ LPFA=.FALSE.
+ End if
+
+* compute alignments if any output format switch is specified
+
+ LOUT=(LTRA.OR.LPFA)
+
+*----------------------------------------------------------------------*
+* major loop over profiles
+*----------------------------------------------------------------------*
+
+ 1 Continue
+
+* save alphabet
+
+ OPTR=OOPR
+ MABC=NABC
+ Do I1=1,NABC
+ DABC(I1)=CABC(I1)
+ End do
+
+* read profile
+
+ Call REPRF
+ * (MPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * BLOG,FABC,P0,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,CHIL,IIPL,ILIP,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,OPTV,IRC)
+
+ If(IRC.NE.0.OR.LEOF) Go to 100
+
+* check parameter consistency
+
+ If(.NOT.OPTV.AND.OPTB.AND.NABC.GT.4) then
+ Write(NERR,*) 'Warning: Not a DNA sequence. ',
+ * 'Ignoring option -b.'
+ OPTB=.FALSE.
+ End if
+ OPTM=SOPM
+ If(.NOT.OPTV.AND.OPTM.AND..NOT.LPCI) then
+ Write(NERR,*) 'Warning: Profile not circular. ',
+ * 'Ignoring option -m.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ OPTM=.FALSE.
+ End if
+
+* cut-off value
+
+ LCUT=0
+ Do 3 I1=1,JCUT
+ If( (MCLE(I1).GE.LCUC.AND.MCLE(I1).LT.LCUT.AND.LCUC.LT.LCUT).
+ * OR.(MCLE(I1).LE.LCUC.AND.MCLE(I1).GT.LCUT.AND.LCUC.GT.LCUT))
+ * LCUT=MCLE(I1)
+ 3 Continue
+
+ If (.NOT.OPTV.AND.LCUT.NE.LCUC) then
+ Write(NERR,*) 'Warning: Cut-off level',LCUC,' is not '//
+ * 'defined. Using nearest level',LCUT,'.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+
+ KCUT=0
+
+* find normalisation mode and cut-off level
+
+ LNOR=.FALSE.
+ If(OPTO) then
+ J1=0
+* find the specified normalisation mode
+ Do I1=1,JNOR
+ If(NNOR(I1).EQ.NMOD) J1=I1
+ End do
+* exit if mode number not specified in profile
+ If(J1.EQ.0) Go to 901
+
+* find mode number in list of cut-off levels
+ INOR=0
+ Do I1=1,JCUT
+ If(MCLE(I1).EQ.LCUT) then
+ If(JCNM(I1).NE.0) then
+ J2=0
+ Do I2=1,JCNM(I1)
+ If(MCUT(I2,I1).EQ.NMOD) J2=I2
+ End do
+ If(J2.EQ.0) Go to 903
+ LNOR=.TRUE.
+ INOR=J1
+ MNUM=NNOR(J1)
+ IFUN=MNOR(J1)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(J2,I1)
+ Else
+ Go to 903
+ End if
+ End if
+ End do
+ If(INOR.EQ.0) Go to 901
+ Else
+
+* search cut-off level in profile if normalisation was not specified
+
+ Do 6 I1=1,JCUT
+ If(MCLE(I1).EQ.LCUT) then
+ INOR=0
+ If(JCNM(I1).NE.0) then
+ LNOR=.TRUE.
+C J2=1
+ Do 5 I2=1,JCNM(I1)
+ J3=0
+ Do 4 I3=1,JNOR
+ If(MCUT(I2,I1).EQ.NNOR(I3)) J3=I3
+ 4 Continue
+ If(J3.EQ.0) Go to 904
+
+ If (I2.EQ.1) then
+ INOR=J3
+ MNUM=NNOR(J3)
+ NPRI=NNPR(J3)
+ IFUN=MNOR(J3)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(I2,I1)
+ Else if(NNPR(J3).LT.NPRI) then
+ INOR=J3
+ MNUM=NNOR(J3)
+ NPRI=NNPR(J3)
+ IFUN=MNOR(J3)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(I2,I1)
+ End if
+ 5 Continue
+ End if
+
+ If(JCNM(I1).EQ.0.OR.INOR.EQ.0) then
+ KCUT=ICUT(I1)
+ LNOR=.FALSE.
+ End if
+ End if
+ 6 Continue
+ End if
+
+ If(.NOT.LNOR) OPTR=.TRUE.
+* If(OPTR) LNOR=.FALSE.
+
+* disjoint definition
+* set disjointness position to begin and end of profile if necessary
+
+ If(MDIS.EQ.1.OR.OPTU.OR.OPTA) then
+ LUNI=.TRUE.
+ If(MDIS.EQ.1) then
+ NDIP(1)=1
+ NDIP(2)=LPRF
+ End if
+ Else
+ LUNI=.FALSE.
+ End if
+
+* - initialize profile lock
+
+ If(.NOT.LPCI) then
+ Do 8 I1=0,NDIP(1)-1
+ IIPP(E0,I1)=NLOW
+ IIPP(E1,I1)=NLOW
+ 8 Continue
+
+ Do 9 I1=NDIP(2),LPRF
+ IIPP(B0,I1)=NLOW
+ IIPP(B1,I1)=NLOW
+ 9 Continue
+ End if
+
+C End if
+
+* profile extra parameters
+
+ MLOW=NLOW/4*3
+ Do 10 I1=0,LPRF
+ IIPX( XM,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BM,I1))
+ IIPX( XI,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BI,I1))
+ IIPX( XD,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BD,I1))
+ IIPX( YM,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BM,I1))
+ IIPX( YI,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BI,I1))
+ IIPX( YD,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BD,I1))
+ IIPX( MX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( ME,I1))
+ IIPX( IX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( IE,I1))
+ IIPX( DX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( DE,I1))
+ IIPX( MY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( ME,I1))
+ IIPX( IY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( IE,I1))
+ IIPX( DY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( DE,I1))
+ 10 Continue
+
+* check alphabet
+
+ If(NABC.EQ.MABC) then
+ Do I1=1,NABC
+ If(CABC(I1).NE.DABC(I1)) go to 15
+ End do
+ Go to 21
+ End if
+ 15 Continue
+
+* reconvert sequence into numbers (if necessary)
+
+ Do 20 I1=1,LSEQ
+ ISEQ(I1)=0
+ Do 19 I2=1,NABC
+ If(CSEQ(I1).EQ.CABC(I2)) then
+ ISEQ(I1)=I2
+ Go to 20
+ End if
+ 19 Continue
+ 20 Continue
+ If(.NOT.OPTR.AND.IFUN.EQ.3)
+ * Call CFAve(ISEQ,IDMS,BSEQ,LSEQ,CABC,NABC,FAVE)
+
+ 21 Continue
+
+* compute cut-off in raw score units
+
+ If(.NOT.OPTR) then
+ If(IFUN.EQ.3) then
+ Call CPAve(IMPP,IDMP,LPRF,CABC,NABC,PAVE)
+ RAVE=0
+ Do I1=0,NABC
+ RAVE=RAVE+FAVE(I1)*PAVE(I1)
+ End do
+ End if
+ Call NtoR(XCUT,KCUT,RNOP,KNPM,MAXN,INOR,IFUN,LSEQ,RAVE)
+ End if
+
+ JSEQ=0
+
+ 25 Continue
+
+* should alignments of repeats be computed
+
+ If(OPTM) then
+ LCMM=.TRUE.
+ Else
+ LCMM=.FALSE.
+ End if
+
+
+* compute optimal alignment score
+
+ Call XALI1
+ * (LPRF,LPCI,
+ * KCUT,IIPP,IMPP,IIPX,
+ * BSEQ,LSEQ,ISEQ,
+ * IOPM,IOPI,IOPD,
+ * IOPT,LUNI,
+ * IRC)
+
+ If(OPTA) then
+ Continue
+ Else if(IOPT.LT.KCUT) then
+ go to 50
+ End if
+
+* do not compute alignments if no format modifier specified
+* and the disjointness is 'UNIQUE'
+
+ If(.NOT.LOUT.AND.LUNI) go to 30
+
+* initialize sequence lock
+
+ Do I1=1,LSEQ
+ LCKS(I1)=.FALSE.
+ End do
+
+* find optimal match
+
+ If(LUNI) then
+ Call XALIP
+ * (NABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * IOPT,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * BSEQ,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * NALI,IALS,IALB,IAL1,IAL2,IALE,
+ * LUNI,
+ * IRC)
+ Else
+
+* find all matches
+
+ Call XALIP
+ * (NABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * KCUT,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * BSEQ,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * NALI,IALS,IALB,IAL1,IAL2,IALE,
+ * LUNI,
+ * IRC)
+ End if
+ If(IRC.NE.0) then
+ Write(NERR,*) ' While processing sequence ',
+ * CSID(1:Lblnk(CSID))
+ IRC=0
+ Go to 50
+ End if
+
+* remove sequence lock if alignments are to be generated
+
+ If(LTRA) then
+ Do I1=1,LSEQ
+ LCKS(I1)=.FALSE.
+ End do
+ End if
+
+* OUTPUT
+
+ 30 Continue
+
+ If(LUNI) then
+ NALI=1
+ IALS(1)=IOPT
+ End if
+ Do 40 I1=1,NALI
+ JSEQ=JSEQ+1
+
+ If(LTRA) then
+ Call XALIT
+ * (CABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * IIPP,IMPP,IIPX,
+ * LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * LALI,CALI,CPMA,IMSC,
+ * IALS(I1),IALB(I1),IALE(I1),
+ * NMAT(I1),
+ * PK2E,PK2B,PK3E,PK3B,
+ * PJ1E,PJ1B,PLAL,
+ * OPTM,
+ * IPMB,IPME,
+ * IRC)
+ If(IRC.GT.0) Go to 100
+ Do I2=IAL1(I1),IAL2(I1)
+ LCKS(I2)=.FALSE.
+ End do
+ End if
+
+ If(.NOT.OPTK) then
+ Call WPRSM(JSEQ,NMAT(I1),.FALSE.,
+ * LUNI,LOUT,LNOR,LREV,LPFA,OPTZ,OPTL,OPLU,NW,
+ * CPID,CPAC,CPDE,OPTD,OPTR,LDRS,
+ * IALS(I1),IALB(I1),IALE(I1),NALI,IPMB,IPME,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ Else
+ Call XPRSM(JSEQ,NMAT(I1),.FALSE.,
+ * LUNI,LOUT,LNOR,LREV,OPTZ,OPTL,OPLU,OPTB,
+ * CSID,CSAC,CSFH,CPID,CPAC,OPTR,OPTF,LDRS,
+ * IALS(I1),IALB(I1),IALE(I1),NALI,IPMB,IPME,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ End if
+
+ If (OPTS) then
+ Call PRSP(CABC,ISEQ,CALI,IALB(I1),IALE(I1),NW,OPTS,OPTX)
+ Else if(OPTX) then
+ Call PRSP(CABC,ISEQ,CALI,1,LALI,NW,OPTS,OPTX)
+ Else if(OPTY) then
+ Call PRALI
+ * (LPRF,CHIP,CHMP,IDMP,LSEQ,LREV,
+ * CALI,LALI,IALB(I1),IALE(I1),NW)
+ End if
+
+*----------------------------------------------------------------------*
+* Compute single repeats for circular profiles
+*----------------------------------------------------------------------*
+
+ If(OPTM) then
+ If(NMAT(I1).GT.1) then
+ Do I2=NMAT(I1),1,-1
+ If(.NOT.OPTK) then
+ Call WPRSM(JSEQ,NMAT(I1)-I2+1,.TRUE.,
+ * LUNI,LOUT,LNOR,LREV,LPFA,OPTZ,OPTL,OPLU,NW,
+ * CPID,CPAC,CPDE,OPTD,OPTR,LDRS,
+ * IMSC(I2),PK2B(I2),PK2E(I2),NALI,
+ * PK3B(I2),PK3E(I2)-LPRF-1,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ Else
+ Call XPRSM(JSEQ,NMAT(I1)-I2+1,.TRUE.,
+ * LUNI,LOUT,LNOR,LREV,OPTZ,OPTL,OPLU,OPTB,
+ * CSID,CSAC,CSFH,CPID,CPAC,OPTR,OPTF,LDRS,
+ * IMSC(I2),PK2B(I2),PK2E(I2),NALI,
+ * PK3B(I2),PK3E(I2)-LPRF-1,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ End if
+
+ If (OPTS) then
+ Call PRSP(CABC,ISEQ,CALI,PK2B(I2),PK2E(I2),
+ * NW,OPTS,OPTX)
+ Else if(OPTX) then
+ Call PRXP(CALI,PJ1B(I2),PJ1B(I2)+PLAL(I2)-1,
+ * PK3B(I2),PK3E(I2),LPRF,NW)
+ Else if(OPTY) then
+ Call PMALI
+ * (LPRF,CHIP,CHMP,IDMP,LSEQ,LREV,CALI,
+ * PK2B(I2),PK3E(I2),PK3B(I2),PJ1E(I2),PJ1B(I2),NW)
+ End if
+
+ End do
+* End loop over repeats
+ End if
+ End if
+* End loop over matches
+
+ 40 Continue
+
+ 50 If(OPTB) then
+
+ If(LREV) then
+
+* regenerate original strand
+
+ J1=LSEQ
+ Do I1=1,LSEQ/2
+ IS=ISEQ(I1)
+ ISEQ(I1)=ISEQ(J1)
+ ISEQ(J1)=IS
+ J1=J1-1
+ End do
+
+ Do I1=1,LSEQ
+ If(ISEQ(I1).NE.0) ISEQ(I1)=NABC-ISEQ(I1)+1
+ End do
+
+ LREV=.FALSE.
+ Go to 1
+ End if
+ Else
+ Go to 1
+ End if
+
+*----------------------------------------------------------------------*
+* Complementary strand
+*----------------------------------------------------------------------*
+
+* generate complementary sequence
+
+ J1=LSEQ
+ Do I1=1,LSEQ/2
+ IS=ISEQ(I1)
+ ISEQ(I1)=ISEQ(J1)
+ ISEQ(J1)=IS
+ J1=J1-1
+ End do
+
+ Do I1=1,LSEQ
+ If(ISEQ(I1).NE.0) ISEQ(I1)=NABC-ISEQ(I1)+1
+ End do
+
+ LREV=.TRUE.
+
+ Go to 25
+
+ 100 Call Exit(IRC)
+
+* errors
+
+ 901 Write(NERR,*) 'Error: Normalisation mode',NMOD,' is not'//
+ * ' defined.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Normalisation mode',NMOD,' is not'//
+ * ' defined for level',LCUT,' cut-off.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+ 904 Write(NERR,*) 'Error: Normalisation mode(s) of level',LCUT,
+ * ' is not defined in the profile.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar(
+ * OPTA,OPTB,OPTF,OPTL,OPTR,OPTS,OPTU,OPLU,OPTX,OPTY,OPTZ,OPTM,
+ * OPTK,FPRF,FSEQ,LCUC,NW,NMOD,OPTO,OPTD,OPTV,IRC)
+
+ Logical OPTA
+ Logical OPTB
+ Logical OPTF
+ Logical OPTL
+ Logical OPLU
+ Logical OPTR
+ Logical OPTS
+ Logical OPTU
+ Logical OPTX
+ Logical OPTY
+ Logical OPTZ
+ Logical OPTM
+ Logical OPTK
+ Logical OPTO
+ Logical OPTD
+ Logical OPTV
+
+ Character*(*) FPRF
+ Character*(*) FSEQ
+ Character*512 CARG
+
+ IRC=0
+
+ OPTA=.FALSE.
+ OPTB=.FALSE.
+ OPTF=.FALSE.
+ OPTL=.FALSE.
+ OPLU=.FALSE.
+ OPTR=.FALSE.
+ OPTS=.FALSE.
+ OPTU=.FALSE.
+ OPTX=.FALSE.
+ OPTY=.FALSE.
+ OPTZ=.FALSE.
+ OPTM=.FALSE.
+ OPTO=.FALSE.
+ OPTK=.FALSE.
+ OPTD=.FALSE.
+ OPTV=.FALSE.
+
+ LCUC=0
+ NW=60
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do I1=1,N1
+ Call GetArg(I2,CARG)
+ If (CARG(1:1).EQ.'-'.
+ * AND.CARG(2:2).NE.' '.AND.K1.LT.1) then
+ If(Index(CARG,'h').NE.0) go to 900
+ If(Index(CARG,'a').NE.0) OPTA=.TRUE.
+ If(Index(CARG,'b').NE.0) OPTB=.TRUE.
+ If(Index(CARG,'d').NE.0) OPTD=.TRUE.
+ If(Index(CARG,'f').NE.0) OPTF=.TRUE.
+ If(Index(CARG,'l').NE.0) OPTL=.TRUE.
+ If(Index(CARG,'L').NE.0) OPLU=.TRUE.
+ If(Index(CARG,'r').NE.0) OPTR=.TRUE.
+ If(Index(CARG,'s').NE.0) OPTS=.TRUE.
+ If(Index(CARG,'u').NE.0) OPTU=.TRUE.
+ If(Index(CARG,'x').NE.0) OPTX=.TRUE.
+ If(Index(CARG,'y').NE.0) OPTY=.TRUE.
+ If(Index(CARG,'z').NE.0) OPTZ=.TRUE.
+ If(Index(CARG,'m').NE.0) OPTM=.TRUE.
+ If(Index(CARG,'k').NE.0) OPTK=.TRUE.
+ If(Index(CARG,'v').NE.0) OPTV=.TRUE.
+ If(Index(CARG,'W').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NW
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NW
+ End if
+ End if
+ If(Index(CARG,'C').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ CARG(1:2)=' '
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ End if
+ Read(CARG,*,Err=900) LCUC
+ End if
+ If(Index(CARG,'M').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NMOD
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NMOD
+ End if
+ OPTO=.TRUE.
+ End if
+ Else if(K1.LE.1) then
+ K1=K1+1
+ If (K1.EQ.1) then
+ FSEQ=CARG
+ Else if(K1.EQ.2) then
+ FPRF=CARG
+ End if
+ Else
+
+* - cut-off level on command line
+
+ If(CARG(1:2).EQ.'L=') then
+ CARG(1:2)=' '
+ LCUC=0
+ Read(CARG,*,Err=900) LCUC
+
+* - output width on command line
+
+ Else if(CARG(1:2).EQ.'W=') then
+ Read(CARG(3:),*,Err=900) NW
+ End if
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ End do
+
+ 20 If(K1.NE.2) IRC=1
+
+ 100 If(NW.LE.0.OR.NW.GT.512) NW=60
+ Return
+ 900 IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Include 'reprf.f'
+ Include 'reseq.f'
+ Include 'rfseq.f'
+ Include 'xali1.f'
+ Include 'xalip.f'
+ Include 'RtoN.f'
+ Include 'NtoR.f'
+ Include 'CFAve.f'
+ Include 'CPAve.f'
+ Include 'wprsm.f'
+ Include 'xprsm.f'
+ Include 'xalit.f'
+ Include 'lblnk.f'
+ Include 'prali.f'
+ Include 'pmali.f'
+ Include 'prsp.f'
+ Include 'prxp.f'
+ Include 'Xblnk.f'
+
diff --git a/pfsearch.f b/pfsearch.f
new file mode 100644
index 0000000..5cfb0a3
--- /dev/null
+++ b/pfsearch.f
@@ -0,0 +1,923 @@
+* Program pfsearch
+*----------------------------------------------------------------------*
+* $Id: pfsearch.f,v 2.30 2003/12/09 13:42:42 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Scan a protein or DNA sequence library for profile
+* matches
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+* array dimensions and I/O units
+
+ Include 'ardim.f'
+
+ Parameter (NOUT= 6)
+
+ Parameter (NPRF= 11)
+ Parameter (NSEQ= 12)
+
+* profile
+
+ Character*512 FPRF
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+ Include 'pxdat.f'
+ Include 'avdat.f'
+ Include 'sterr.f'
+
+ Logical LUNI
+ Logical LNOR
+ Logical LREV
+ Logical LTRA
+ Logical LPFA
+ Logical LEOF
+ Logical LOUT
+
+* sequence
+
+ Character*512 FSEQ
+
+ Character*64 CSID
+ Character*64 CSAC
+ Character*64 CSFH
+ Character*512 CSDE
+
+ Integer LSEQ
+ Integer BSEQ
+
+ Integer*2 ISEQ(IDMS)
+
+ Logical LCKS(IDMS)
+
+ Integer*2 IS
+
+* number of sequences read
+
+ Integer INBS
+ Integer INBP
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* options and command line parameters
+
+ Logical OPTA
+ Logical OPTB
+ Logical OPTF
+ Logical OPTL
+ Logical OPLU
+ Logical OPTR
+ Logical OPTS
+ Logical OPTU
+ Logical OPTX
+ Logical OPTY
+ Logical OPTZ
+ Logical OPTM
+ Logical OPTK
+ Logical OPTJ
+ Logical OPTO
+ Logical OPTD
+ Logical OPTV
+
+ Logical LCMM
+
+ Integer NCUC
+ Integer KCUC
+ real XCUC
+ Logical LDRS
+* alignments
+
+ Integer NALI
+ Integer IALS(IDMN)
+ Integer IALB(IDMN)
+ Integer IAL1(IDMN)
+ Integer IAL2(IDMN)
+ Integer IALE(IDMN)
+
+ Integer LALI
+ Character CALI(IDMA)
+ Character CPMA(IDMM)
+
+* multiple matches of circular profile
+
+ Integer NMAT(IDMN)
+C Integer IMMB(IDMN,IDML)
+C Integer IMME(IDMN,IDML)
+ Integer PK1E(IDML)
+ Integer PK1B(IDML)
+ Integer PK2E(IDML)
+ Integer PK2B(IDML)
+ Integer PK3E(IDML)
+ Integer PK3B(IDML)
+ Integer PJSE(IDML)
+ Integer PJ1E(IDML)
+ Integer PJ1B(IDML)
+ Integer PLAL(IDML)
+ Integer IMSC(IDML)
+
+* path matrix fields
+
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+ Integer IOMB(0:IDMP)
+ Integer IOM1(0:IDMP)
+ Integer IOM2(0:IDMP)
+
+ Integer IOIB(0:IDMP)
+ Integer IOI1(0:IDMP)
+ Integer IOI2(0:IDMP)
+
+ Integer IODB(0:IDMP)
+ Integer IOD1(0:IDMP)
+ Integer IOD2(0:IDMP)
+
+* work fields
+
+C Character*1024 RCIN
+C Character*1024 RCOUT
+
+* initialization of controlled vocabularies
+
+ Include 'cvini.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+
+ LUNI=.FALSE.
+ LNOR=.FALSE.
+ LREV=.FALSE.
+ LTRA=.FALSE.
+ LPFA=.FALSE.
+ LDRS=.FALSE.
+
+ LEOF=.FALSE.
+ CABC(0)='-'
+
+ INBS=0
+ INBP=0
+
+* read command line arguments
+
+ Call Repar(
+ * OPTA,OPTB,OPTF,OPTL,OPLU,OPTR,OPTS,OPTU,OPTX,OPTY,OPTZ,OPTM,
+ * OPTK,OPTJ,FPRF,FSEQ,NCUC,KCUC,XCUC,NW,NMOD,OPTO,OPTD,OPTV,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''pfsearch 2.3 revision 5.d'',//
+ * ''Usage: pfsearch [ -abCdfhlLmMkrsuvWxyz ] [ profile-file'',
+ * '' | - ] [ seq-library-file | - ] [ parameters ]'',//
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -a: report optimal alignment for all sequences.'',/
+ * '' -b: search complementary strand of DNA sequences.'',/
+ * '' -f: input sequence file is in FASTA format.'',/
+ * '' -h: print usage help text.'',/
+ * '' -l: indicate highest cut-off level (number).'',/
+ * '' -L: indicate highest cut-off level (text).'',/
+ * '' -m: report individual matches for circular'',
+ * '' profiles.'',/
+ * '' -r: use raw score.'',/
+ * '' -u: force profile disjointness to UNIQUE.''
+ * )')
+ Write(NERR,'(
+ * '' -C<value>:'',/
+ * '' cut-off value. An integer value forces -r.'',
+ * '' Same as parameter C.'',/
+ * '' -M<value>:'',/
+ * '' set the normalization mode to use for the'',
+ * '' score computation.'',/
+ * '' Overrides the profile PRIORITY parameter.'',/
+ * )')
+ Write(NERR,'(
+ * '' output modifiers:'',/,
+ * '' -d: impose length limit on sequence description.'',/
+ * '' -k: output using the xPSA header (using keyword'',
+ * ''=value pairs).'',/
+ * '' -j: output using the xPSA header adding the sequence'',
+ * '' matched by itself.'',/
+ * '' -s: list sequences of the matched regions.'',/
+ * '' -v: suppress warnings on stderr.'',/
+ * '' -x: list alignments in PSA format.'',/
+ * '' -y: list alignments in human readable form.'',/
+ * '' -z: indicate profile start and stop positions.'',/
+ * '' -W<value>:'',/
+ * '' specifies the output width. Same as parameter'',
+ * '' W.'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [C=cut-off-value] use option -C instead'',/
+ * '' [W=output-width] use option -W instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+ If(FSEQ.EQ.'-') then
+ MSEQ=5
+ Else
+ MSEQ=NSEQ
+ End if
+
+ If(FPRF.EQ.'-') then
+ MPRF=5
+ Else
+ MPRF=NPRF
+ End if
+
+ If(OPTR) then
+ LDRS=.TRUE.
+ End if
+
+ If(OPTJ) then
+ OPTK=.TRUE.
+ End if
+
+* read profile
+
+ Call REPRF
+ * (MPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * BLOG,FABC,P0,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,CHIL,IIPL,ILIP,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,OPTV,IRC)
+
+ If(IRC.GT.0) go to 100
+
+* check parameter consistency
+
+ If(.NOT.OPTV.AND.OPTM.AND..NOT.LPCI) then
+ Write(NERR,*) 'Warning: Profile not circular. ',
+ * 'Ignoring option -m.'
+ OPTM=.FALSE.
+ End if
+ If(.NOT.OPTV.AND.OPTB.AND.NABC.GT.4) then
+ Write(NERR,*) 'Warning: Not a DNA profile. ',
+ * 'Ignoring option -b.'
+ OPTB=.FALSE.
+ End if
+ If(.NOT.OPTV.AND.OPTA.AND.NCUC.GT.0) then
+ Write(NERR,*) 'Warning: Option -a is set. Ignoring command',
+ * ' line cut-off (option -C).'
+ NCUC=0
+ End if
+ If(.NOT.OPTV.AND.OPTR.AND.NCUC.GT.1) then
+ Write(NERR,*) 'Warning: Option -r is set. Please use only',
+ * ' integer command line cut-off (option -C) values.'
+ NCUC=0
+ End if
+
+* get cut-off for mode nb specified on command line
+
+ KCUT=0
+ If(OPTO) then
+ J1=0
+* find the specified normalisation mode
+ Do 1 I1=1,JNOR
+ If(NNOR(I1).EQ.NMOD) J1=I1
+ 1 Continue
+* exit if mode number not specified in profile
+ If(J1.EQ.0) Go to 901
+
+* if cut-off value was specified on command line do not search levels
+ If(NCUC.EQ.2) then
+ LNOR=.TRUE.
+ INOR=J1
+ MNUM=NNOR(J1)
+ IFUN=MNOR(J1)
+* exit if an integer cut-off value was specified with option M
+ Else if(NCUC.EQ.1) then
+ Go to 902
+* find mode number in list of level 0 cut-off values
+ Else
+ INOR=0
+ Do 3 I1=1,JCUT
+ If(MCLE(I1).EQ.0) then
+ If(JCNM(I1).NE.0) then
+ J2=0
+ Do 2 I2=1,JCNM(I1)
+ If(MCUT(I2,I1).EQ.NMOD) J2=I2
+ 2 Continue
+ If(J2.EQ.0) Go to 903
+ LNOR=.TRUE.
+ INOR=J1
+ MNUM=NNOR(J1)
+ IFUN=MNOR(J1)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(J2,I1)
+ Else
+ Go to 903
+ End if
+ End if
+ 3 Continue
+ If(INOR.EQ.0) Go to 901
+ End if
+ Else
+
+* get cut-off and normalisation modes from profile
+
+ Do 6 I1=1,JCUT
+ If(MCLE(I1).EQ.0) then
+ INOR=0
+ If(JCNM(I1).NE.0) then
+ LNOR=.TRUE.
+* J2=1
+ Do 5 I2=1,JCNM(I1)
+ J3=0
+ Do 4 I3=1,JNOR
+ If(MCUT(I2,I1).EQ.NNOR(I3)) J3=I3
+ 4 Continue
+ If(J3.EQ.0) Go to 904
+
+ If (I2.EQ.1) then
+ INOR=J3
+ MNUM=NNOR(J3)
+ NPRI=NNPR(J3)
+ IFUN=MNOR(J3)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(I2,I1)
+ Else if(NNPR(J3).LT.NPRI) then
+ INOR=J3
+ MNUM=NNOR(J3)
+ NPRI=NNPR(J3)
+ IFUN=MNOR(J3)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(I2,I1)
+ End if
+ 5 Continue
+ End if
+
+ If(JCNM(I1).EQ.0.OR.INOR.EQ.0) then
+ KCUT=ICUT(I1)
+ LNOR=.FALSE.
+ End if
+ End if
+ 6 Continue
+ End if
+
+* cut-off from command line
+
+ If(NCUC.EQ.1) then
+ KCUT=KCUC
+ OPTR=.TRUE.
+ Else if(NCUC.EQ.2.AND.LNOR) then
+ XCUT=XCUC
+ Else if(.NOT.OPTV.AND.NCUC.EQ.2.AND..NOT.LNOR) then
+ Write(NERR,*) 'Warning: Profile does not provide ',
+ * 'normalization. Ignoring command line cut-off.'
+ End if
+ If(.NOT.LNOR) OPTR=.TRUE.
+
+* disjointness definition
+* set disjointness position to begin and end of profile if necessary
+
+ If(MDIS.EQ.1.OR.OPTU.OR.OPTA) then
+ LUNI=.TRUE.
+ If(MDIS.EQ.1) then
+ NDIP(1)=1
+ NDIP(2)=LPRF
+ End if
+ Else
+ LUNI=.FALSE.
+ End if
+
+* - initialize profile lock
+
+ If(.NOT.LPCI) then
+ Do 8 I1=0,NDIP(1)-1
+ IIPP(E0,I1)=NLOW
+ IIPP(E1,I1)=NLOW
+ 8 Continue
+
+ Do 9 I1=NDIP(2),LPRF
+ IIPP(B0,I1)=NLOW
+ IIPP(B1,I1)=NLOW
+ 9 Continue
+ End if
+
+C End if
+
+* profile extra parameters
+
+ MLOW=NLOW/4*3
+ Do 10 I1=0,LPRF
+ IIPX( XM,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BM,I1))
+ IIPX( XI,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BI,I1))
+ IIPX( XD,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BD,I1))
+ IIPX( YM,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BM,I1))
+ IIPX( YI,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BI,I1))
+ IIPX( YD,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BD,I1))
+ IIPX( MX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( ME,I1))
+ IIPX( IX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( IE,I1))
+ IIPX( DX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( DE,I1))
+ IIPX( MY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( ME,I1))
+ IIPX( IY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( IE,I1))
+ IIPX( DY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( DE,I1))
+ 10 Continue
+
+* average match score for average amino acid composition
+
+ If(.NOT.OPTR.AND.IFUN.EQ.3)
+ * Call CPAve(IMPP,IDMP,LPRF,CABC,NABC,PAVE)
+
+* alignment and ouptut format switches
+
+ If(OPTX.OR.OPTY.OR.OPTZ.OR.OPTM) then
+ LTRA=.TRUE.
+ Else
+ LTRA=.FALSE.
+ End if
+ If(OPTS.OR.OPTX) then
+ LPFA=.TRUE.
+ Else
+ LPFA=.FALSE.
+ End if
+
+* compute alignments if any output format switch is specified
+
+ LOUT=(LTRA.OR.LPFA)
+
+*----------------------------------------------------------------------*
+* major loop over sequences
+*----------------------------------------------------------------------*
+
+* read sequence
+
+ 20 Continue
+ If(LEOF) go to 100
+ If(OPTF) then
+ Call RFSEQ
+ * (MSEQ,FSEQ,NABC,CABC,CSID,CSAC,CSDE,CSFH,LSEQ,ISEQ,LEOF,
+ * INBS,OPTV,IRC)
+ Else
+ Call RESEQ
+ * (MSEQ,FSEQ,NABC,CABC,CSID,CSAC,CSDE,LSEQ,ISEQ,LEOF,
+ * INBS,OPTV,IRC)
+ End if
+ If(IRC.GT.0) go to 100
+ If(LEOF.AND.IRC.LT.0) then
+ If(INBS.GE.1) IRC=0
+ go to 100
+ End if
+
+ JSEQ=0
+
+ 25 Continue
+
+* should alignments of repeats be computed
+
+ If(OPTM) then
+ LCMM=.TRUE.
+ Else
+ LCMM=.FALSE.
+ End if
+
+ BSEQ=1
+
+* compute cut-off in raw score units
+
+ If(.NOT.OPTR) then
+ If(IFUN.EQ.3) then
+ Call CFAve(ISEQ,IDMS,BSEQ,LSEQ,CABC,NABC,FAVE)
+ RAVE=0
+ Do I1=0,NABC
+ RAVE=RAVE+FAVE(I1)*PAVE(I1)
+ End do
+ End if
+ Call NtoR(XCUT,KCUT,RNOP,KNPM,MAXN,INOR,IFUN,LSEQ,RAVE)
+ End if
+
+* compute optimal alignment score
+
+ Call XALI1
+ * (LPRF,LPCI,
+ * KCUT,IIPP,IMPP,IIPX,
+ * BSEQ,LSEQ,ISEQ,
+ * IOPM,IOPI,IOPD,
+ * IOPT,LUNI,
+ * IRC)
+
+ If(OPTA) then
+ Continue
+ Else if(IOPT.LT.KCUT) then
+ go to 50
+ End if
+
+* do not compute alignments if no format modifier specified
+* and the disjointness is 'UNIQUE'
+
+ If(.NOT.LOUT.AND.LUNI) go to 30
+
+* initialize sequence lock
+
+ Do I1=1,LSEQ
+ LCKS(I1)=.FALSE.
+ End do
+
+* find optimal match
+
+ If(LUNI) then
+ Call XALIP
+ * (NABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * IOPT,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * BSEQ,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * NALI,IALS,IALB,IAL1,IAL2,IALE,
+ * LUNI,
+ * IRC)
+ Else
+
+* find all matches
+
+ Call XALIP
+ * (NABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * KCUT,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * BSEQ,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * NALI,IALS,IALB,IAL1,IAL2,IALE,
+ * LUNI,
+ * IRC)
+ End if
+ If(IRC.NE.0) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=0
+ Go to 50
+ End if
+
+
+* remove sequence lock if alignments are to be generated
+
+ If(LTRA) then
+ Do I1=1,LSEQ
+ LCKS(I1)=.FALSE.
+ End do
+ End if
+
+* OUTPUT
+
+ 30 Continue
+
+ If(LUNI) then
+ NALI=1
+ IALS(1)=IOPT
+ End if
+
+ if(OPTJ .AND. (NALI > 0)) then
+ Do I1=1,LSEQ
+ CALI(I1)=Char(Ichar(CABC(ISEQ(I1))))
+ End do
+ Call JPRSM(CSID,CSAC,CSFH,OPTF,1,LSEQ)
+ Call PRSP(CABC,ISEQ,CALI,1,LSEQ,NW,OPTS,OPTX)
+ End if
+
+ Do 40 I1=1,NALI
+ JSEQ=JSEQ+1
+
+ If(LTRA) then
+ Call XALIT
+ * (CABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * IIPP,IMPP,IIPX,
+ * LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * LALI,CALI,CPMA,IMSC,
+ * IALS(I1),IALB(I1),IALE(I1),
+ * NMAT(I1),
+ * PK2E,PK2B,PK3E,PK3B,
+ * PJ1E,PJ1B,PLAL,
+ * OPTM,
+ * IPMB,IPME,
+ * IRC)
+ If(IRC.GT.0) Go to 100
+ Do I2=IAL1(I1),IAL2(I1)
+ LCKS(I2)=.TRUE.
+ End do
+ End if
+
+ If(.NOT.OPTK) then
+ Call WPRSM(JSEQ,NMAT(I1),.FALSE.,
+ * LUNI,LOUT,LNOR,LREV,LPFA,OPTZ,OPTL,OPLU,NW,
+ * CSID,CSAC,CSDE,OPTD,OPTR,LDRS,
+ * IALS(I1),IALB(I1),IALE(I1),NALI,IPMB,IPME,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ Else
+ Call XPRSM(JSEQ,NMAT(I1),.FALSE.,
+ * LUNI,LOUT,LNOR,LREV,OPTZ,OPTL,OPLU,OPTB,
+ * CSID,CSAC,CSFH,CPID,CPAC,OPTR,OPTF,LDRS,
+ * IALS(I1),IALB(I1),IALE(I1),NALI,IPMB,IPME,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ End if
+
+ If (OPTS) then
+ Call PRSP(CABC,ISEQ,CALI,IALB(I1),IALE(I1),NW,OPTS,OPTX)
+ Else if(OPTX) then
+ Call PRSP(CABC,ISEQ,CALI,1,LALI,NW,OPTS,OPTX)
+ Else if(OPTY) then
+ Call PRALI
+ * (LPRF,CHIP,CHMP,IDMP,LSEQ,LREV,
+ * CALI,LALI,IALB(I1),IALE(I1),NW)
+ End if
+
+*----------------------------------------------------------------------*
+* Compute single repeats for circular profiles
+*----------------------------------------------------------------------*
+
+ If(OPTM) then
+ If(NMAT(I1).GT.1) then
+ Do I2=NMAT(I1),1,-1
+ If(.NOT.OPTK) then
+ Call WPRSM(JSEQ,NMAT(I1)-I2+1,.TRUE.,
+ * LUNI,LOUT,LNOR,LREV,LPFA,OPTZ,OPTL,OPLU,NW,
+ * CSID,CSAC,CSDE,OPTD,OPTR,LDRS,
+ * IMSC(I2),PK2B(I2),PK2E(I2),NALI,
+ * PK3B(I2),PK3E(I2)-LPRF-1,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ Else
+ Call XPRSM(JSEQ,NMAT(I1)-I2+1,.TRUE.,
+ * LUNI,LOUT,LNOR,LREV,OPTZ,OPTL,OPLU,OPTB,
+ * CSID,CSAC,CSFH,CPID,CPAC,OPTR,OPTF,LDRS,
+ * IMSC(I2),PK2B(I2),PK2E(I2),NALI,
+ * PK3B(I2),PK3E(I2)-LPRF-1,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ End if
+
+ If (OPTS) then
+ Call PRSP(CABC,ISEQ,CALI,PK2B(I2),PK2E(I2),
+ * NW,OPTS,OPTX)
+ Else if(OPTX) then
+ Call PRXP(CALI,PJ1B(I2),PJ1B(I2)+PLAL(I2)-1,
+ * PK3B(I2),PK3E(I2),LPRF,NW)
+ Else if(OPTY) then
+ Call PMALI
+ * (LPRF,CHIP,CHMP,IDMP,LSEQ,LREV,CALI,
+ * PK2B(I2),PK3E(I2),PK3B(I2),PJ1E(I2),PJ1B(I2),NW)
+ End if
+
+ End do
+* End loop over repeats
+ End if
+ End if
+* End loop over matches
+
+
+ 40 Continue
+
+
+ 50 Continue
+
+ If(OPTB) then
+ If(LREV) then
+ LREV=.FALSE.
+ Go to 20
+ Else
+ Continue
+ End if
+ Else
+ Go to 20
+ End if
+
+*----------------------------------------------------------------------*
+* Complementary strand
+*----------------------------------------------------------------------*
+
+ LREV=.TRUE.
+
+* generate complementary sequence
+
+ J1=LSEQ
+ Do I1=1,LSEQ/2
+ IS=ISEQ(I1)
+ ISEQ(I1)=ISEQ(J1)
+ ISEQ(J1)=IS
+ J1=J1-1
+ End do
+
+ Do I1=1,LSEQ
+ If(ISEQ(I1).NE.0) ISEQ(I1)=NABC-ISEQ(I1)+1
+ End do
+
+ Go to 25
+
+ 100 Call Exit(IRC)
+
+* errors
+
+ 901 Write(NERR,*) 'Error: Normalisation mode ',NMOD,' is not'//
+ * ' defined.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Cut-off must be a real number when option'//
+ * ' -M is used.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Normalisation mode ',NMOD,' is not'//
+ * 'defined for level 0 cut-off.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+ 904 Write(NERR,*) 'Error: Normalisation mode(s)',MCUT(I2,I1),
+ * ' of level',MCLE(I1),' is not defined in the profile.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar(
+ * OPTA,OPTB,OPTF,OPTL,OPLU,OPTR,OPTS,OPTU,OPTX,OPTY,OPTZ,OPTM,
+ * OPTK,OPTJ,FPRF,FSEQ,NCUC,KCUC,XCUC,NW,NMOD,OPTO,OPTD,OPTV,IRC)
+
+ Logical OPTA
+ Logical OPTB
+ Logical OPTF
+ Logical OPTL
+ Logical OPLU
+ Logical OPTR
+ Logical OPTS
+ Logical OPTU
+ Logical OPTX
+ Logical OPTY
+ Logical OPTZ
+ Logical OPTM
+ Logical OPTK
+ Logical OPTJ
+ Logical OPTO
+ Logical OPTD
+ Logical OPTV
+
+ Character*(*) FPRF
+ Character*(*) FSEQ
+ Character*512 CARG
+
+ IRC=0
+ NCUC=0
+ OPTA=.FALSE.
+ OPTB=.FALSE.
+ OPTF=.FALSE.
+ OPTL=.FALSE.
+ OPLU=.FALSE.
+ OPTR=.FALSE.
+ OPTS=.FALSE.
+ OPTU=.FALSE.
+ OPTX=.FALSE.
+ OPTY=.FALSE.
+ OPTZ=.FALSE.
+ OPTM=.FALSE.
+ OPTO=.FALSE.
+ OPTK=.FALSE.
+ OPTJ=.FALSE.
+ OPTD=.FALSE.
+ OPTV=.FALSE.
+
+ NW=60
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do 10 I1=1,N1
+ Call GetArg(I2,CARG)
+ If (CARG(1:1).EQ.'-'.
+ * AND.CARG(2:2).NE.' '.AND.K1.LT.1) then
+ If(Index(CARG,'h').NE.0) go to 900
+ If(Index(CARG,'a').NE.0) OPTA=.TRUE.
+ If(Index(CARG,'b').NE.0) OPTB=.TRUE.
+ If(Index(CARG,'d').NE.0) OPTD=.TRUE.
+ If(Index(CARG,'f').NE.0) OPTF=.TRUE.
+ If(Index(CARG,'l').NE.0) OPTL=.TRUE.
+ If(Index(CARG,'L').NE.0) OPLU=.TRUE.
+ If(Index(CARG,'r').NE.0) OPTR=.TRUE.
+ If(Index(CARG,'s').NE.0) OPTS=.TRUE.
+ If(Index(CARG,'u').NE.0) OPTU=.TRUE.
+ If(Index(CARG,'x').NE.0) OPTX=.TRUE.
+ If(Index(CARG,'y').NE.0) OPTY=.TRUE.
+ If(Index(CARG,'z').NE.0) OPTZ=.TRUE.
+ If(Index(CARG,'m').NE.0) OPTM=.TRUE.
+ If(Index(CARG,'k').NE.0) OPTK=.TRUE.
+ If(Index(CARG,'j').NE.0) OPTJ=.TRUE.
+ If(Index(CARG,'v').NE.0) OPTV=.TRUE.
+ If(Index(CARG,'W').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NW
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NW
+ End if
+ End if
+ If(Index(CARG,'C').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ CARG(1:2)=' '
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ End if
+ If(Index(CARG,'.').EQ.0) then
+ NCUC=1
+ Read(CARG,*,Err=900) KCUC
+ Else
+ NCUC=2
+ Read(CARG,*,Err=900) XCUC
+ End if
+ End if
+ If(Index(CARG,'M').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NMOD
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NMOD
+ End if
+ OPTO=.TRUE.
+ End if
+ Else if(K1.LE.1) then
+ K1=K1+1
+ If (K1.EQ.1) then
+ FPRF=CARG
+ Else if(K1.EQ.2) then
+ FSEQ=CARG
+ End if
+ Else
+
+* - cut-off value on command line
+
+ If (CARG(1:2).EQ.'C=') then
+ CARG(1:2)=' '
+ If(Index(CARG,'.').EQ.0) then
+ NCUC=1
+ Read(CARG,*,Err=900) KCUC
+ Else
+ NCUC=2
+ Read(CARG,*,Err=900) XCUC
+ End if
+
+* - output width on command line
+
+ Else if(CARG(1:2).EQ.'W=') then
+ Read(CARG(3:),*,Err=900) NW
+ End if
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ 10 Continue
+
+ 20 If (K1.NE.2) IRC=1
+
+ 100 If(NW.LE.0.OR.NW.GT.512) NW=60
+ Return
+ 900 IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Include 'reprf.f'
+ Include 'reseq.f'
+ Include 'rfseq.f'
+ Include 'xali1.f'
+ Include 'xalip.f'
+ Include 'RtoN.f'
+ Include 'NtoR.f'
+ Include 'CFAve.f'
+ Include 'CPAve.f'
+ Include 'wprsm.f'
+ Include 'xprsm.f'
+ Include 'jprsm.f'
+ Include 'xalit.f'
+ Include 'lblnk.f'
+ Include 'prali.f'
+ Include 'pmali.f'
+ Include 'prsp.f'
+ Include 'prxp.f'
+ Include 'Xblnk.f'
+
diff --git a/pfsearch.f.cpy b/pfsearch.f.cpy
new file mode 100644
index 0000000..545a37f
--- /dev/null
+++ b/pfsearch.f.cpy
@@ -0,0 +1,904 @@
+* Program pfsearch
+*----------------------------------------------------------------------*
+* $Id: pfsearch.f,v 2.30 2003/12/09 13:42:42 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Scan a protein or DNA sequence library for profile
+* matches
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+* array dimensions and I/O units
+
+ Include 'ardim.f'
+
+ Parameter (NOUT= 6)
+
+ Parameter (NPRF= 11)
+ Parameter (NSEQ= 12)
+
+* profile
+
+ Character*512 FPRF
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+ Include 'pxdat.f'
+ Include 'avdat.f'
+ Include 'sterr.f'
+
+ Logical LUNI
+ Logical LNOR
+ Logical LREV
+ Logical LTRA
+ Logical LPFA
+ Logical LEOF
+ Logical LOUT
+
+* sequence
+
+ Character*512 FSEQ
+
+ Character*64 CSID
+ Character*64 CSAC
+ Character*64 CSFH
+ Character*512 CSDE
+
+ Integer LSEQ
+ Integer BSEQ
+
+ Integer*2 ISEQ(IDMS)
+
+ Logical LCKS(IDMS)
+
+ Integer*2 IS
+
+* number of sequences read
+
+ Integer INBS
+ Integer INBP
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* options and command line parameters
+
+ Logical OPTA
+ Logical OPTB
+ Logical OPTF
+ Logical OPTL
+ Logical OPLU
+ Logical OPTR
+ Logical OPTS
+ Logical OPTU
+ Logical OPTX
+ Logical OPTY
+ Logical OPTZ
+ Logical OPTM
+ Logical OPTK
+ Logical OPTO
+ Logical OPTD
+ Logical OPTV
+
+ Logical LCMM
+
+ Integer NCUC
+ Integer KCUC
+ real XCUC
+ Logical LDRS
+* alignments
+
+ Integer NALI
+ Integer IALS(IDMN)
+ Integer IALB(IDMN)
+ Integer IAL1(IDMN)
+ Integer IAL2(IDMN)
+ Integer IALE(IDMN)
+
+ Integer LALI
+ Character CALI(IDMA)
+ Character CPMA(IDMM)
+
+* multiple matches of circular profile
+
+ Integer NMAT(IDMN)
+C Integer IMMB(IDMN,IDML)
+C Integer IMME(IDMN,IDML)
+ Integer PK1E(IDML)
+ Integer PK1B(IDML)
+ Integer PK2E(IDML)
+ Integer PK2B(IDML)
+ Integer PK3E(IDML)
+ Integer PK3B(IDML)
+ Integer PJSE(IDML)
+ Integer PJ1E(IDML)
+ Integer PJ1B(IDML)
+ Integer PLAL(IDML)
+ Integer IMSC(IDML)
+
+* path matrix fields
+
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+ Integer IOMB(0:IDMP)
+ Integer IOM1(0:IDMP)
+ Integer IOM2(0:IDMP)
+
+ Integer IOIB(0:IDMP)
+ Integer IOI1(0:IDMP)
+ Integer IOI2(0:IDMP)
+
+ Integer IODB(0:IDMP)
+ Integer IOD1(0:IDMP)
+ Integer IOD2(0:IDMP)
+
+* work fields
+
+C Character*1024 RCIN
+C Character*1024 RCOUT
+
+* initialization of controlled vocabularies
+
+ Include 'cvini.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+
+ LUNI=.FALSE.
+ LNOR=.FALSE.
+ LREV=.FALSE.
+ LTRA=.FALSE.
+ LPFA=.FALSE.
+ LDRS=.FALSE.
+
+ LEOF=.FALSE.
+ CABC(0)='-'
+
+ INBS=0
+ INBP=0
+
+* read command line arguments
+
+ Call Repar(
+ * OPTA,OPTB,OPTF,OPTL,OPLU,OPTR,OPTS,OPTU,OPTX,OPTY,OPTZ,OPTM,
+ * OPTK,FPRF,FSEQ,NCUC,KCUC,XCUC,NW,NMOD,OPTO,OPTD,OPTV,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''pfsearch 2.3 revision 4'',//
+ * ''Usage: pfsearch [ -abCdfhlLmMkrsuvWxyz ] [ profile-file'',
+ * '' | - ] [ seq-library-file | - ] [ parameters ]'',//
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -a: report optimal alignment for all sequences.'',/
+ * '' -b: search complementary strand of DNA sequences.'',/
+ * '' -f: input sequence file is in FASTA format.'',/
+ * '' -h: print usage help text.'',/
+ * '' -l: indicate highest cut-off level (number).'',/
+ * '' -L: indicate highest cut-off level (text).'',/
+ * '' -m: report individual matches for circular'',
+ * '' profiles.'',/
+ * '' -r: use raw score.'',/
+ * '' -u: force profile disjointness to UNIQUE.''
+ * )')
+ Write(NERR,'(
+ * '' -C<value>:'',/
+ * '' cut-off value. An integer value forces -r.'',
+ * '' Same as parameter C.'',/
+ * '' -M<value>:'',/
+ * '' set the normalization mode to use for the'',
+ * '' score computation.'',/
+ * '' Overrides the profile PRIORITY parameter.'',/
+ * )')
+ Write(NERR,'(
+ * '' output modifiers:'',/,
+ * '' -d: impose length limit on sequence description.'',/
+ * '' -k: output using the xPSA header (using keyword'',
+ * ''=value pairs).'',/
+ * '' -s: list sequences of the matched regions.'',/
+ * '' -v: suppress warnings on stderr.'',/
+ * '' -x: list alignments in PSA format.'',/
+ * '' -y: list alignments in human readable form.'',/
+ * '' -z: indicate profile start and stop positions.'',/
+ * '' -W<value>:'',/
+ * '' specifies the output width. Same as parameter'',
+ * '' W.'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [C=cut-off-value] use option -C instead'',/
+ * '' [W=output-width] use option -W instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+ If(FSEQ.EQ.'-') then
+ MSEQ=5
+ Else
+ MSEQ=NSEQ
+ End if
+
+ If(FPRF.EQ.'-') then
+ MPRF=5
+ Else
+ MPRF=NPRF
+ End if
+
+ If(OPTR) then
+ LDRS=.TRUE.
+ End if
+
+* read profile
+
+ Call REPRF
+ * (MPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * BLOG,FABC,P0,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,CHIL,IIPL,ILIP,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,OPTV,IRC)
+
+ If(IRC.GT.0) go to 100
+
+* check parameter consistency
+
+ If(.NOT.OPTV.AND.OPTM.AND..NOT.LPCI) then
+ Write(NERR,*) 'Warning: Profile not circular. ',
+ * 'Ignoring option -m.'
+ OPTM=.FALSE.
+ End if
+ If(.NOT.OPTV.AND.OPTB.AND.NABC.GT.4) then
+ Write(NERR,*) 'Warning: Not a DNA profile. ',
+ * 'Ignoring option -b.'
+ OPTB=.FALSE.
+ End if
+ If(.NOT.OPTV.AND.OPTA.AND.NCUC.GT.0) then
+ Write(NERR,*) 'Warning: Option -a is set. Ignoring command',
+ * ' line cut-off (option -C).'
+ NCUC=0
+ End if
+ If(.NOT.OPTV.AND.OPTR.AND.NCUC.GT.1) then
+ Write(NERR,*) 'Warning: Option -r is set. Please use only',
+ * ' integer command line cut-off (option -C) values.'
+ NCUC=0
+ End if
+
+* get cut-off for mode nb specified on command line
+
+ KCUT=0
+ If(OPTO) then
+ J1=0
+* find the specified normalisation mode
+ Do 1 I1=1,JNOR
+ If(NNOR(I1).EQ.NMOD) J1=I1
+ 1 Continue
+* exit if mode number not specified in profile
+ If(J1.EQ.0) Go to 901
+
+* if cut-off value was specified on command line do not search levels
+ If(NCUC.EQ.2) then
+ LNOR=.TRUE.
+ INOR=J1
+ MNUM=NNOR(J1)
+ IFUN=MNOR(J1)
+* exit if an integer cut-off value was specified with option M
+ Else if(NCUC.EQ.1) then
+ Go to 902
+* find mode number in list of level 0 cut-off values
+ Else
+ INOR=0
+ Do 3 I1=1,JCUT
+ If(MCLE(I1).EQ.0) then
+ If(JCNM(I1).NE.0) then
+ J2=0
+ Do 2 I2=1,JCNM(I1)
+ If(MCUT(I2,I1).EQ.NMOD) J2=I2
+ 2 Continue
+ If(J2.EQ.0) Go to 903
+ LNOR=.TRUE.
+ INOR=J1
+ MNUM=NNOR(J1)
+ IFUN=MNOR(J1)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(J2,I1)
+ Else
+ Go to 903
+ End if
+ End if
+ 3 Continue
+ If(INOR.EQ.0) Go to 901
+ End if
+ Else
+
+* get cut-off and normalisation modes from profile
+
+ Do 6 I1=1,JCUT
+ If(MCLE(I1).EQ.0) then
+ INOR=0
+ If(JCNM(I1).NE.0) then
+ LNOR=.TRUE.
+* J2=1
+ Do 5 I2=1,JCNM(I1)
+ J3=0
+ Do 4 I3=1,JNOR
+ If(MCUT(I2,I1).EQ.NNOR(I3)) J3=I3
+ 4 Continue
+ If(J3.EQ.0) Go to 904
+
+ If (I2.EQ.1) then
+ INOR=J3
+ MNUM=NNOR(J3)
+ NPRI=NNPR(J3)
+ IFUN=MNOR(J3)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(I2,I1)
+ Else if(NNPR(J3).LT.NPRI) then
+ INOR=J3
+ MNUM=NNOR(J3)
+ NPRI=NNPR(J3)
+ IFUN=MNOR(J3)
+ KCUT=ICUT(I1)
+ XCUT=RCUT(I2,I1)
+ End if
+ 5 Continue
+ End if
+
+ If(JCNM(I1).EQ.0.OR.INOR.EQ.0) then
+ KCUT=ICUT(I1)
+ LNOR=.FALSE.
+ End if
+ End if
+ 6 Continue
+ End if
+
+* cut-off from command line
+
+ If(NCUC.EQ.1) then
+ KCUT=KCUC
+ OPTR=.TRUE.
+ Else if(NCUC.EQ.2.AND.LNOR) then
+ XCUT=XCUC
+ Else if(.NOT.OPTV.AND.NCUC.EQ.2.AND..NOT.LNOR) then
+ Write(NERR,*) 'Warning: Profile does not provide ',
+ * 'normalization. Ignoring command line cut-off.'
+ End if
+ If(.NOT.LNOR) OPTR=.TRUE.
+
+* disjointness definition
+* set disjointness position to begin and end of profile if necessary
+
+ If(MDIS.EQ.1.OR.OPTU.OR.OPTA) then
+ LUNI=.TRUE.
+ If(MDIS.EQ.1) then
+ NDIP(1)=1
+ NDIP(2)=LPRF
+ End if
+ Else
+ LUNI=.FALSE.
+ End if
+
+* - initialize profile lock
+
+ If(.NOT.LPCI) then
+ Do 8 I1=0,NDIP(1)-1
+ IIPP(E0,I1)=NLOW
+ IIPP(E1,I1)=NLOW
+ 8 Continue
+
+ Do 9 I1=NDIP(2),LPRF
+ IIPP(B0,I1)=NLOW
+ IIPP(B1,I1)=NLOW
+ 9 Continue
+ End if
+
+C End if
+
+* profile extra parameters
+
+ MLOW=NLOW/4*3
+ Do 10 I1=0,LPRF
+ IIPX( XM,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BM,I1))
+ IIPX( XI,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BI,I1))
+ IIPX( XD,I1) = MAX(MLOW,IIPP( B1,I1) + IIPP( BD,I1))
+ IIPX( YM,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BM,I1))
+ IIPX( YI,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BI,I1))
+ IIPX( YD,I1) = MAX(MLOW,IIPP( B0,I1) + IIPP( BD,I1))
+ IIPX( MX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( ME,I1))
+ IIPX( IX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( IE,I1))
+ IIPX( DX,I1) = MAX(MLOW,IIPP( E1,I1) + IIPP( DE,I1))
+ IIPX( MY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( ME,I1))
+ IIPX( IY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( IE,I1))
+ IIPX( DY,I1) = MAX(MLOW,IIPP( E0,I1) + IIPP( DE,I1))
+ 10 Continue
+
+* average match score for average amino acid composition
+
+ If(.NOT.OPTR.AND.IFUN.EQ.3)
+ * Call CPAve(IMPP,IDMP,LPRF,CABC,NABC,PAVE)
+
+* alignment and ouptut format switches
+
+ If(OPTX.OR.OPTY.OR.OPTZ.OR.OPTM) then
+ LTRA=.TRUE.
+ Else
+ LTRA=.FALSE.
+ End if
+ If(OPTS.OR.OPTX) then
+ LPFA=.TRUE.
+ Else
+ LPFA=.FALSE.
+ End if
+
+* compute alignments if any output format switch is specified
+
+ LOUT=(LTRA.OR.LPFA)
+
+*----------------------------------------------------------------------*
+* major loop over sequences
+*----------------------------------------------------------------------*
+
+* read sequence
+
+ 20 Continue
+ If(LEOF) go to 100
+ If(OPTF) then
+ Call RFSEQ
+ * (MSEQ,FSEQ,NABC,CABC,CSID,CSAC,CSDE,CSFH,LSEQ,ISEQ,LEOF,
+ * INBS,OPTV,IRC)
+ Else
+ Call RESEQ
+ * (MSEQ,FSEQ,NABC,CABC,CSID,CSAC,CSDE,LSEQ,ISEQ,LEOF,
+ * INBS,OPTV,IRC)
+ End if
+ If(IRC.GT.0) go to 100
+ If(LEOF.AND.IRC.LT.0) then
+ If(INBS.GE.1) IRC=0
+ go to 100
+ End if
+
+ JSEQ=0
+
+ 25 Continue
+
+* should alignments of repeats be computed
+
+ If(OPTM) then
+ LCMM=.TRUE.
+ Else
+ LCMM=.FALSE.
+ End if
+
+ BSEQ=1
+
+* compute cut-off in raw score units
+
+ If(.NOT.OPTR) then
+ If(IFUN.EQ.3) then
+ Call CFAve(ISEQ,IDMS,BSEQ,LSEQ,CABC,NABC,FAVE)
+ RAVE=0
+ Do I1=0,NABC
+ RAVE=RAVE+FAVE(I1)*PAVE(I1)
+ End do
+ End if
+ Call NtoR(XCUT,KCUT,RNOP,KNPM,MAXN,INOR,IFUN,LSEQ,RAVE)
+ End if
+
+* compute optimal alignment score
+
+ Call XALI1
+ * (LPRF,LPCI,
+ * KCUT,IIPP,IMPP,IIPX,
+ * BSEQ,LSEQ,ISEQ,
+ * IOPM,IOPI,IOPD,
+ * IOPT,LUNI,
+ * IRC)
+
+ If(OPTA) then
+ Continue
+ Else if(IOPT.LT.KCUT) then
+ go to 50
+ End if
+
+* do not compute alignments if no format modifier specified
+* and the disjointness is 'UNIQUE'
+
+ If(.NOT.LOUT.AND.LUNI) go to 30
+
+* initialize sequence lock
+
+ Do I1=1,LSEQ
+ LCKS(I1)=.FALSE.
+ End do
+
+* find optimal match
+
+ If(LUNI) then
+ Call XALIP
+ * (NABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * IOPT,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * BSEQ,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * NALI,IALS,IALB,IAL1,IAL2,IALE,
+ * LUNI,
+ * IRC)
+ Else
+
+* find all matches
+
+ Call XALIP
+ * (NABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * KCUT,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * BSEQ,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * NALI,IALS,IALB,IAL1,IAL2,IALE,
+ * LUNI,
+ * IRC)
+ End if
+ If(IRC.NE.0) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=0
+ Go to 50
+ End if
+
+
+* remove sequence lock if alignments are to be generated
+
+ If(LTRA) then
+ Do I1=1,LSEQ
+ LCKS(I1)=.FALSE.
+ End do
+ End if
+
+* OUTPUT
+
+ 30 Continue
+
+ If(LUNI) then
+ NALI=1
+ IALS(1)=IOPT
+ End if
+
+ Do 40 I1=1,NALI
+ JSEQ=JSEQ+1
+
+ If(LTRA) then
+ Call XALIT
+ * (CABC,LPRF,LPCI,NDIP(1),NDIP(2),
+ * IIPP,IMPP,IIPX,
+ * LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * LALI,CALI,CPMA,IMSC,
+ * IALS(I1),IALB(I1),IALE(I1),
+ * NMAT(I1),
+ * PK2E,PK2B,PK3E,PK3B,
+ * PJ1E,PJ1B,PLAL,
+ * OPTM,
+ * IPMB,IPME,
+ * IRC)
+ If(IRC.GT.0) Go to 100
+ Do I2=IAL1(I1),IAL2(I1)
+ LCKS(I2)=.TRUE.
+ End do
+ End if
+
+ If(.NOT.OPTK) then
+ Call WPRSM(JSEQ,NMAT(I1),.FALSE.,
+ * LUNI,LOUT,LNOR,LREV,LPFA,OPTZ,OPTL,OPLU,NW,
+ * CSID,CSAC,CSDE,OPTD,OPTR,LDRS,
+ * IALS(I1),IALB(I1),IALE(I1),NALI,IPMB,IPME,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ Else
+ Call XPRSM(JSEQ,NMAT(I1),.FALSE.,
+ * LUNI,LOUT,LNOR,LREV,OPTZ,OPTL,OPLU,OPTB,
+ * CSID,CSAC,CSFH,CPID,CPAC,OPTR,OPTF,LDRS,
+ * IALS(I1),IALB(I1),IALE(I1),NALI,IPMB,IPME,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ End if
+
+ If (OPTS) then
+ Call PRSP(CABC,ISEQ,CALI,IALB(I1),IALE(I1),NW,OPTS,OPTX)
+ Else if(OPTX) then
+ Call PRSP(CABC,ISEQ,CALI,1,LALI,NW,OPTS,OPTX)
+ Else if(OPTY) then
+ Call PRALI
+ * (LPRF,CHIP,CHMP,IDMP,LSEQ,LREV,
+ * CALI,LALI,IALB(I1),IALE(I1),NW)
+ End if
+
+*----------------------------------------------------------------------*
+* Compute single repeats for circular profiles
+*----------------------------------------------------------------------*
+
+ If(OPTM) then
+ If(NMAT(I1).GT.1) then
+ Do I2=NMAT(I1),1,-1
+ If(.NOT.OPTK) then
+ Call WPRSM(JSEQ,NMAT(I1)-I2+1,.TRUE.,
+ * LUNI,LOUT,LNOR,LREV,LPFA,OPTZ,OPTL,OPLU,NW,
+ * CSID,CSAC,CSDE,OPTD,OPTR,LDRS,
+ * IMSC(I2),PK2B(I2),PK2E(I2),NALI,
+ * PK3B(I2),PK3E(I2)-LPRF-1,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ Else
+ Call XPRSM(JSEQ,NMAT(I1)-I2+1,.TRUE.,
+ * LUNI,LOUT,LNOR,LREV,OPTZ,OPTL,OPLU,OPTB,
+ * CSID,CSAC,CSFH,CPID,CPAC,OPTR,OPTF,LDRS,
+ * IMSC(I2),PK2B(I2),PK2E(I2),NALI,
+ * PK3B(I2),PK3E(I2)-LPRF-1,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+ End if
+
+ If (OPTS) then
+ Call PRSP(CABC,ISEQ,CALI,PK2B(I2),PK2E(I2),
+ * NW,OPTS,OPTX)
+ Else if(OPTX) then
+ Call PRXP(CALI,PJ1B(I2),PJ1B(I2)+PLAL(I2)-1,
+ * PK3B(I2),PK3E(I2),LPRF,NW)
+ Else if(OPTY) then
+ Call PMALI
+ * (LPRF,CHIP,CHMP,IDMP,LSEQ,LREV,CALI,
+ * PK2B(I2),PK3E(I2),PK3B(I2),PJ1E(I2),PJ1B(I2),NW)
+ End if
+
+ End do
+* End loop over repeats
+ End if
+ End if
+* End loop over matches
+
+
+ 40 Continue
+
+
+ 50 Continue
+
+ If(OPTB) then
+ If(LREV) then
+ LREV=.FALSE.
+ Go to 20
+ Else
+ Continue
+ End if
+ Else
+ Go to 20
+ End if
+
+*----------------------------------------------------------------------*
+* Complementary strand
+*----------------------------------------------------------------------*
+
+ LREV=.TRUE.
+
+* generate complementary sequence
+
+ J1=LSEQ
+ Do I1=1,LSEQ/2
+ IS=ISEQ(I1)
+ ISEQ(I1)=ISEQ(J1)
+ ISEQ(J1)=IS
+ J1=J1-1
+ End do
+
+ Do I1=1,LSEQ
+ If(ISEQ(I1).NE.0) ISEQ(I1)=NABC-ISEQ(I1)+1
+ End do
+
+ Go to 25
+
+ 100 Call Exit(IRC)
+
+* errors
+
+ 901 Write(NERR,*) 'Error: Normalisation mode ',NMOD,' is not'//
+ * ' defined.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Cut-off must be a real number when option'//
+ * ' -M is used.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Normalisation mode ',NMOD,' is not'//
+ * 'defined for level 0 cut-off.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+ 904 Write(NERR,*) 'Error: Normalisation mode(s)',MCUT(I2,I1),
+ * ' of level',MCLE(I1),' is not defined in the profile.'
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ IRC=1
+ Go to 100
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar(
+ * OPTA,OPTB,OPTF,OPTL,OPLU,OPTR,OPTS,OPTU,OPTX,OPTY,OPTZ,OPTM,
+ * OPTK,FPRF,FSEQ,NCUC,KCUC,XCUC,NW,NMOD,OPTO,OPTD,OPTV,IRC)
+
+ Logical OPTA
+ Logical OPTB
+ Logical OPTF
+ Logical OPTL
+ Logical OPLU
+ Logical OPTR
+ Logical OPTS
+ Logical OPTU
+ Logical OPTX
+ Logical OPTY
+ Logical OPTZ
+ Logical OPTM
+ Logical OPTK
+ Logical OPTO
+ Logical OPTD
+ Logical OPTV
+
+ Character*(*) FPRF
+ Character*(*) FSEQ
+ Character*512 CARG
+
+ IRC=0
+ NCUC=0
+ OPTA=.FALSE.
+ OPTB=.FALSE.
+ OPTF=.FALSE.
+ OPTL=.FALSE.
+ OPLU=.FALSE.
+ OPTR=.FALSE.
+ OPTS=.FALSE.
+ OPTU=.FALSE.
+ OPTX=.FALSE.
+ OPTY=.FALSE.
+ OPTZ=.FALSE.
+ OPTM=.FALSE.
+ OPTO=.FALSE.
+ OPTK=.FALSE.
+ OPTD=.FALSE.
+ OPTV=.FALSE.
+
+ NW=60
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do 10 I1=1,N1
+ Call GetArg(I2,CARG)
+ If (CARG(1:1).EQ.'-'.
+ * AND.CARG(2:2).NE.' '.AND.K1.LT.1) then
+ If(Index(CARG,'h').NE.0) go to 900
+ If(Index(CARG,'a').NE.0) OPTA=.TRUE.
+ If(Index(CARG,'b').NE.0) OPTB=.TRUE.
+ If(Index(CARG,'d').NE.0) OPTD=.TRUE.
+ If(Index(CARG,'f').NE.0) OPTF=.TRUE.
+ If(Index(CARG,'l').NE.0) OPTL=.TRUE.
+ If(Index(CARG,'L').NE.0) OPLU=.TRUE.
+ If(Index(CARG,'r').NE.0) OPTR=.TRUE.
+ If(Index(CARG,'s').NE.0) OPTS=.TRUE.
+ If(Index(CARG,'u').NE.0) OPTU=.TRUE.
+ If(Index(CARG,'x').NE.0) OPTX=.TRUE.
+ If(Index(CARG,'y').NE.0) OPTY=.TRUE.
+ If(Index(CARG,'z').NE.0) OPTZ=.TRUE.
+ If(Index(CARG,'m').NE.0) OPTM=.TRUE.
+ If(Index(CARG,'k').NE.0) OPTK=.TRUE.
+ If(Index(CARG,'v').NE.0) OPTV=.TRUE.
+ If(Index(CARG,'W').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NW
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NW
+ End if
+ End if
+ If(Index(CARG,'C').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ CARG(1:2)=' '
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ End if
+ If(Index(CARG,'.').EQ.0) then
+ NCUC=1
+ Read(CARG,*,Err=900) KCUC
+ Else
+ NCUC=2
+ Read(CARG,*,Err=900) XCUC
+ End if
+ End if
+ If(Index(CARG,'M').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NMOD
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NMOD
+ End if
+ OPTO=.TRUE.
+ End if
+ Else if(K1.LE.1) then
+ K1=K1+1
+ If (K1.EQ.1) then
+ FPRF=CARG
+ Else if(K1.EQ.2) then
+ FSEQ=CARG
+ End if
+ Else
+
+* - cut-off value on command line
+
+ If (CARG(1:2).EQ.'C=') then
+ CARG(1:2)=' '
+ If(Index(CARG,'.').EQ.0) then
+ NCUC=1
+ Read(CARG,*,Err=900) KCUC
+ Else
+ NCUC=2
+ Read(CARG,*,Err=900) XCUC
+ End if
+
+* - output width on command line
+
+ Else if(CARG(1:2).EQ.'W=') then
+ Read(CARG(3:),*,Err=900) NW
+ End if
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ 10 Continue
+
+ 20 If (K1.NE.2) IRC=1
+
+ 100 If(NW.LE.0.OR.NW.GT.512) NW=60
+ Return
+ 900 IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Include 'reprf.f'
+ Include 'reseq.f'
+ Include 'rfseq.f'
+ Include 'xali1.f'
+ Include 'xalip.f'
+ Include 'RtoN.f'
+ Include 'NtoR.f'
+ Include 'CFAve.f'
+ Include 'CPAve.f'
+ Include 'wprsm.f'
+ Include 'xprsm.f'
+ Include 'xalit.f'
+ Include 'lblnk.f'
+ Include 'prali.f'
+ Include 'pmali.f'
+ Include 'prsp.f'
+ Include 'prxp.f'
+ Include 'Xblnk.f'
+
diff --git a/pfw.f b/pfw.f
new file mode 100644
index 0000000..ea7416a
--- /dev/null
+++ b/pfw.f
@@ -0,0 +1,540 @@
+* Program pfw
+*----------------------------------------------------------------------*
+* $Id: pfw.f,v 2.10 2004/01/09 09:27:36 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Calculate weights for individual sequences of a
+* multiple sequence alignment.
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+* array sizes, I/O units
+
+C Parameter (IDM1=16777216)
+C Parameter (IDM1=1048576)
+C Parameter (IDM2= 9999)
+C Parameter (IDM3= 2024)
+
+ Include 'ardim.f'
+
+ Parameter (NMSF= 11)
+ Parameter (ICSL=IDMS/26)
+
+ Include 'sterr.f'
+
+* weights and distances
+
+ Real*4 RWGT(IDMF)
+ Integer NDIS(IDMF)
+ Integer NIND(IDMF)
+
+* multiple sequence alignment:
+
+ Character*512 FMSF
+
+ Character*64 SQID(IDMF)
+ Character CSEQ(IDMS)
+ Character CSQR(IDMP)
+
+ Logical LXSC(IDMP)
+
+* character set
+
+ Character CSET(26,ICSL)
+ Integer NSET( ICSL)
+
+* work fields
+
+ Character*512 RCIO
+ Character*512 ROUT
+ Character*32 RCTM
+ Logical OPTM
+ Character B
+
+* functions
+
+ Integer Getc
+C Integer Fputc
+
+* character translation
+
+ Character*27 ABCU
+ Character*27 ABCL
+
+ Data ABCU/'ABCDEFGHIJKLMNOPQRSTUVWXYZ-'/
+ Data ABCL/'abcdefghijklmnopqrstuvwxyz.'/
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+ IDUM=-2
+
+*read command line
+
+ Call Repar
+ * (FMSF,NRAN,RX,RW,IRAN,OPTM,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''pfw 2.3 revision 5.d'',//
+ * ''Usage: pfw [ -hmNXRW ] [ msf-file | - ] '',
+ * ''[ parameters ]'',//
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -h: print usage help text.'',/
+ * '' -m: input sequences in MSA format.'',/
+ * '' -N<value>:'',/
+ * '' number of shuffles per sequence (default:'',
+ * '' 100).'',/
+ * '' -X<value>:'',/
+ * '' gap excision threshold (default: 0.5).'',/
+ * '' -R<value>:'',/
+ * '' random number seed, negative integer '',
+ * ''(default: -123456789).'',/
+ * '' -W<value>:'',/
+ * '' total weight (default: 1).'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [N=shuffles-per-seq] use option -N instead'',/
+ * '' [X=gap-excision] use option -X instead'',/
+ * '' [R=random-seed] use option -R instead'',/
+ * '' [W=total-weight] use option -W instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+* read msf-file
+
+C If(FMSF.EQ.'-') then
+C 1 Open(NMSF,Status='SCRATCH')
+C Do I1=1,2*IDM1
+C If(Getc(B).NE.0) go to 2
+C N1=Fputc(NMSF,B)
+C End do
+C 2 Rewind(NMSF)
+C End if
+
+ If(FMSF.EQ.'-') then
+ 1 Open(NMSF,Status='SCRATCH',Err=901)
+ 2 Continue
+ Do I1=1,512
+ If(Getc(B).NE.0) go to 3
+ If(Ichar(B).EQ.10) then
+ Write(NMSF,'(512A)',Err=903)(CSEQ(ii1),ii1=1,I1-1)
+ Go to 2
+ Else
+ CSEQ(I1)=B
+ End if
+ End do
+ Go to 2
+ 3 Rewind(NMSF)
+
+ End if
+
+ If(OPTM) then
+ Call REMSA
+ * (NERR,NMSF,FMSF,
+ * IDMS,CSEQ,NSEQ,LSEQ,
+ * IDMF,RWGT,SQID,
+ * IRC)
+ Else
+ Call REMSF
+ * (NERR,NMSF,FMSF,
+ * IDMS,CSEQ,NSEQ,LSEQ,
+ * IDMF,RWGT,SQID,
+ * IRC)
+ End if
+ If(IRC.NE.0) go to 100
+
+* Check needed buffer size
+
+ If((NSEQ*LSEQ).GT.ICSL) go to 904
+
+*----------------------------------------------------------------------*
+* DATA PROCESSING
+*----------------------------------------------------------------------*
+
+* make sequence uppercase
+
+ Do I1=1,LSEQ*NSEQ
+ If (Index(ABCU,CSEQ(I1)).NE.0) then
+ Continue
+ Else
+ IX=Index(ABCL,CSEQ(I1))
+ If(IX.GT.0) then
+ CSEQ(I1)=ABCU(IX:IX)
+ Else
+ CSEQ(I1)='-'
+ End if
+ End if
+ End do
+
+* gap excision
+
+ NXSC=INT(RX*NSEQ)
+
+ Do I1=1,LSEQ
+ J1=I1
+ K1=0
+ Do I2=1,NSEQ
+ If(CSEQ(J1).EQ.'-') K1=K1+1
+ J1=J1+LSEQ
+ End do
+ If(K1.LE.NXSC) then
+ LXSC(I1)=.TRUE.
+ Else
+ LXSC(I1)=.FALSE.
+ End if
+ End do
+
+* generate character set profile
+
+ Call GCSET
+ * (IDMS,CSEQ,NSEQ,LSEQ,
+ * ICSL,NSET,CSET)
+
+* major loop
+
+* - initialize new weights
+
+* Do 10 I1=1,NSEQ
+ RWGT(I1)=0
+ 10 Continue
+
+ Do 20 I1=1,NRAN*NSEQ
+
+* - generate random sequences
+
+ Call RanSQ(IRAN,ICSL,NSET,CSET,LSEQ,CSQR)
+
+* - compare random sequence to real sequences
+*
+* NDIS(i): distance of random sequence to real sequence i
+* MIND : minimal distance
+* KMIN : # of real sequences with minimal distance
+* NIND(i): indices of real sequences with minimal distance
+
+ J3=1
+ MIND=LSEQ
+ KMIN=0
+ Do 15 I2=1,NSEQ
+ NDIS(I2)=0
+ Do 12 I3=1,LSEQ
+ If(LXSC(I3)) then
+ If(CSQR(I3).NE.CSEQ(J3)) NDIS(I2)=NDIS(I2)+1
+ End if
+ J3=J3+1
+ 12 Continue
+ If (NDIS(I2).LT.MIND) then
+ MIND=NDIS(I2)
+ KMIN=1
+ NIND(1)=I2
+ Else if(NDIS(I2).EQ.MIND) then
+ KMIN=KMIN+1
+ NIND(KMIN)=I2
+ End if
+ 15 Continue
+
+ R1=1.0/KMIN
+ Do 16 I2=1,KMIN
+ J2=NIND(I2)
+ RWGT(J2)=RWGT(J2)+R1
+ 16 Continue
+
+ 20 Continue
+
+ Do 30 I1=1,NSEQ
+ RWGT(I1)=RWGT(I1)/(NSEQ*NRAN)
+C Write(6,'(A16,''Weight: '',F6.4)')
+C * SQID(I1)(1:16),RWGT(I1)
+ 30 Continue
+
+*----------------------------------------------------------------------*
+* OUTPUT SECTION
+*----------------------------------------------------------------------*
+
+ Rewind(NMSF)
+
+* output msa format with xpsa header
+
+ If(OPTM) then
+ K1=0
+ 40 Read(NMSF,'(A)',End=900,Err=902) RCIO
+ If(RCIO(1:1).NE.'>') go to 40
+
+* build 'weight=value' pair
+
+ 41 K1=K1+1
+ RCTM=' weight= '
+ Write(RCTM(10:),*) RW*RWGT(K1)
+
+* remove extraoneous blanks
+
+ J1=8
+ Do I1=9,Lblnk(RCTM)
+ If(RCTM(I1:I1).NE.' ') then
+ J1=J1+1
+ RCTM(J1:J1)=RCTM(I1:I1)
+ RCTM(I1:I1)=' '
+ End if
+ End do
+ ILTM=Lblnk(RCTM)
+
+* find and replace preexisting 'weight=value' in xpsa header
+
+ L=Lblnk(RCIO)
+ IX=Index(RCIO(1:L),' weight=')
+
+ If(IX.EQ.0) then
+ If((L+ILTM+1).GE.512) L=L-ILTM-1
+ RCIO(L+1:L+1+ILTM)=RCTM
+ Write(6,'(512A)')(RCIO(ii1:ii1),ii1=1,L+1+ILTM)
+ Else
+ Do I1=IX+7,L
+ If(RCIO(I1:I1).NE.' ') go to 45
+ End do
+ 45 Do I2=I1,L
+ If(RCIO(I2:I2).EQ.' ') go to 46
+ End do
+ 46 ROUT(1:IX)=RCIO(1:IX)
+ ROUT(IX:IX+ILTM)=RCTM
+ ROUT(IX+ILTM:)=RCIO(I2:L)
+ L=Lblnk(ROUT)
+ Write(6,'(512A)')(ROUT(ii1:ii1),ii1=1,L)
+ End if
+
+ 48 RCIO=' '
+ Read(NMSF,'(A)',Err=902,Iostat=IOS) RCIO
+ If(RCIO(1:1).EQ.'>') go to 41
+ L=Lblnk(RCIO)
+ If(L.EQ.0.AND.IOS.EQ.-1) go to 100
+ Write(6,'(512A)')(RCIO(ii1:ii1),ii1=1,L)
+ Go to 48
+
+* output MSF format
+
+ Else
+ 51 Read(NMSF,'(A)',End=900,Err=902) RCIO
+ L=Lblnk(RCIO)
+ Write(6,'(512A)')(RCIO(ii1:ii1),ii1=1,L)
+ If(Index(RCIO(1:L),'..').EQ.0) go to 51
+
+ K1=1
+ 52 Read(NMSF,'(A)',End=900,Err=902) RCIO
+ L=Lblnk(RCIO)
+ IX=Index(RCIO(1:L),'Weight: ')
+ If(IX.NE.0) then
+ If(RW*RWGT(K1).LT.10) then
+ Write(RCIO(IX+8:),'(F6.4)') RW*RWGT(K1)
+ L=IX+13
+ Else
+ Write(RCIO(IX+8:),*) RW*RWGT(K1)
+ L=Lblnk(RCIO)
+ End if
+ K1=K1+1
+ End if
+ Write(6,'(512A)')(RCIO(ii1:ii1),ii1=1,L)
+ If(RCIO(1:2).NE.'//') go to 52
+
+ 53 Read(NMSF,'(A)',End=100,Err=902) RCIO
+ L=Lblnk(RCIO)
+ Write(6,'(512A)')(RCIO(ii1:ii1),ii1=1,L)
+ Go to 53
+ End if
+
+
+ 100 Call Exit(IRC)
+
+* errors
+
+ 900 Go to 100
+
+ 901 Write(NERR,*) 'Error: Unable to create temporary file.'
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Unable to read MSF file.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Unable to write to temporary file.'
+ IRC=1
+ Go to 100
+ 904 Write(NERR,*) 'Error: Sequence length times sequence number ',
+ * 'exceeds buffer size (',ICSL,').'
+ IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar
+ * (FMSF,NRAN,RX,RW,IRAN,OPTM,IRC)
+
+ Character*512 FMSF
+ Character*512 CPAR
+ Logical OPTM
+
+ NRAN=100
+ RX=0.5
+ IRAN=-123456789
+ RW=1.0
+ IRC=0
+ FMSF=' '
+ OPTM=.FALSE.
+
+ N1=Iargc()
+ If(N1.LT.1) go to 900
+
+ K1=0
+ I2=1
+ Do 50 I1=1,N1
+ Call GetArg(I2,CPAR)
+ If (CPAR(1:1).EQ.'-'.AND.CPAR(2:2).NE.' ') then
+ If(Index(CPAR,'h').NE.0) then
+ IRC=1
+ Go to 100
+ End if
+ If(Index(CPAR,'m').NE.0) OPTM=.TRUE.
+ If(Index(CPAR,'N').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) NRAN
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) NRAN
+ End if
+ End if
+ If(Index(CPAR,'X').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RX
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RX
+ End if
+ End if
+ If(Index(CPAR,'R').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) IRAN
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) IRAN
+ End if
+ End if
+ If(Index(CPAR,'W').NE.0) then
+ If(CPAR(3:3).NE.' ') then
+ Read(CPAR(3:),*,Err=900) RW
+ Else
+ I2=I2+1
+ Call GetArg(I2,CPAR)
+ Read(CPAR,*,Err=900) RW
+ End if
+ End if
+
+ Else if(CPAR(1:2).EQ.'N=') then
+ Read(CPAR(3:),*,Err=900) NRAN
+ Else if(CPAR(1:2).EQ.'X=') then
+ Read(CPAR(3:),*,Err=900) RX
+ Else if(CPAR(1:2).EQ.'R=') then
+ Read(CPAR(3:),*,Err=900) IRAN
+ Else if(CPAR(1:2).EQ.'W=') then
+ Read(CPAR(3:),*,Err=900) RW
+
+ Else if(FMSF.EQ.' ') then
+ FMSF=CPAR
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 60
+
+ 50 Continue
+
+ 60 If(FMSF.EQ.' ') go to 900
+ If(NRAN.LE.0) go to 900
+ If(IRAN.GT.0) IRAN=-1-IRAN
+ If(IRAN.EQ.0) IRAN=-123456789
+
+ 100 Return
+ 900 IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine GCSET
+ * (IDMS,CSEQ,NSEQ,LSEQ,
+ * ICSL,NSET,CSET)
+
+* CSEQ(IDMS)
+* NSET(ICSL)
+
+ Character CSEQ(*)
+ Integer NSET(*)
+ Character CSET(26,ICSL)
+
+ Do 10 I1=1,LSEQ
+ NSET( I1)=0
+ J2=I1-LSEQ
+ Do 8 I2=1,NSEQ
+ J2=J2+LSEQ
+ Do 5 I3=1,NSET(I1)
+ If(CSEQ(J2).EQ.CSET(I3,I1)) go to 8
+ 5 Continue
+ NSET(I1)=NSET(I1)+1
+ CSET(NSET(I1),I1)=CSEQ(J2)
+ 8 Continue
+ 10 Continue
+
+C Do 20 I1=1,LSEQ
+C Write(6,'(I6,'' '',26A)')
+C * NSET(I1),(CSET(ii1,I1),ii1=1,NSET(I1))
+C 20 Continue
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine RanSQ(IRAN,ICSL,NSET,CSET,LSEQ,CSQR)
+
+ Integer NSET(*)
+ Character CSET(26,ICSL)
+ Character CSQR(*)
+
+ Do 10 I1=1,LSEQ
+ If(NSET(I1).EQ.0) then
+ CSQR(I1)='-'
+ Else
+ K1=RAN2(IRAN)*NSET(I1)+1
+ CSQR(I1)=CSET(K1,I1)
+ End if
+ 10 Continue
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ FUNCTION RAN2(IDUM)
+ PARAMETER (M=714025,IA=1366,IC=150889,RM=1.4005112E-6)
+ DIMENSION IR(97)
+ DATA IFF /0/
+ IF(IDUM.LT.0.OR.IFF.EQ.0)THEN
+ IFF=1
+ IDUM=MOD(IC-IDUM,M)
+ DO 11 J=1,97
+ IDUM=MOD(IA*IDUM+IC,M)
+ IR(J)=IDUM
+ 11 CONTINUE
+ IDUM=MOD(IA*IDUM+IC,M)
+ IY=IDUM
+ ENDIF
+ J=1+(97*IY)/M
+ IF(J.GT.97.OR.J.LT.1) PAUSE
+ IY=IR(J)
+ RAN2=IY*RM
+ IDUM=MOD(IA*IDUM+IC,M)
+ IR(J)=IDUM
+ RETURN
+ END
+*----------------------------------------------------------------------*
+ Include 'remsf.f'
+ Include 'remsa.f'
+ Include 'lblnk.f'
diff --git a/pmali.f b/pmali.f
new file mode 100644
index 0000000..75d1d0c
--- /dev/null
+++ b/pmali.f
@@ -0,0 +1,138 @@
+*----------------------------------------------------------------------*
+* $Id: pmali.f,v 1.5 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine PMALI
+ * (LPRF,CHIP,CHMP,IDMP,LSEQ,LREV,
+ * CALI,JALB,
+ * MK3E,MK3B,MJ1E,MJ1B,NW)
+
+ Character*01 CHIP(0:IDMP)
+ Character*01 CHMP(IDMP)
+ Character*01 CALI(*)
+ Logical LREV
+
+* multiple match
+
+ Integer MK3E
+ Integer MK3B
+
+ Character*512 RCPR
+ Character*512 RCSQ
+ Character*534 RCOUT
+
+
+* Find beginning of alignment, sequence, profile
+
+ JB=MK3B-1
+ KB=MJ1B
+ LB=JALB
+
+C Write(NERR,*) '***Multiple match Info (Begin)***'
+C Write(NERR,*) 'JB: ',JB,' KB: ',KB,' LB: ',LB
+C Write(NERR,*) 'MK3B: ',MK3B,' MJ1B: ',MJ1B,' JALB: ',JALB
+
+* Find end of alignment, sequence, profile
+
+ JE=MK3E
+ KE=MJ1E
+
+C Write(NERR,*) 'JE: ',JE,' KE: ',KE,' LALI: ',LALI
+C Write(NERR,*) 'MK3E: ',MK3E,' MJ1E: ',MJ1E,' LALI: ',LALI
+C Write(NERR,*) '***Multiple match Info (End)***'
+
+* Write alignment
+
+ IX=0
+
+ Do I1=KB,KE
+
+ If(IX.GE.NW) then
+ NPE=JB
+ If(.NOT.LREV) then
+ NSE=LB
+C If(RCSQ(1:1).NE.'-') NSE=NSE-1
+ NSE=NSE-1
+ Else
+ NSE=LSEQ-LB+1
+C If(RCSQ(1:1).NE.'-') NSE=NSE+1
+ NSE=NSE+1
+ End if
+ NPE=NPE-LPRF-1
+ NSE=NSE-LSEQ-1
+ Write(6,'(''#'')')
+ Write(RCOUT(1:),'(''# P'',I9,'' '')') NPB
+ RCOUT(14:)=RCPR(1:NW)
+ Write(RCOUT(14+NW:),'(I9)') NPE
+ Write(6,'(534A)')(RCOUT(ii1:ii1),ii1=1,NW+22)
+ Write(RCOUT(1:),'(''# S'',I9,'' '')') NSB
+ RCOUT(14:)=RCSQ(1:NW)
+ Write(RCOUT(14+NW:),'(I9)') NSE
+ Write(6,'(534A)')(RCOUT(ii1:ii1),ii1=1,NW+22)
+ Write(6,'(''#'')')
+ IX=0
+ End if
+
+ IX=IX+1
+ K1=Ichar(CALI(I1))
+ If (K1.GE.65.AND.K1.LE. 90) then
+ JB=JB+1
+ If(JB.GT.LPRF) JB=JB-LPRF
+ LB=LB+1
+ RCPR(IX:IX)=CHMP(JB)
+ RCSQ(IX:IX)=CALI(I1)
+ Else if(K1.GE.97.AND.K1.LE.122) then
+ LB=LB+1
+ RCPR(IX:IX)=CHIP(JB)
+ RCSQ(IX:IX)=CALI(I1)
+ Else if(CALI(I1).EQ.'-') then
+C Write(NERR,*) 'Found a - at IX: ',IX
+ JB=JB+1
+ If(JB.GT.LPRF) JB=JB-LPRF
+ RCPR(IX:IX)=CHMP(JB)
+ RCSQ(IX:IX)=CALI(I1)
+ End if
+
+ If(IX.EQ.1) then
+ NPB=JB
+ If(K1.GE.97.AND.K1.LE.122) NPB=NPB+1
+ If(.NOT.LREV) then
+ NSB=LB
+ If(RCSQ(1:1).NE.'-') NSB=NSB-1
+ Else
+ NSB=LSEQ-LB+1
+ If(RCSQ(1:1).NE.'-') NSB=NSB+1
+ End if
+ End if
+
+ End do
+
+ If(IX.GT.0) then
+ NPE=JB
+ If(.NOT.LREV) then
+ NSE=LB
+C If(RCSQ(1:1).NE.'-') NSE=NSE-1
+ NSE=NSE-1
+ Else
+ NSE=LSEQ-LB+1
+C If(RCSQ(1:1).NE.'-') NSE=NSE+1
+ NSE=NSE+1
+ End if
+ NPE=NPE-LPRF-1
+ NSE=NSE-LSEQ-1
+ Write(6,'(''#'')')
+ RCPR(IX+1:)=' '
+ RCSQ(IX+1:)=' '
+ Write(RCPR(IX+1:IX+10),'(I9)') NPE
+ Write(RCSQ(IX+1:IX+10),'(I9)') NSE
+ IX=IX+9
+ Write(6,'(''# P'',I9,'' '',512A)')
+ * NPB,(RCPR(ii1:ii1),ii1=1,IX)
+ Write(6,'(''# S'',I9,'' '',512A)')
+ * NSB,(RCSQ(ii1:ii1),ii1=1,IX)
+ End if
+ Write(6,'(''#'')')
+
+ Return
+ End
diff --git a/prali.f b/prali.f
new file mode 100644
index 0000000..2c57d42
--- /dev/null
+++ b/prali.f
@@ -0,0 +1,144 @@
+*----------------------------------------------------------------------*
+* $Id: prali.f,v 2.8 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine PRALI
+ * (LPRF,CHIP,CHMP,IDMP,LSEQ,LREV,
+ * CALI,LALI,JALB,JALE,NW)
+
+ Character*01 CHIP(0:IDMP)
+ Character*01 CHMP(IDMP)
+ Character*01 CALI(*)
+ Logical LREV
+
+ Character*512 RCPR
+ Character*512 RCSQ
+ Character*534 RCOUT
+
+
+* Find beginning of alignment, sequence, profile
+
+ JB=0
+ KB=1
+ Do I1=1,LALI
+ If(CALI(I1).EQ.'-') then
+ JB=JB+1
+ If(JB.GT.LPRF) JB=JB-LPRF
+ KB=KB+1
+ Else
+ Go to 2
+ End if
+ End do
+ 2 LB=JALB
+
+C Write(NERR,*) 'JB: ',JB,' KB: ',KB,' LB: ',LB
+
+* Find end of alignment, sequence, profile
+
+ JE=LPRF
+ KE=LALI
+ Do I1=LALI,KB+1,-1
+ If(CALI(I1).EQ.'-') then
+ JE=JE-1
+ KE=KE-1
+ Else
+ Go to 3
+ End if
+ End do
+ 3 Continue
+
+C Write(NERR,*) 'JE: ',JE,' KE: ',KE,' LALI: ',LALI
+
+* Write alignment
+
+ IX=0
+
+ Do I1=KB,KE
+
+ If(IX.GE.NW) then
+ NPE=JB
+ If(.NOT.LREV) then
+ NSE=LB
+C If(RCSQ(1:1).NE.'-') NSE=NSE-1
+ NSE=NSE-1
+ Else
+ NSE=LSEQ-LB+1
+C If(RCSQ(1:1).NE.'-') NSE=NSE+1
+ NSE=NSE+1
+ End if
+ NPE=NPE-LPRF-1
+ NSE=NSE-LSEQ-1
+ Write(6,'(''#'')')
+ Write(RCOUT(1:),'(''# P'',I9,'' '')') NPB
+ RCOUT(14:)=RCPR(1:NW)
+ Write(RCOUT(14+NW:),'(I9)') NPE
+ Write(6,'(534A)')(RCOUT(ii1:ii1),ii1=1,NW+22)
+ Write(RCOUT(1:),'(''# S'',I9,'' '')') NSB
+ RCOUT(14:)=RCSQ(1:NW)
+ Write(RCOUT(14+NW:),'(I9)') NSE
+ Write(6,'(534A)')(RCOUT(ii1:ii1),ii1=1,NW+22)
+ IX=0
+ End if
+
+ IX=IX+1
+ K1=Ichar(CALI(I1))
+ If (K1.GE.65.AND.K1.LE. 90) then
+ JB=JB+1
+ If(JB.GT.LPRF) JB=JB-LPRF
+ LB=LB+1
+ RCPR(IX:IX)=CHMP(JB)
+ RCSQ(IX:IX)=CALI(I1)
+ Else if(K1.GE.97.AND.K1.LE.122) then
+ LB=LB+1
+ RCPR(IX:IX)=CHIP(JB)
+ RCSQ(IX:IX)=CALI(I1)
+ Else if(CALI(I1).EQ.'-') then
+ JB=JB+1
+ If(JB.GT.LPRF) JB=JB-LPRF
+ RCPR(IX:IX)=CHMP(JB)
+ RCSQ(IX:IX)=CALI(I1)
+ End if
+
+ If(IX.EQ.1) then
+ NPB=JB
+ If(K1.GE.97.AND.K1.LE.122) NPB=NPB+1
+ If(.NOT.LREV) then
+ NSB=LB
+ If(RCSQ(1:1).NE.'-') NSB=NSB-1
+ Else
+ NSB=LSEQ-LB+1
+ If(RCSQ(1:1).NE.'-') NSB=NSB+1
+ End if
+ End if
+
+ End do
+
+ If(IX.GT.0) then
+ NPE=JB
+ If(.NOT.LREV) then
+ NSE=LB
+C If(RCSQ(1:1).NE.'-') NSE=NSE-1
+ NSE=NSE-1
+ Else
+ NSE=LSEQ-LB+1
+C If(RCSQ(1:1).NE.'-') NSE=NSE+1
+ NSE=NSE+1
+ End if
+ NPE=NPE-LPRF-1
+ NSE=NSE-LSEQ-1
+ Write(6,'(''#'')')
+ RCPR(IX+1:)=' '
+ RCSQ(IX+1:)=' '
+ Write(RCPR(IX+1:IX+10),'(I9)') NPE
+ Write(RCSQ(IX+1:IX+10),'(I9)') NSE
+ IX=IX+10
+ Write(6,'(''# P'',I9,'' '',512A)')
+ * NPB,(RCPR(ii1:ii1),ii1=1,IX)
+ Write(6,'(''# S'',I9,'' '',512A)')
+ * NSB,(RCSQ(ii1:ii1),ii1=1,IX)
+ End if
+ Write(6,'(''#'')')
+
+ Return
+ End
diff --git a/profile.txt b/profile.txt
new file mode 100644
index 0000000..596b94c
--- /dev/null
+++ b/profile.txt
@@ -0,0 +1,1622 @@
+
+
+
+
+
+
+
+ A GENERALISED PROFILE SYNTAX FOR PROTEIN AND NUCLEIC ACID
+ SEQUENCE MOTIFS
+
+
+
+
+
+ Version 1.3, May 1997
+
+
+
+
+
+ Philipp Bucher
+ Biocomputing Group
+ Swiss Institute for Experimental Cancer Research
+ 1066 Epalinges s/Lausanne
+ Switzerland
+
+ Telephone: (+41 21) 692 58 92
+ Electronic mail address: pbucher at isrec-sun1.unil.ch
+
+
+
+
+
+ This document may be copied and redistributed freely, without advance per-
+ mission, provided that this statement is reproduced with any copy.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<PAGE>
+
+
+ INTRODUCTION
+
+
+ This document describes a general syntax to express a quantitative, pri-
+ mary structure-based protein or nucleic acid sequence motif. The designa-
+ tion `quantitative' means that a motif description assigns a degree of
+ similarity to a potential match rather than a binary status of true or
+ false. The restriction `primary structure-based' implies that the proba-
+ bility of finding a specific residue at one position is independent of any
+ residue occurring at another position.
+
+ The generalised profile syntax has been designed for and will be used in
+ future releases of the PROSITE data bank. In addition, it will be used in
+ a similar data bank of nucleic acid sequence motifs currently under
+ development by the author. Other researchers working on sequence motifs
+ are encouraged to use the same format for their own motif collections, and
+ may include this document in a public distribution release.
+
+ The term `generalised profile syntax' is meant to indicate that the pro-
+ posed data structure represents a generalisation of the profile type
+ described by Gribskov et al. [1]. However, similar motif descriptors have
+ been introduced by others under different names, e.g. weight matrices [2]
+ or flexible patterns [3].
+
+ The following terminology is adopted in this document:
+
+ - The term `profile' refers to a quantitative motif description based on
+ the generalised profile syntax.
+ - The term `pattern' refers to a qualitative motif description based on a
+ regular expression-like syntax such as the one currently used in PRO-
+ SITE entries marked as PATTERN.
+ - The term `motif' refers to the biological object one attempts to ap-
+ proximate by a pattern or a profile.
+
+ Note that the PROSITE data bank reserves the token MATRIX to identify en-
+ tries containing profiles.
+ * * *
+
+ The design of the new profile structure has been guided by various biolog-
+ ical and technical considerations. High priority has been given to the
+ following principles:
+
+ A) Syntactic versatility
+
+ The syntax should be versatile enough to cover a large variety of biologi-
+ cally relevant motifs. In particular, it should be be possible to accu-
+ rately represent the following objects:
+
+ - Signatures for various types and levels of protein taxons.
+ - Highly degenerate protein structural and functional domains such as the
+ immunoglobulin domains, or the SH2 and SH3 domains.
+ - Consensus sequences of interspersed repetitive DNA elements (SINEs and
+ LINEs).
+ - Basic gene expression signals, e.g. promoter elements, RNA processing
+ signals, translational initiation sites.
+ - Recognition motifs of a large variety of sequence-specific DNA-binding
+ proteins.
+ - Protein and nucleic acid compositional domains, e.g. glutamine-rich ac-
+ tivation domains, CpG islands.
+
+
+
+<PAGE>
+
+
+
+ B) Determinative search instructions
+
+ The profile syntax should have the capacity to encode precise and complete
+ instructions for a motif search. Ideally, the result of a motif search
+ should be determined by the profile and a sequence alone, i.e. not depend
+ on parameters of the search method. In practice, this goal may only be ap-
+ proximately achieved due to ambiguities arising with multiple locally op-
+ timal profile-sequence alignments (see Section 2).
+
+ Notes:
+
+ - In other implementations of similar methods, e.g. GCG profiles or HMMER
+ Hidden Markov models software, different search methods are available
+ as options and parameters of the search programs rather than as syntac-
+ tic features of the motif description itself. For the profiles in PRO-
+ SITE, inclusion of determinative search instructions is a necessity be-
+ cause otherwise the information given on the NR lines (statistics of
+ true and false positives/negatives) would have no meaning.
+ - The notion of determinative search instructions is not meant to imply a
+ specific search algorithm. There is space for different technical
+ solutions to achieve the same result.
+
+ C) Openness to different interpretations
+
+ A profile syntax is situated at the interface between a motif definition
+ and a motif search method. As such it can serve as a melting pot for in-
+ tegrating complementary efforts. While a rigid meaning vis-a-vis a search
+ method is desirable, flexibility with regard to motif definition methods
+ is equally important. In order to achieve such flexibility, it is essen-
+ tial that the profile parameters remain open to a variety of different
+ theoretical interpretations implicit in different methodologies.
+
+ Relevant motif definition techniques may include both comparative struc-
+ tural and wet biochemical approaches. It is thus conceivable that the
+ same type of numeric profile parameter may reflect log-probabilities in
+ one case, and binding energies in another. A profile syntax must be neu-
+ tral in this respect in order to be generally acceptable to a heterogene-
+ ous research community relying on different rationales for motif defini-
+ tion.
+
+ D) Compatibility with existing search methods
+
+ As a profile is required to encode determinative directives for a motif
+ search, the underlying syntax should have the capacity to emulate most of
+ the commonly used motif search techniques, such as:
+
+ - Search for PROSITE patterns.
+ - Search for fixed-length weight matrices without gaps [2].
+ - Search for complex motifs defined by multiple weight matrices and
+ variable-length linkers [4].
+ - Gribskov's profile alignment algorithm [1].
+ - Barton's alignment algorithm for flexible patterns [3].
+ - Viterbi algorithm for the hidden Markov model architecture described in
+ [5].
+ - The domain and fragment search algorithms implemented in the HMMER pro-
+ grams hmmls and hmmfs, respectively [10].
+
+ This requirement stems from two beliefs: (i) that the bewildering variety
+ of motif search methods described in the literature can be understood and
+ reformulated as special cases of a more general method; (ii) that such an
+
+<PAGE>
+
+
+ exercise will facilitate communication between different groups and will
+ lead to new theoretical insights.
+
+ Notes:
+
+ - With the exception of Barton's algorithm for flexible patterns, the
+ capacity of the generalised profile syntax to emulate the search tech-
+ niques listed above has been verified by experiment.
+
+ * * *
+
+ The remaining part of this document is organised as follows:
+
+ - Section 1 explains the basic components of a profile which are likely
+ to remain stable for several years.
+ - Section 2 presents accessory features necessary to encode complete in-
+ structions for a motif search. This part of the syntax may be gradually
+ expanded in the future.
+ - Section 3 describes a specific machine-readable format which will be
+ used in PROSITE and a similar data bank of nucleic acid sequence
+ motifs.
+ - Section 4 shows two illustrative examples, one from the nucleic acid
+ and one from the protein world.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<PAGE>
+
+
+ 1) BASIC PROFILE STRUCTURE AND FUNCTION
+
+ In abstract terms, a generalised profile can be described as an alternat-
+ ing sequence of `match' and `insert' positions. Match and insert posi-
+ tions contain complementary sets of numeric parameters called profile
+ scores. The values assigned to these parameters may be different at each
+ position. In reality, a profile resembles a two-dimensional table of
+ numbers.
+
+ From an other perspective, a profile may also be viewed as a degenerate
+ molecular sequence. The match positions correspond to residues which typ-
+ ically occur in such a sequence. The insert positions represent places
+ where additional residues can optionally be inserted.
+
+ The function of a profile is to align itself to a real sequence and to as-
+ sign a number to such an alignment. This number is called similarity
+ score or alignment score and serves to evaluate the significance of a po-
+ tential motif occurrence.
+
+ The notion of a profile match cannot be separated from that of an align-
+ ment. The alignment is not only a prerequisite for computing a similarity
+ score, it also expresses a specific interpration of the sequence match.
+ For instance, if the profile involved represent a protein domain where
+ certain positions are associated with specific functions, e.g. metal
+ ion-binding capacities or catalytic roles, then the alignment will map
+ these functions onto individual residues of the sequence.
+
+ The basic components of a profile are those which are necessary for com-
+ puting a similarity score. To prevent possible misunderstandings, it has
+ to be stressed that a profile defines a score for any alignment, not just
+ for an optimal alignment. The concept of an optimal alignment relates to
+ motif search strategies and is totally irrelevant in this Section.
+
+
+ 1.1) Definition of a profile-sequence alignment
+
+ It is useful to introduce a profile-sequence alignment with the aid of the
+ path matrix representation. The following diagram defines an alignment
+ between a sequence and a profile.
+
+ S E Q U E N C E
+ . . . . . . . . .
+ p
+ . . . . . . . . .
+ r \
+ . . _ . _ . . . . . .
+ o \
+ . . . . . . . . .
+ f \
+ . . . . . . . . .
+ i |
+ . . . . . . . . .
+ l \
+ . . . . . . . . .
+ e
+ . . . . . . . . .
+
+ The capital letters represent sequence residues, the lower-case letters
+ represent profile match positions. Profile insert positions are not
+ marked by symbols. They occur at the beginning, at the end, and between
+ any pair of consecutive match positions of the profile.
+
+<PAGE>
+
+
+
+ The path marked by horizontal, vertical, and diagonal bars defines the
+ following alignment:
+
+ S E Q U E - N
+ r - - o f i l
+
+ Such an alignment can also be defined by a sequence of path matrix co-
+ ordinates. By convention, the upper left corner of the matrix is assigned
+ co-ordinates (0,0). Note that path matrix co-ordinates correspond to pro-
+ file insert positions rather than match positions. Likewise, they fall
+ between consecutive residues of the sequence. The above alignment is de-
+ fined by the following co-ordinate sequence.
+
+ (1,0) , (2,1) , (2,2) , (2,3) , (3,4) , (4,5) , (5,5) , (6,6)
+
+ In general, a co-ordinate sequence
+
+ (i ,j ) , (i ,j ) , ... , (i ,j )
+ 0 0 1 1 L L
+
+ defines a valid sequence alignment between a profile of length N and a se-
+ quence of length M if and only if:
+
+ { 0 <= i <= N AND 0 <= j <= M } for 0 <= k <= L
+ k k
+ AND
+ { ( i + 1 = i AND j + 1 = j
+ k k+1 k k+1
+
+ OR ( i = i AND j + 1 = j
+ k k+1 k k+1
+
+ OR ( i + 1 = i AND j = j } for 0 <= k <= L-1 .
+ k k+1 k k+1
+ Notes:
+
+ - The above definition encompasses both global and local types of align-
+ ments. In the following, it is not necessary to distinguish between
+ these two alternatives. A global alignment may simply be viewed as a
+ limit case of a local alignment.
+ - The alignment definition underlying generalised profiles is equivalent
+ to the path definition of hidden Markon models in the following sense:
+ (i) for a sequence and a profile of given lengths M,N, the number of
+ possible alignments is exactly identical to the number of paths through
+ which an HMM of length N can generate sequences of length M, (ii) there
+ is an obvious one-to-one mapping between profile-sequence alignments
+ and paths through HMMs; see also [9].
+
+
+ 1.2) Definition of the similarity score
+
+ The similarity score of a profile sequence-alignment is the sum of the
+ scores assigned to its scorable components. The scorable components of an
+ alignment are:
+
+ - the beginning
+ - each extension step
+ - each state transition
+ - the end
+
+
+<PAGE>
+
+
+ Some of these terms need further explanation.
+
+ An extension step occurs between any pair of consecutive path matrix co-
+ ordinates. There are three different types of extension steps: `match',
+ `insert', and `deletion' steps. In the above diagram, diagonal bars
+ correspond to match extension steps, horizontal bars correspond to insert
+ extension steps, and vertical bars correspond to deletion extension steps.
+ The number of extension steps defines the length of the alignment.
+
+ The type of an extension step is also called a state. Each extension step
+ is thus associated with a match, insert, or deletion state. At the begin-
+ ning, an alignment is in `initiation' state. At the end, it is in `termi-
+ nation' state. Initiation, match, insert, deletion, and termination
+ states will be symbolised by the letters B, M, I, D, and E, respectively.
+
+ A state transition occurs between any two consecutive alignment components
+ associated with a state. Thus, there is one state transition for each co-
+ ordinate pair of the alignment, including the first and the last. Note
+ that this definition implies that state transitions also occur between
+ identical states.
+
+ In summary, an alignment of length L has:
+
+ 1 beginning
+ L extensions steps
+ L+1 state transitions
+ 1 termination
+ --------------------------------------------------------------------------
+ 2L+3 scorable components in total.
+
+ All component scores are provided by the profile in a position-specific
+ manner. Therefore, the similarity score does not depend on any parameter
+ of an alignment method. The types and functions of profile scores are now
+ explained.
+
+ The scores assigned to the beginning and end of the alignment are called
+ `initiation' and `termination' scores. These scores are distinct from
+ those assigned to the first and last state transition though they
+ correspond to the same path matrix co-ordinates. There are two types of
+ scores for each class. The `external' initiation score applies to co-
+ ordinates at the beginning of the sequence. The `internal' initiation
+ score applies to all other co-ordinates. External and internal termina-
+ tion scores are defined analogously. The function of these scores is to
+ flexibly encode local or global alignment scoring modes. In addition,
+ they may serve to anchor a motif at the beginning or at the end of a se-
+ quence.
+
+ The scores for extension steps comprise three classes: match extension
+ scores, insert extension scores, and deletion extension scores. Match and
+ insert extension scores are residue-specific because the corresponding
+ alignment steps span one sequence residue. By contrast, there is only one
+ deletion extension score per profile position because deletion steps do
+ not involve sequence residues.
+
+ There are 16 different types of state transition scores for all possible
+ transitions from an element of {B,M,I,D} to an element of {M,I,D,E}. State
+ transition scores serve similar functions as gap opening penalties in a
+ sequence-sequence alignment.
+
+
+
+
+<PAGE>
+
+
+
+ 1.3) Basic profile structure
+
+ The basic profile structure follows almost conclusively from the forgoing
+ definitions of a profile-sequence alignment and its similarity score.
+ What remains to be clarified are a few details.
+
+ A profile is based on a particular alphabet. The alphabet is considered a
+ basic constituent of the profile because it determines the exact number of
+ parameters per insert and match position.
+
+ The two standard character sets for biomolecular patterns are:
+
+ - {A,C,G,T} for nucleic acid motifs.
+ - {A,B,C,D,E,F,G,H,I,K,L,M,N,P,Q,R,S,T,V,W,Y,Z} for protein motifs.
+
+ Other alphabets, e.g. alphabets including ambiguous codes for nucleotides,
+ may be useful in particular circumstances.
+
+ There is one insert and one match extension score for each character of
+ the alphabet. In practice, it is useful to define one additional insert
+ and match extension score to deal with unexpected characters appearing in
+ real sequences.
+
+ Some of the previously introduced profile scores are associated with in-
+ sert positions, others with match positions. A look at the path matrix
+ diagram makes clear which type of score is associated with which type of
+ profile position.
+
+ An insert position of a profile based on a K-letter alphabet contains the
+ following parameters:
+
+ 1 external initiation score
+ 1 internal initiation score
+ 16 state transition scores for all transitions between
+ elements of {B,M,I,D} and {M,I,D,E}
+ K insert extension scores for each character of the alphabet
+ 1 insert extension score for an unexpected character
+ 1 internal termination score
+ 1 external termination score
+ --------------------------------------------------------------------------
+ K+21 insert position scores in total
+
+ A match position of a profile based on a K-letter alphabet contains the
+ following parameters.
+
+ K match extension scores for each letter of the alphabet
+ 1 match extension score for an unexpected character
+ 1 deletion extension score
+ --------------------------------------------------------------------------
+ K+ 2 match position scores in total
+
+ Admissible values for profile scores are any integer or real number plus a
+ special value representing a forbidden alignment step. This value will be
+ called `low-value' and behaves like minus infinity in mathematical opera-
+ tions.
+
+ A profile has also a defined topology, either linear or circular. Most
+ profiles will be linear. Circular profiles may represent motifs which
+ consist of a variable number of tandemly repeated units. Note that a
+ linear profile begins and ends with an insert position.
+
+<PAGE>
+
+
+
+ Notes:
+
+ - The above list of position-specific profile scores represents the max-
+ imum number of supported features. Real profiles derived with an exist-
+ ing method will rarely use all of them. Concise representation of a
+ profile can be achieved through specification of appropriate defaults;
+ see examples in Section 4.
+ - There is some redundancy in the implemented parameter set allowing for
+ alternative representations of functionally equivalent profiles. This
+ freedom could be used for scaling profile scores in units related to a
+ particular mathematical or physical interpretation, e.g. probabilities
+ of a hidden Markov model or thermodynamic quantities.
+ - The above definition of a sequence alignment assumes linear topology
+ for both the profile and the sequence. Generalisation to circular to-
+ pology is straightforward. An alignment between a circular profile and
+ a linear sequence, or between a linear profile and a circular sequence,
+ corresponds to a path on a cylindrical surface. An alignment between a
+ circular profile and a circular sequence corresponds to a path on a
+ torus.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<PAGE>
+
+
+ 2) PROFILE ACCESSORIES
+
+ The primary purpose of a profile is to identify as reliably as possible
+ biologically relevant motif occurrences in new sequences. The basic pro-
+ file structure described in the previous Section is not sufficient to de-
+ fine a rational search strategy to this end. The accessory profile
+ features presented here fill this gap. Appropriately interpreted, they
+ complement the position-specific profile scores to provide determinative
+ instruction for a motif search. In addition, they guide the interpration
+ of potential matches.
+
+
+ 2.1) Cut-off value
+
+ For a profile and a sequence of typical lengths, there is a very large
+ number of possible alignments. At most a few of them will be biologically
+ relevant. The function of a cut-off value is to a priori exclude a large
+ number of alignments from further consideration by a profile search algo-
+ rithm. The fate of the remaining alignments with similarity scores greater
+ than or equal to the cut-off value depends on a specific disjointness de-
+ finition applied; see below.
+
+ An important aspect of a cut-off value is that it gives a qualitative
+ meaning to a profile. This is a prerequisite for statistics on false po-
+ sitives and false negatives obtained in a database search, as currently
+ provided by PROSITE.
+
+ In certain situations, it is useful to supply more than one cut-off value,
+ partitioning the range of alignment scores into multiple areas. The areas
+ may correspond to different degrees of certainty, ranges of evolutionary
+ distance, or levels of physiological activity.
+
+
+ 2.2) Score normalisation instructions
+
+ The profile-alignment scores defined in the previous Section are called
+ raw scores. In most cases, they will not lend themselves to meaningful
+ biological interpretations and will therefore not be very helpful in the
+ interpretation of a potential match. In practice, one is interested in
+ questions like: What is the probability of finding a match of a certain
+ score in a random sequence? How does the similarity score relate to a
+ measurable property of the biological object? The purpose of normalisation
+ instructions is to convert the raw score into directly interpretable un-
+ its.
+
+ There may be multiple normalisation modes for the same profile, each one
+ associated with a different mathematical, physical, or biological in-
+ terpretation; see examples in Section 4.
+
+ Normalisation functions are required to preserve the ranking of scores
+ pertaining to alternative alignments between the same profile and the same
+ sequence. However, since normalisation functions may depend on sequence
+ parameters such as length and residue composition, they will generally not
+ preserve the order of scores pertaining to matches from different se-
+ quences arising in a database search.
+
+ Notes:
+
+ - Cut-off values may be defined in raw score units or normalised score
+ units.
+
+
+<PAGE>
+
+
+ - Programs may rely on normalised rather than raw scores for various
+ operation, e.g. sorting of accepted matches in a database search.
+ - An expanding list of normalisation functions is presented in Appendix
+ B.
+
+
+ 2.3) Disjointness definitions
+
+ There are situations where only a single best alignment and its similarity
+ score are of interest. This arises for instance with a profile serving
+ exclusively as a signature for a protein family. More frequently, the
+ same motif may occur more than once in a given sequence, and each oc-
+ currence will be of interest.
+
+ In the first case, the motif search problem is simple and can be solved by
+ a standard optimal alignment algorithm such as described in [1]. In the
+ second case, the task is more difficult and needs to be explained in more
+ detail.
+
+ At first glance, the problem seems to be to find all profile-sequence
+ alignments with similarity scores greater than or equal to the cut-off
+ value. However, such an approach would not yield useful results because a
+ high scoring alignment typically belongs to a large group of very similar
+ alignments with comparable scores. Two members of such a group may differ
+ only by an additional extension step at one end of one alignment. In
+ sequence-sequence comparisons, a cluster of related alignments is
+ represented by a single highest scoring member. This seems a reasonable
+ procedure for profiles too.
+
+ As a second approximation, one could therefore define the task of finding
+ multiple profile matches in the same sequence as one of finding as many as
+ possible, locally optimal, but mutually disjoint alignments with scores
+ greater than or equal to the cut-off value. What is still missing in such
+ a statement of the problem is a precise definition of disjointness and a
+ tie-braking rule to choose between equally high-scoring alignments. The
+ former is of fundamental importance and needs to be addressed here. The
+ latter may be considered a property of a specific algorithm and thus is
+ beyond the scope of this document.
+
+ There are many possible ways to define disjointness of two alignments.
+ The algorithms described for finding multiple locally optimal alignments
+ between pairs of sequences consider two alignments disjoint if they have
+ no extension step in common [6,7]. The two alignments specified in the
+ path matrix diagram below illustrate this notion of disjointness.
+
+ S E Q U E N C E
+ . . . . . . . . .
+ p \
+ . . . _ . . . . . .
+ r \ \
+ . . . . . . . . .
+ o | \
+ . . . . . . . . .
+ f \ \
+ . . . _ . . . . _ . _ .
+ i \
+ . . . . . . . . .
+ l \
+ . . . . . . . . .
+ e \
+ . . . . . . . . .
+
+<PAGE>
+
+
+
+ However, such a definition will not be adequate for many motif search ap-
+ plication because it allows the same sequence residue to be matched with
+ different profile positions. Imagine the case of a protein structural
+ domain. There, it is inconceivable that the same residue simultaneously
+ participates in the formation of two physically distinct domains, occupy-
+ ing different places within these domains.
+
+ There may be no single disjointness definition adequate for all kinds of
+ biological sequence motifs which can be characterised by a profile. For
+ this and other reasons, a specific notion of disjointness is viewed and
+ implemented as a profile-inherent property rather than a variable of the
+ alignment method. In some cases, a particular definition may even be
+ derived from a measurable property of the biological object. The conclud-
+ ing example illustrates this point.
+
+ The DNA recognition site of mammalian transcription factor Sp1 is about 14
+ bp long and can be fairly accurately represented by a conventional weight
+ matrix. Experiments have shown that the minimal center-to-center distance
+ for two sites to be simultaneously occupied by two proteins is 10 bp. For
+ a profile representing an Sp1 binding site, an appropriate criterion for
+ disjointness would require that the sequence segments aligned with the
+ central 10 bp region of the recognition motif do not overlap.
+
+ Notes:
+
+ - The problems related to disjoint alignments are not specific to pro-
+ files. They also occur with qualitative variable-length patterns based
+ on a regular expression-like syntax.
+ - An expanding list of alternative disjointness definitions is presented
+ in Appendix A.
+ - The algorithms for multiple pairwise sequence alignments described in
+ [6,7] can easily be adjusted to the disjointness definitions proposed
+ in Appendix A.
+ - Another principle for parsing multiple matches between an HMM and a se-
+ quence is implemented in the HMMER programs hmmls and hmmfs [10].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<PAGE>
+
+
+ 3) A MACHINE-READABLE TEXT FILE FORMAT
+
+ This Section describes the format conventions used in the PROSITE data
+ bank for representation of profiles
+
+
+ 3.1) General format of the MA line
+
+ The current PROSITE database reserves the MA line code for information
+ specific to matrix entries.
+
+ A profile typically extends over many MA lines. The general format of a
+ block of consecutive MA lines is as follows:
+
+ MA /KEYWORD: parameter=value; parameter=value; ... ; /KEYWORD:
+ MA parameter=value; parameter=value; ... ; /KEYWORD: ...
+
+ The text is substructured into so-called data blocks, each one beginning
+ with a keyword followed by a list of parameter specifications. Keywords
+ identify different types of data blocks with characteristic parameter sub-
+ sets. The keywords at the beginning of each data block are enclosed by
+ slash on the left side and by colon on the right side. Individual parame-
+ ter specifications are delimited by semicolon. There is also a semicolon
+ at the end of each data block containing at least one parameter specifica-
+ tion.
+
+ A single word, quoted string, or number must be contained within one line.
+ Otherwise, there are no rules guiding the placement of text units onto
+ physical lines. Within one block, the parameter specifications can appear
+ in any order.
+
+ The following keywords define valid data block types:
+
+ /GENERAL_SPEC: General specifications.
+ /DISJOINT: Disjointness definition for multiple matches.
+ /NORMALIZATION: Score normalisation instructions.
+ /CUT_OFF: Recommended cut-off value(s).
+ /DEFAULT: Defaults for position specific profile parameters.
+ /I: Profile insert position.
+ /M: Profile match position.
+
+
+ 3.2) The formats of different data block types
+
+ 3.2.1) The GENERAL_SPEC data block
+
+ The GENERAL_SPEC data block provides general information about the pro-
+ file. It has the following format:
+
+ /GENERAL_SPEC: ALPHABET=string;
+ [ LENGTH=length; TOPOLOGY=topology; BEGIN=begin; END=end ]
+ [ LOG_BASE=log_base; P0=p0; P=random_model ]
+
+ where:
+
+ - `string' is a quoted character string defining the character set for
+ which, and the order in which, position-specific match and insert ex-
+ tension scores are provided in subsequent M and I data blocks.
+ - `length' is the length of the profile defined as the total number of
+ match positions.
+
+
+<PAGE>
+
+
+ - `topology' is one of the alternative words LINEAR or CIRCULAR.
+ - `begin' is an integer indicating the match position withing the profile
+ where the described biological object begins (implying that positions
+ before `begin' characterise contextual constraints). This together
+ with the END feature may be useful for profiles characterising biologi-
+ cal objects such as transmembrane helices in proteins, or exons in gene
+ sequences. As an instruction to software, this parameter means that
+ sequence residues matching profile positions before the `begin' posi-
+ tion should not be reported as being part of the biological object.
+ - `end' is an integer indicating the match position within the profile
+ where the biological object ends; see also remarks on previous parame-
+ ter.
+ - `log_base' is the logarithmic base that should be used when translating
+ the generalised profile (back) into an HMM, see [9]. Popular loga-
+ rithmic bases for the representation of HMMs, null-models, substitution
+ matrices, etc. are tabulated in APPENDIX C.
+ - `p0' is a real number between 0 and 1 defining the insert-to-insert
+ state transition probability of the null-model that should be used for
+ translating the generalised profile (back) into an HMM; see [9]. This
+ parameter defines a geometric length distribution over the sequence
+ space.
+ - `random-model' is a real number, or comma separated list of real
+ numbers, defining the residue emission probabilities of the null-model
+ that should be used for translating the generalised profile (back) into
+ an HMM; see [9]. These numbers are not required to sum to 1 and thus
+ should be renormalised by programs on input. In PROSITE, the random
+ model is usually given as percent amino acid frequencies.
+
+ The GENERAL_SPEC data block is mandatory and precedes any DEFAULT, M or I
+ data block.
+
+ Implicit defaults:
+
+ - TOPOLOGY=LINEAR;
+
+ Example:
+
+ MA /GENERAL_SPEC: ALPHABET='ACGT';
+
+ Notes:
+
+ - The optional LENGTH parameter is purely informative and redundant. The
+ actual length of the profile is given by the sequence of subsequent I
+ and M data blocks.
+
+
+ 3.2.2) The DISJOINT data block
+
+ The DISJOINT data block provides a definition of disjointness for multiple
+ profile-sequence alignments, or indicates that only one globally optimal
+ alignment is of interest. It has the following format:
+
+ /DISJOINT: DEFINITION=name; parameters;
+
+ where:
+
+ - `name' is a word from a controlled vocabulary identifying one of the
+ supported disjoint definitions listed in Appendix A.
+ - `parameters' is a list of parameter specifications for the correspond-
+ ing disjointness definition. Note that different disjointness defini-
+ tions depend on different parameter sets; see APPENDIX A.
+
+<PAGE>
+
+
+
+ The DISJOINT data block is mandatory.
+
+ Example:
+
+ MA /DISJOINT: DEFINITION=PROTECT; N1=12; N2=40;
+
+ Notes:
+
+ - Some disjointness definitions are parameter-free. In this case, the
+ list of parameter specifications is empty.
+ - The list of supported disjoint definitions constitutes a dynamic
+ feature of the format. New functions may be added in the future.
+ Suggestions are welcome.
+
+
+ 3.2.3) The NORMALIZATION data block
+
+ A NORMALIZATION data block describes a specific normalisation mode for
+ alignment scores. It has the following format:
+
+ /NORMALIZATION: FUNCTION=name; parameters;
+ [ MODE=mode-nr; PRIORITY=rank; TEXT=string; ]
+
+ where:
+
+ - `name' is a word form a controlled vocabulary identifying one of the
+ supported normalisation functions listed in Appendix B.
+ - `parameters' is a list of parameter specifications providing values for
+ all parameters of the corresponding normalisation function listed in
+ APPENDIX B.
+ - `mode-nr' is an integer by which the normalisation mode can be referred
+ to in CUT_OFF data blocks.
+ - `rank' is an integer assigning a relative priority to the normalisation
+ mode with regard to various pattern search operations.
+ - `string' is a quoted string describing a score normalised according to
+ this mode.
+
+ NORMALIZATION data blocks are optional. There may be several NORMALIZA-
+ TION data blocks per profile.
+
+ The optional MODE parameter either appears in all or in none of the NOR-
+ MALIZATION data blocks. If specified, the mode numbers form a contiguous
+ integer range starting with 1. If not specified, mode numbers are implied
+ by the order in which the NORMALIZATION data blocks appear in the profile.
+
+ The optional PRIORITY parameter either appears in all or none of the NOR-
+ MALIZATION data blocks. If not specified, priorities are equal to the mode
+ numbers. The lower the priority number, the higher the priority of the
+ normalisation mode, and vice-versa.
+
+ Example:
+
+ MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; TEXT='Homology Score';
+ MA R1=-90.558; R2=0.57225;
+
+ Notes:
+
+ - Normalisation functions may, in addition to the parameters listed in
+ APPENDIX B, depend on characteristics of the sequence such as length
+ and residue composition.
+
+<PAGE>
+
+
+
+
+ 3.2.4) The CUT_OFF data block
+
+ A CUT_OFF data block defines a cut-off level. It has the following for-
+ mat:
+
+ /CUT_OFF: SCORE=rscore;
+ [ LEVEL=level; TEXT=string; N_SCORE=nscore; MODE=mode-nr ]
+
+ where:
+
+ - `rscore' is an integer defining the cut-off value in raw score units.
+ - `level' is an integer identifying a cut-off level.
+ - `string' is a quoted character string characterising profile matches
+ with scores greater than or equal to the corresponding cut-off value
+ (but lower than any higher cut-off value specified).
+ - `nscore' is a real number, or a comma separated list of real numbers,
+ defining the cut-off value(s) in normalised score units calculated ac-
+ cording to the mode(s) identified by mode-nr.
+ - `mode-nr' is an integer, or a comma separated list of integers, refer-
+ ring to one or several normalisation modes defined in NORMALIZATION
+ data blocks.
+
+ The CUT_OFF data block for level 0 is mandatory. There may be multiple
+ CUT_OFF data blocks, one for each level.
+
+ The LEVEL parameter is optional for level 0. All other levels are speci-
+ fied explicitly. The levels assigned to alternative cut-off values, in-
+ cluding level 0, form a contiguous integer range.
+
+ The N_SCORE and MODE parameters are either both present or both absent.
+ If present, they contain the same number of elements.
+
+ Example:
+
+ MA /CUT_OFF: LEVEL=0; SCORE=237; N_SCORE=7.5; MODE=1;
+
+ Notes:
+
+ - Cut-off values in raw score units may be used by programs which do not
+ support a given normalisation mode.
+ - The list of supported normalisation functions constitutes a dynamic
+ feature of the format. New functions may be added in the future.
+ Suggestions are welcome.
+
+
+ 3.2.5) The DEFAULT data block
+
+ The DEFAULT data block redefines defaults for position-specific profile
+ parameters and has the following format:
+
+ /DEFAULT: [ SY_I=char1; SY_M=char2; parameters; ]
+
+ where:
+
+ - `char1' is a quoted character representing a profile insert position in
+ a profile-sequence alignment.
+ - `char2' is a quoted character representing a profile match position in
+ a profile-sequence alignment.
+
+
+<PAGE>
+
+
+ - `parameters' is a list of parameter specifications defining default
+ values for one or several of the profile scores listed in the tables at
+ the end of this Section.
+
+ DEFAULT data blocks are optional. There may be multiple DEFAULT data
+ blocks per profile.
+
+ Implicit defaults:
+
+ - SY_I='-'; SY_M='X';
+
+ Example:
+
+ MA /DEFAULT: B0= *; B1= *; E0= *; E1= *;
+
+ Notes:
+
+ - The first DEFAULT data block redefines the implicit defaults given in
+ the tables at the end of this Section. Subsequent DEFAULT data blocks
+ consecutively redefine each other.
+ - Asterisk represents low-value in the example; see next Subsection.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<PAGE>
+
+
+
+ 3.2.6) The I and M data blocks
+
+ The I and M data blocks contain position-specific profile scores for in-
+ sert and match positions. They have the following formats:
+
+ /I: [ SY=char1; parameters; ]
+ /M: [ SY=char2; parameters; ]
+
+ where:
+
+ - `char1' is a quoted character representing the corresponding profile
+ insert position in a profile-sequence alignment.
+ - `char2' is a quoted character representing the corresponding profile
+ match position in a profile-sequence alignment.
+ - `parameters' is a list of parameter specifications assigning values to
+ one or several of the position-specific profile scores listed in the
+ tables at the end of this Section.
+
+ The profile scores specified in I and M data blocks overwrite the current
+ default values set by a preceding DEFAULT data block or initialised as
+ shown in the tables at the end of this Section.
+
+ The values assigned to profile scores may be integers, reals, or low-value
+ represented by an asterisk. Most profile scores are assigned one value.
+ The exceptions are the residue-specific insert and match extension scores.
+ These scores can either be assigned one value or a comma separated list of
+ values, one for each character of the alphabet. The correspondence between
+ scores and characters is defined by the order in which the alphabet is
+ presented in the GENERAL_SPEC data block. A single value is equivalent to
+ a list of identical values.
+
+ Each I data block characterises one insert position of the profile. Each
+ M data block characterises one match position of the profile. The physi-
+ cal order of the M and I data blocks defines the logical order of the
+ corresponding profile positions. Default match and insert positions are
+ not always specified explicitly. This requires further explanation.
+ Remember that a profile consists of an alternating sequence of insert and
+ match positions, and that a linear profile starts and ends with an insert
+ position. Default I or M data block are implied wherever the physical
+ order of I and M data blocks does not conform to these rules.
+
+ Example:
+
+ MA /I: B0= 0; B1= 0; /M: M= 11, 3, 3, 4;
+
+ In case the above line describes a complete linear profile, a default in-
+ sert position is implied at the end. In case it describes a circular pro-
+ file, no additional profile position is implied.
+
+ Notes:
+
+ - There has been some debate (and no decision so far) whether profile
+ scores should be required to be integers. In PROSITE, all profile
+ scores are represented as integers and existing software supporting
+ this format actually requires integer representation. Integer represen-
+ tation has thus become a `de facto' standard.
+ - A linear normalisation function implicitly defines an integer to real
+ conversion of profile scores; see protein example in Section 4.
+
+
+
+<PAGE>
+
+
+
+
+ Profile scores of insert positions and implicit defaults:
+
+ Name Default Parameter description
+ --------------------------------------------------------------------------
+ B0 B0= 0 External initiation score
+ B1 B1= 0 Internal initiation score
+ E0 E0= 0 External termination score
+ E1 E1= 0 Internal termination score
+
+ BM BM= 0 State transition score from state B to M
+ BI BI= * State transition score form state B to I
+ BD BD= * State transition score from state B to D
+ BE BE= * State transition score from state B to E
+ MM MM= 0 State transition score from state M to M
+ MI MI= * State transition score from state M to I
+ MD MD= * State transition score from state M to D
+ ME ME= 0 State transition score from state M to E
+ IM IM= * State transition score from state I to M
+ II II= 0 State transition score from state I to I
+ ID ID= * State transition score from state I to D
+ IE IE= * State transition score from state I to E
+ DM DM= * State transition score from state D to M
+ DI DI= * State transition score from state D to I
+ DD DD= 0 State transition score from state D to D
+ DE DE= * State transition score from state D to E
+
+ I I = 0 Insert extension score(s) for characters included in the
+ alphabet
+ I0 I0= 0 Insert extension score for a character not included in the
+ alphabet
+ --------------------------------------------------------------------------
+
+
+
+
+
+
+ Profile parameters of match positions and implicit defaults:
+
+ Name Default Parameter description
+ --------------------------------------------------------------------------
+ M M = 0 Match extension score(s) for characters included in the
+ alphabet
+ M0 M0= 0 Match extension score for a character not included in the
+ alphabet
+ D D = 0 Deletion extension score
+ --------------------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+<PAGE>
+
+
+ 4) EXAMPLES
+
+
+ 4.1) E. coli promoters
+
+ The profile shown below describes the major class of E. coli promoters
+ recognised by RNA polymerase-sigma factor 70. It is based on work pub-
+ lished in [4] and emulates the functionality of the promoter search pro-
+ gram TARGSEARCH.
+
+
+MA /GENERAL_SPEC: ALPHABET='ACGT';
+MA /DISJOINT: DEFINITION=PROTECT; N1=37; N2=42;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=-90.558; R2=0.57225;
+MA TEXT='Homology Score';
+MA /NORMALIZATION: MODE=2; FUNCTION=LINEAR; R1=-10.198; R2=0.06215;
+MA TEXT='Log KBk2';
+MA /CUT_OFF: LEVEL=0; SCORE=237; N_SCORE=45.0; MODE=1;
+MA /DEFAULT: B0=*; B1=*; E0=*; E1=*;
+MA /I: B0= 0; B1= 0;
+MA /M: M= 11, 3, 3, 4;
+MA /M: M= 8, 4, 2, 7;
+MA /M: M= 8, 2, 4, 7;
+MA /M: M= 7, 4, 2, 8;
+MA /M: M= 8, 4, 4, 5;
+MA /M: M= 7, 3, 5, 6;
+MA /M: M= 3, 5, 5, 8;
+MA /M: M= 5, 2, 5, 9;
+MA /M: M= 5, 8, 5, 3;
+MA /M: M= 0, 1, 2,17; SY='T';
+MA /M: M= 1, 1, 1,18; SY='T';
+MA /M: M= 0, 2,17, 2; SY='G';
+MA /M: M= 14, 3, 1, 4; SY='A';
+MA /M: M= 5,11, 2, 5; SY='C';
+MA /M: M= 9, 2, 3, 7; SY='A';
+MA /M: M= 5, 5, 3, 9;
+MA /M:/M:/M:/M:/M:/M:/M:/M:/M:
+MA /I: MD=0; MM=1;/I: DM=1;/I: DM=1;/I: DM=6;/I: DM=14;/I: DM=6;/I: DM=1;
+MA /M: M= 4, 5, 2,10;
+MA /M: M= 5, 4, 5, 6;
+MA /M: M= 3, 5, 5, 8;
+MA /M: M= 4, 4, 8, 5;
+MA /M: M= 4, 5, 7, 6;
+MA /M: M= 0, 2, 2,17; SY='T';
+MA /M: M= 20, 0, 0, 1; SY='A';
+MA /M: M= 5, 3, 3, 9; SY='T';
+MA /M: M= 12, 3, 3, 3; SY='A';
+MA /M: M= 11, 4, 3, 4; SY='A';
+MA /M: M= 0, 1, 0,20; SY='T';
+MA /M: M= 7, 2, 6, 6;
+MA /M: M= 4, 7, 5, 5;
+MA /M: M= 6, 6, 6, 4;
+MA /I: E0=0; E1= 0;
+
+
+
+
+
+
+
+
+
+<PAGE>
+
+
+ The profile is substructured into four operationally distinct modules
+ totaling 45 match positions.
+
+ Position Module
+ --------------------------------------------------------------------------
+ 1-16 Weight matrix for the -35 region including the core hexamer box
+ TTGACA at pos. 10-15.
+ 17-25 Fixed length linker module encoded by 9 dummy match positions.
+ This module is defined on the first of the two indented MA
+ lines.
+ 26-31 Variable length linker scoring module encoded by 7 consecutive
+ insert positions. This module is defined on the second of two
+ indented MA lines.
+ 32 -45 Weight matrix for the -10 region including the core hexamer box
+ TATAAT at pos. 37-42.
+ --------------------------------------------------------------------------
+
+ The variable length linker scoring module defines the following scoring
+ scheme.
+
+ # of bp between core score
+ hexamers boxes
+
+ 15 1
+ 16 6
+ 17 14
+ 18 6
+ 19 1
+ 20 1
+ 21 1
+
+ These scores are achieved as follows. Format-proprietary default values
+ for state transition scores (not over-written by local defaults) make sure
+ that deletions and insertions can only occur at positions where
+ corresponding scores are explicitly specified. Insertion gaps are thus
+ generally forbidden. A deletion gap can only be opened at the beginning
+ of the linker length scoring module and must be closed within or at the
+ end of this module. A promoter with the maximal linker length of 21 can be
+ aligned without gap to the profile. In this case, the linker length score
+ is provided by MM=1 at insert position 25. Promoters with linker lengths
+ 15 to 20 require a deletion gap in their alignment to the profile. The
+ corresponding scores are provided by DM=1, 1, 6, 14, 6, 1 at insert posi-
+ tions 26, 27, 28, 29, 30, 31, respectively.
+
+ Notes:
+
+ - The default low-values assigned to parameters B0, B1, E0, E1, together
+ with the exceptions B0, B1 = 0 at the beginning and E0, E1 = 0 at the
+ end of the profile, define a global alignment algorithm with endgap
+ weighting in the profile but not in the sequence.
+ - Two normalisation modes are defined in this profile. The names of the
+ corresponding scores, `Homology score' and `log KBk2', are taken from
+ the original publication. The parameters of the second normalisation
+ function were derived by a linear regression analysis between homology
+ scores and enzyme selectivities (defined as log KBk2) of 31 transcrip-
+ tionally assayed promoters.
+ - The cut-off homology score of 45 has been proposed by the authors as
+ lower limit for effective promoters.
+
+
+
+
+<PAGE>
+
+
+ - The disjointness definition protecting only the TATAAT box region from
+ sequence overlap, is motivated by a known promoter example where two
+ adjacent TATAAT boxes direct transcription from two distinct initiation
+ sites six bp apart from each other.
+ - This profile is not supposed to represent the most accurate E. coli
+ promoter prediction method available today. It primarily serves to il-
+ lustrate that the proposed syntax is flexible enough to express the
+ functionality of a specialised search algorithm developed for a partic-
+ ular object.
+
+
+ 4.2) Src homology domain SH3
+
+ The profile shown on the next page describes the Src homology domain SH3
+ as defined by sequence similarity. It has been constructed by a recently
+ described extension of Gribskov's method incorporating several improve-
+ ments [8].
+
+ The SH3 profile consists of three homology blocks separated by two gap re-
+ gions. Within the homology blocks, small insertions and deletions are not
+ totally forbidden but strongly impeded by high gap costs defined in the
+ DEFAULT data block: MI=-26, I=-3, MD=-26, D=-3. These numbers are over-
+ written by more permissive values in the two gap regions.
+
+ Notes:
+
+ - The SH3 profile uses only features which are compatible with Gribskov's
+ methodology. As a consequence, it can be automatically reformatted for
+ use with the existing profile alignment programs implemented in the GCG
+ package.
+ - The second normalisation mode defines a real number conversion of the
+ integer profile scores.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<PAGE>
+
+
+MA /GENERAL_SPEC: ALPHABET='ACDEFGHIKLMNPQRSTVWY';
+MA /DISJOINT: DEFINITION=PROTECT; N1=1; N2=53;
+MA /NORMALIZATION: MODE=1; FUNCTION=GLE_ZSCORE; R1=44.55; R2=-0.0035;
+MA R3=0.7386; R4=1.001; R5=0.208; TEXT='ZScore';
+MA /NORMALIZATION: MODE=2; FUNCTION=LINEAR; R1=0.0; R2=0.1;
+MA TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=90; N_SCORE=7.0; MODE=1;
+MA /DEFAULT: MI=-26; I=-3; IM=0; MD=-26; D=-3; DM=0;
+MA /M: SY='F';M=-2,-3,-3,-4,2,-3,-2,1,-2,0,-1,-2,-3,-3,-4,-2,-1,0,-5,2;
+MA /M: SY='I';M=-1,-5,-2,-3,-2,-3,0,1,1,-1,1,-1,-2,-1,1,-1,0,1,-4,-4;
+MA /M: SY='A';M=2,-3,1,0,-5,2,-2,-1,-1,-3,-2,1,1,0,-2,2,2,0,-8,-5;
+MA /M: SY='L';M=-3,-8,-5,-4,2,-6,-2,2,-4,6,4,-3,-3,-2,-3,-3,-2,1,-3,0;
+MA /M: SY='Y';M=-4,-2,-6,-6,9,-7,0,-1,-5,-1,-3,-3,-6,-5,-6,-4,-4,-4,-1,11;
+MA /M: SY='D';M=1,-6,3,3,-7,0,0,-2,-1,-4,-3,2,0,1,-2,0,0,-2,-9,-6;
+MA /M: SY='Y';M=-5,-3,-6,-6,10,-7,-1,-1,-2,-1,-2,-3,-6,-5,-5,-4,-4,-4,-1,11;
+MA /M: SY='K';M=-1,-6,1,1,-4,-2,0,-2,2,-3,-1,1,-1,1,1,0,0,-3,-7,-6;
+MA /M: SY='A';M=1,-4,1,0,-5,1,-1,-1,0,-3,-1,1,0,0,0,1,1,-1,-7,-6;
+MA /M: SY='R';M=0,-5,0,0,-5,-1,0,-1,1,-3,-1,1,0,1,1,0,0,-2,-5,-5;
+MA /M: SY='R';M=0,-5,1,1,-6,0,1,-2,1,-4,-2,1,0,1,2,1,0,-2,-5,-5;
+MA /M: SY='E';M=1,-6,2,2,-6,0,0,-2,-1,-4,-2,1,1,1,-1,0,0,-3,-8,-6;
+MA /M: SY='D';M=0,-6,2,2,-6,0,1,-3,0,-5,-3,2,-1,2,-1,0,0,-4,-7,-4;
+MA /M: SY='D';M=0,-8,4,3,-6,0,0,-2,-1,-3,-2,2,-2,2,-2,0,-1,-3,-9,-6;
+MA /M: SY='L';M=-2,-8,-5,-5,2,-5,-3,3,-4,7,5,-4,-3,-3,-4,-3,-2,3,-4,-2;
+MA /M: SY='S';M=1,-4,1,1,-5,1,0,-2,1,-4,-2,1,0,0,0,1,1,-2,-6,-5;
+MA /M: SY='F';M=-3,-7,-6,-6,6,-5,-3,3,-2,5,3,-4,-5,-4,-5,-4,-3,1,-3,3;
+MA /M: SY='Q';M=-1,-6,0,0,-3,-2,1,-1,1,-2,0,0,-1,1,1,-1,0,-1,-6,-4;
+MA /M: SY='K';M=-1,-8,0,1,-3,-2,0,-2,3,-3,0,1,0,2,2,0,0,-3,-6,-6;
+MA /M: SY='G';M=2,-5,1,0,-7,7,-3,-4,-2,-6,-4,1,-1,-2,-4,2,0,-2,-10,-8;
+MA /M: SY='D';M=1,-7,5,4,-8,1,1,-3,0,-5,-3,2,-1,2,-2,0,0,-4,-10,-6;
+MA /M: SY='I';M=0,-5,-1,-2,-2,-2,-1,2,0,0,1,-1,-2,0,0,-1,0,1,-6,-5;
+MA /M: SY='L';M=-2,-6,-5,-5,3,-5,-3,4,-3,6,4,-4,-4,-3,-4,-3,-2,3,-5,0;
+MA /M: SY='Q';M=-1,-5,-1,-1,-3,-2,0,0,0,-2,-1,0,-1,0,0,-1,0,-1,-6,-3;
+MA /M: SY='V';M=0,-4,-3,-4,-1,-3,-3,5,-3,3,3,-2,-2,-2,-3,-2,0,5,-8,-4;
+MA /M: SY='L';M=-1,-6,-3,-3,-1,-3,-2,2,-3,3,2,-2,-2,-2,-3,-2,-1,2,-5,-3;
+MA /M: SY='D';M=0,-6,3,3,-6,0,1,-3,2,-5,-2,2,-1,2,1,0,0,-4,-7,-5;
+MA /M: SY='K';M=-1,-6,0,0,-2,-1,0,-3,3,-4,-1,1,-1,0,1,0,0,-3,-6,-4;
+MA /M: SY='N';M=1,-4,1,1,-5,0,0,-2,0,-3,-2,1,1,0,-1,1,1,-1,-7,-5;
+MA /I: MI=0; I=-1; MD=0; /M: SY='X'; M=0; D=-1;
+MA /M: SY='G';M=1,-5,0,0,-5,1,-2,-1,-2,-3,-2,0,0,-1,-2,0,0,-1,-8,-6;
+MA /M: SY='G';M=1,-6,3,3,-7,3,0,-4,-1,-5,-4,2,-1,1,-2,1,0,-3,-10,-6;
+MA /M: SY='W';M=-9,-12,-9,-11,1,-11,-4,-8,-5,-3,-6,-6,-8,-7,3,-4,-8,-9,26,0;
+MA /M: SY='W';M=-7,-9,-9,-9,0,-9,-4,-5,-5,-1,-4,-6,-7,-6,2,-3,-6,-6,18,-1;
+MA /M: SY='K';M=-1,-7,0,0,-3,-2,0,-2,2,-3,-1,1,-1,1,2,0,-1,-3,-5,-5;
+MA /M: SY='G';M=2,-3,0,-1,-6,3,-3,-2,-3,-4,-3,0,0,-2,-3,1,0,0,-10,-6;
+MA /M: SY='Q';M=-2,-6,0,0,-3,-3,1,-2,0,-2,-1,0,-2,1,1,-1,-1,-3,-5,-3;
+MA /I: MI=0; I=-2; MD=0; /M: SY='X'; M=0; D=-2;
+MA /M: SY='T';M=0,-4,-1,-1,-4,0,-2,0,-1,-2,0,0,-1,-1,-1,0,1,0,-7,-5;
+MA /M: SY='T';M=0,-5,0,0,-3,-1,-1,-1,1,-3,-1,1,-1,0,0,1,1,-1,-6,-4;
+MA /M: SY='G';M=0,-5,0,-1,-5,3,-2,-3,-1,-5,-3,0,-1,-1,-1,1,0,-2,-7,-6;
+MA /M: SY='K';M=0,-6,1,1,-5,-1,1,-2,2,-4,-1,1,-1,2,2,0,0,-3,-6,-6;
+MA /M: SY='R';M=-1,-6,-1,-1,-5,-3,1,-1,1,-3,-1,0,-1,1,3,-1,-1,-2,-2,-6;
+MA /M: SY='G';M=1,-5,0,0,-6,6,-3,-3,-3,-5,-4,0,-1,-2,-4,1,0,-2,-10,-6;
+MA /M: SY='W';M=-5,-5,-5,-5,2,-6,-2,-2,-4,-1,-3,-3,-6,-5,-3,-3,-4,-4,4,3;
+MA /M: SY='F';M=-3,-5,-6,-6,6,-5,-3,4,-1,3,2,-4,-4,-5,-4,-3,-2,2,-4,3;
+MA /M: SY='P';M=2,-4,-1,-1,-7,-1,0,-3,-2,-4,-3,-1,8,0,0,1,0,-2,-8,-7;
+MA /M: SY='G';M=1,-3,0,0,-4,2,-1,-2,0,-3,-2,0,0,-1,-1,1,1,-1,-6,-5;
+MA /M: SY='N';M=1,-5,2,1,-5,0,1,-2,1,-4,-2,2,0,0,0,1,1,-2,-7,-4;
+MA /M: SY='Y';M=-5,-1,-7,-7,10,-8,-1,-1,-5,-1,-3,-3,-7,-6,-6,-4,-4,-5,0,13;
+MA /M: SY='V';M=0,-3,-3,-5,-2,-2,-3,5,-3,2,2,-2,-2,-3,-4,-1,0,5,-8,-5;
+MA /M: SY='E';M=1,-6,2,3,-6,0,0,-2,1,-4,-2,1,0,2,0,0,0,-3,-8,-6;
+MA /M: SY='P';M=0,-5,-1,-1,-2,-2,-1,-2,-1,-3,-2,0,1,-1,-2,0,-1,-2,-6,-3;
+
+<PAGE>
+
+
+ Acknowledgements:
+
+ I thank Roland Luethy, Michael Gribskov, Stephen Altschul, David Haussler,
+ Sean Eddy, Kevin Karplus, and Ewan Birney for valuable comments and dis-
+ cussions. The text file format described in Section 3 has been designed
+ in collaboration with Amos Bairoch. Ioannis Xenarios has contributed the
+ SH3 profile shown with minor modifications in Section 4.
+
+
+
+
+
+ REFERENCES
+
+
+ 1 Gribskov M., Luethy R., Eisenberg D.
+ Profile analysis.
+ Meth. Enzymol. 183:146-159(1990).
+
+ 2 Staden R.
+ Searching for patterns in protein and nucleic acid sequences.
+ Meth. Enzymol. 183:193-211(1990).
+
+ 3 Barton G.J., Sternberg M.J.E.
+ Flexible protein sequence patterns: a sensitive method to detect weak
+ structural similarities.
+ J. Mol. Biol. 212:389-402(1990).
+
+ 4 Mulligan M.E., Hawley D.K., Entriken R., McClure W.R.
+ Escherichia coli promoter sequences predict in vitro RNA polymerase
+ selectivity.
+ Nucleic Acids Res. 12:789-800(1984).
+
+ 5 Krogh A., Brown M., Mian I.S., Sjoelander K., Haussler D.
+ Hidden Markov models in computational biology.
+ J. Mol. Biol. 235:1501-1531(1994).
+
+ 6 Waterman M.S., Eggert M.
+ A new algorithm for best subsequence alignments with application to
+ tRNA-rRNA comparisons.
+ J. Mol. Biol. 197:723-728(1987).
+
+ 7 Huang X., Miller W.
+ A time-efficient, linear-space local similarity algorithm.
+ Adv. Appl. Math. 12:337-357(1991).
+
+ 8 Luethy R., Xenarios I., Bucher P.
+ Improving the sensitivity of the sequence profile method.
+ Protein Sci. 3:139-146(1994).
+
+ 9 Bucher P., Karplus K., Moeri, N., Hofmann, K.
+ A flexible search technique based on generalized profiles.
+ Comput. Chem. 20:3-24(1996).
+
+ 10 Eddy S.R.
+ Hidden Markov models.
+ Curr. Opin. in Struct. Biol. 6:361-365(1996).
+
+
+
+
+
+<PAGE>
+
+
+ APPENDIX A): DISJOINTNESS DEFINITIONS
+
+ The following notions of disjointness of two alignments between the same
+ profile and the same sequence are currently defined:
+
+ Name Parameters Description
+ --------------------------------------------------------------------------
+ UNIQUE Multiple profile-sequence alignment between the same
+ profile and the same sequence are not permitted. The
+ result of a profile search consists of a single best
+ alignment.
+
+ PROTECT N1 (int) Two profile-sequence alignments are disjoint if the
+ N2 (int) two sequence segments associated with the `protected'
+ profile area do not overlap. The protected profile
+ area extends from match position N1 to match position
+ N2 inclusive.
+ --------------------------------------------------------------------------
+
+
+ APPENDIX B): NORMALIZATION FUNCTIONS
+
+ The following score normalisation functions are currently defined.
+
+ Name Parameters Formula (X = raw score, Y= normalised score)
+ --------------------------------------------------------------------------
+ LINEAR R1 (real) Y = R1 + R2 * X
+ R2 (real)
+
+ GLE_ZSCORE R1 (real) X/[R1*(1.0-exp(R2*SeqLen-R3))]-R4
+ R2 (real) Y = ---------------------------------
+ R3 (real) R5
+ R4 (real)
+ R5 (real)
+ --------------------------------------------------------------------------
+
+ Sequence-dependent variables:
+
+ - SeqLen (integer) is the length of the sequence.
+
+ Notes:
+
+ - The score normalisation function named GLE_ZSCORE has been described by
+ Gribskov, Luethy, and Eisenberg in [1].
+
+
+ APPENDIX C): FREQUENTLY USED LOGARITHMIC BASES
+
+ Logarithmic base Name of units Used e.g. in:
+ --------------------------------------------------------------------------
+ 10.000000000 Log10 units PROSITE profile -log P-values
+ 2.718281828 nats SAM HMM log-odds scores
+ 2.000000000 bits BLAST, HMMER HMM log-odds scores
+ 1.414213562 1/2 bit units BLAST blosum62 matrix
+ 1.259921050 1/3 bit units BLAST blosum45, pam250 matrices
+ 1.258925412 1/10 Log10 units Dayhoff MDM78 matrix
+ 1.189207115 1/4 bit units BLAST blosum35, blosum40 matrices
+ 1.148698355 1/5 bit units BLAST blosum30 matrix
+ 1.000693387 1/1000 bit units HMMER integer arithmetics
+ 1.023292992 1/100 Log10 units Bowie 3D-profile
+ --------------------------------------------------------------------------
diff --git a/prosite13.prf b/prosite13.prf
new file mode 100644
index 0000000..6c3c1ce
--- /dev/null
+++ b/prosite13.prf
@@ -0,0 +1,3061 @@
+ID DEATH_DOMAIN; MATRIX.
+AC PS50017;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Death domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=85; TOPOLOGY=LINEAR;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=80;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.6073; R2=0.0231; TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=340; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: B1=-50; E1=-50; MI=-105; MD=-105; IM=-105; DM=-105; I=-20; D=-20;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='P'; M=-2,-9,-23,-9,-1,-18,-16,-13,-12,-4,-13,-9,-5,6,-3,-3,2,1,-11,-28,-16,-4;
+MA /M: SY='E'; M=-2,-5,-16,-3,7,-18,-16,-13,-13,-2,-4,-7,-10,-15,-4,-7,-8,-8,-9,-26,-14,2;
+MA /M: SY='Y'; M=-3,-11,-22,-13,-1,-4,-20,-7,-5,-3,-6,0,-9,-16,-4,-4,-4,-3,-4,-16,4,-4;
+MA /M: SY='V'; M=-4,-16,-23,-18,-13,-10,-24,-16,6,-7,6,4,-14,-21,-8,1,-12,-7,7,-23,-8,-12;
+MA /M: SY='Y'; M=-13,-17,-26,-18,-7,4,-25,-2,-1,-13,5,6,-16,-15,-2,-11,-15,-8,-8,-5,11,-5;
+MA /M: SY='A'; M=5,-6,-21,-8,-1,-17,-15,-10,-11,-1,-3,-4,-5,-16,2,0,-4,-4,-9,-23,-12,0;
+MA /M: SY='V'; M=-8,-6,-10,-8,-16,-9,-24,-17,6,-16,0,-2,-7,-23,-17,-17,-7,1,11,-29,-8,-17;
+MA /M: SY='I'; M=4,-24,-20,-29,-21,2,-24,-23,15,-20,8,7,-21,-11,-20,-21,-11,-6,15,-20,-6,-22;
+MA /M: SY='E'; M=0,-1,-10,0,3,-23,-10,-4,-23,-6,-18,-15,-1,-5,-4,-6,0,-7,-18,-30,-18,-2;
+MA /I: MD=-30;
+MA /M: SY='D'; D=-5; M=-9,12,-23,14,4,-23,-3,-7,-23,1,-19,-15,10,-15,-3,-1,2,-3,-17,-30,-17,0;
+MA /I: MI=-30; MD=-30; IM=-30; DM=-30; I=-10;
+MA /M: SY='H'; D=-5; M=-8,-3,-23,-3,-3,-18,-12,10,-12,-6,-14,0,-1,-6,-3,-8,-2,-6,-9,-29,-9,-4;
+MA /I: MD=-30; DM=-30;
+MA /M: SY='L'; D=-5; M=2,-19,-18,-21,-14,-7,-21,-21,6,-15,7,2,-18,-6,-15,-16,-7,1,7,-25,-11,-15;
+MA /I: DM=-30;
+MA /M: SY='G'; M=-2,-14,-29,-14,-14,-21,23,-13,-19,-19,-13,-10,-8,-5,-15,-19,-7,-15,-18,-22,-20,-16;
+MA /M: SY='A'; M=1,-3,-14,-2,1,-15,-15,-12,-14,-6,-7,-8,-5,-15,-3,-9,0,-1,-10,-27,-13,-1;
+MA /M: SY='D'; M=-11,15,-24,22,10,-28,-14,-5,-25,5,-23,-17,6,-12,6,5,5,0,-17,-32,-15,7;
+MA /M: SY='W'; M=-12,-37,-44,-38,-28,7,-19,-29,-16,-19,-17,-17,-37,-28,-20,-20,-33,-25,-23,124,23,-20;
+MA /M: SY='R'; M=-7,-6,-20,-8,1,-24,-19,-10,-25,21,-22,-11,-4,-4,6,23,-4,-2,-17,-24,-14,2;
+MA /M: SY='E'; M=-10,-5,-28,-3,13,-22,-12,-2,-19,6,-10,-6,-5,-13,9,7,-9,-12,-19,-23,-11,10;
+MA /M: SY='L'; M=-12,-30,-19,-33,-23,29,-30,-21,15,-29,36,14,-27,-30,-26,-20,-26,-9,10,-12,8,-23;
+MA /M: SY='A'; M=31,-13,-15,-20,-13,-18,2,-19,-7,-12,-9,-3,-12,-9,-12,-19,3,-4,1,-21,-19,-13;
+MA /M: SY='R'; M=-14,-6,-28,-7,0,-21,-11,-4,-26,18,-20,-9,1,-13,5,39,-6,-6,-20,-23,-13,-1;
+MA /M: SY='E'; M=-2,-1,-24,-1,17,-17,-17,-5,-18,5,-14,-10,-2,-11,8,1,-1,-6,-16,-22,-9,12;
+MA /M: SY='L'; M=-10,-20,-20,-23,-18,4,-25,-10,14,-23,32,18,-17,-27,-15,-16,-22,-9,7,-23,-2,-17;
+MA /M: SY='G'; M=-7,2,-29,2,2,-30,20,-2,-32,1,-27,-15,6,-15,3,-3,-1,-14,-28,-24,-19,3;
+MA /M: SY='F'; M=-12,-27,-21,-30,-24,21,-30,-15,15,-20,18,11,-23,-28,-22,-13,-20,-8,14,-9,15,-23;
+MA /M: SY='S'; M=-4,1,-24,2,4,-22,-7,-7,-23,1,-26,-16,3,3,2,-5,10,2,-20,-28,-13,2;
+MA /M: SY='E'; M=-13,4,-20,12,18,-25,-20,-1,-23,-1,-19,-15,-3,-1,4,-4,-5,-10,-19,-29,-12,9;
+MA /M: SY='H'; M=-5,1,-24,4,6,-18,-12,7,-21,-3,-13,-11,0,-15,0,0,-1,-5,-17,-25,-6,2;
+MA /M: SY='E'; M=-8,6,-27,11,19,-26,-18,0,-22,9,-15,-11,-1,-11,10,1,-5,-9,-18,-27,-12,15;
+MA /M: SY='I'; M=-6,-27,-27,-35,-26,-3,-36,-27,40,-26,17,17,-20,-20,-16,-26,-17,-9,25,-21,-2,-24;
+MA /M: SY='D'; M=-16,21,-28,28,17,-25,-15,3,-31,7,-24,-19,13,-13,7,8,-3,-9,-26,-30,-13,11;
+MA /M: SY='E'; M=-12,-2,-22,1,13,-17,-19,4,-22,4,-16,-10,-1,-15,13,10,-2,-7,-21,-23,-6,11;
+MA /M: SY='I'; M=-7,-25,-25,-32,-24,5,-31,-24,28,-26,17,11,-18,-16,-20,-24,-18,-8,16,-19,-2,-24;
+MA /M: SY='E'; M=-4,0,-23,0,18,-22,-16,-6,-22,10,-18,-11,0,-9,7,12,4,3,-16,-27,-15,12;
+MA /M: SY='H'; M=-10,-6,-14,-10,-10,-7,-20,5,-6,-13,-3,0,-2,-21,-6,-8,-5,-1,-5,-28,-4,-9;
+MA /M: SY='E'; M=-13,17,-29,22,25,-32,-15,2,-28,7,-24,-17,12,-4,18,6,0,-9,-29,-31,-17,21;
+MA /I: MD=-20;
+MA /M: SY='N'; D=-3; M=-5,9,-16,2,-4,-7,-3,1,-15,-2,-19,-12,18,-15,-3,-3,8,1,-16,-20,-3,-4;
+MA /I: MD=-15;
+MA /M: SY='P'; D=-3; M=-3,-14,-24,-11,-4,-17,-6,-14,-8,-11,-8,-6,-12,16,-6,-14,-7,-8,-11,-20,-16,-7;
+MA /I: MD=-10;
+MA /M: SY='R'; D=-3; M=-5,0,-18,-3,1,-16,-8,-1,-14,5,-12,-6,5,-7,9,14,-2,-5,-15,-17,-10,3;
+MA /I: MI=0; MD=-10; IM=0; DM=-10; I=-5;
+MA /M: SY='D'; D=-3; M=-6,10,3,12,-2,-14,-3,-7,-20,-8,-17,-15,6,-13,-7,-10,4,-3,-14,-25,-13,-4;
+MA /I: DM=-15;
+MA /M: SY='L'; D=-3; M=-3,-12,-15,-13,-11,-3,-12,-14,2,-17,16,6,-13,-18,-12,-14,-9,0,1,-19,-6,-11;
+MA /I: DM=-20;
+MA /M: SY='R'; M=1,-13,-16,-15,-7,-16,-14,-13,-13,-2,-11,-8,-11,-8,-5,2,-5,-5,-9,-21,-10,-8;
+MA /M: SY='E'; M=-6,9,-16,14,27,-27,-14,-4,-26,3,-22,-16,3,-8,11,-4,8,-3,-22,-33,-19,19;
+MA /M: SY='Q'; M=1,-7,-28,-6,9,-31,-16,-5,-19,3,-20,-9,-7,14,21,2,-1,-8,-23,-23,-18,14;
+MA /M: SY='S'; M=6,-7,-9,-10,-5,-19,-14,-10,-13,-2,-15,-8,-4,-15,-1,-6,9,6,-4,-29,-13,-3;
+MA /M: SY='R'; M=-12,-11,-23,-15,-11,0,-22,-1,-7,1,-9,-1,-5,-21,-5,8,-7,-4,-4,-15,7,-9;
+MA /M: SY='Q'; M=9,-2,-20,-5,7,-22,-11,-4,-14,-3,-14,-7,-1,-11,14,-6,7,-1,-14,-24,-12,11;
+MA /M: SY='L'; M=-9,-25,-19,-28,-19,10,-26,-16,15,-24,34,22,-24,-26,-16,-17,-21,-5,8,-20,0,-17;
+MA /M: SY='L'; M=-10,-30,-20,-30,-20,10,-30,-20,20,-30,50,20,-30,-30,-20,-20,-30,-10,10,-20,0,-20;
+MA /M: SY='R'; M=-5,4,-24,3,7,-23,-15,-5,-20,10,-16,-11,4,-14,7,14,-2,-5,-16,-26,-14,5;
+MA /M: SY='A'; M=2,-12,-7,-17,-11,-12,-21,-18,1,-13,1,-2,-9,-19,-11,-12,-6,-3,0,-27,-12,-12;
+MA /M: SY='W'; M=-20,-39,-48,-40,-30,14,-21,-29,-19,-21,-18,-19,-39,-30,-21,-20,-39,-29,-28,141,30,-21;
+MA /M: SY='R'; M=-7,-13,-24,-14,-7,-12,-15,-4,-7,-4,-6,-2,-10,-20,-2,1,-7,-6,-4,-19,-1,-6;
+MA /M: SY='Q'; M=-3,3,-25,2,5,-26,-5,0,-23,1,-19,-11,4,-13,11,4,1,-3,-20,-25,-14,7;
+MA /M: SY='R'; M=-7,-8,-24,-9,-1,-18,-17,1,-18,6,-12,-6,-3,-17,10,19,0,-2,-15,-22,-5,3;
+MA /M: SY='E'; M=-9,6,-26,10,15,-22,-13,10,-25,-1,-21,-15,3,-6,4,-5,3,-1,-22,-27,-6,8;
+MA /I: MD=-10;
+MA /M: SY='G'; D=10; M=-4,-6,-21,-6,-8,-19,27,-10,-25,0,-19,-11,0,-13,-7,3,-2,-11,-18,-14,-16,-8;
+MA /I: MI=-10; MD=-10; IM=-10; DM=-10; I=-5;
+MA /M: SY='K'; D=-5; M=-7,-1,-20,0,9,-19,-10,4,-19,13,-17,-8,0,-9,6,12,-2,-7,-14,-19,-8,7;
+MA /I: DM=-10;
+MA /M: SY='N'; M=-5,10,-23,7,9,-22,-8,4,-21,1,-22,-14,15,-13,2,0,6,-1,-20,-31,-14,4;
+MA /M: SY='A'; M=23,-2,-17,-5,-2,-22,-3,-7,-17,-7,-13,-11,-4,-12,-5,-11,5,-4,-9,-24,-16,-4;
+MA /M: SY='T'; M=10,1,-12,-9,-8,-14,-13,-17,-12,-7,-13,-11,3,-11,-8,-10,17,32,-4,-29,-13,-8;
+MA /M: SY='L'; M=-8,-21,-14,-21,-18,-1,-22,-15,8,-18,12,8,-22,-21,-15,-16,-15,-6,11,-20,0,-18;
+MA /M: SY='D'; M=-8,15,-28,21,19,-33,-6,-2,-29,1,-24,-17,7,-4,14,-5,1,-8,-27,-29,-19,17;
+MA /M: SY='N'; M=0,5,-18,0,-6,-16,-13,-4,-12,-4,-13,-10,8,-17,-7,-2,3,5,-6,-30,-13,-7;
+MA /M: SY='L'; M=-9,-30,-19,-30,-21,9,-30,-21,21,-29,46,19,-30,-30,-21,-20,-28,-9,14,-21,-1,-21;
+MA /M: SY='I'; M=-6,-20,-22,-23,-21,2,-15,-19,11,-22,11,7,-18,-24,-19,-20,-14,-7,10,-18,0,-21;
+MA /M: SY='E'; M=0,-1,-23,-2,11,-24,-11,-7,-19,5,-16,-10,0,-12,10,4,2,-2,-16,-26,-15,10;
+MA /M: SY='A'; M=18,-12,-11,-16,-14,-15,-5,-20,-6,-12,-4,-5,-12,-18,-15,-17,-1,-2,4,-24,-16,-14;
+MA /M: SY='L'; M=-11,-30,-20,-31,-21,15,-30,-20,19,-30,47,19,-29,-30,-21,-20,-29,-10,9,-18,2,-21;
+MA /M: SY='R'; M=-10,-4,-20,-6,3,-20,-18,-4,-25,19,-21,-11,1,-16,6,31,-3,-3,-18,-22,-9,2;
+MA /M: SY='K'; M=-9,3,-26,5,11,-26,-18,-7,-23,23,-21,-11,1,-12,8,15,-4,-7,-16,-26,-13,9;
+MA /M: SY='I'; M=0,-19,-14,-27,-20,-5,-23,-18,18,-20,13,17,-14,-21,-13,-20,-12,-6,10,-24,-7,-18;
+MA /M: SY='N'; M=-9,17,-27,16,9,-30,10,-2,-30,1,-27,-18,19,-14,7,-3,2,-10,-29,-30,-20,8;
+MA /M: SY='R'; M=-15,-18,-18,-19,-10,-8,-24,-9,-9,3,8,4,-13,-25,-4,27,-18,-10,-7,-22,-7,-9;
+MA /M: SY='S'; M=-2,-4,-9,-6,-4,-20,-10,-5,-19,-6,-16,-10,-1,-11,-5,-2,2,-2,-14,-30,-15,-6;
+MA /M: SY='D'; M=-12,25,-26,34,10,-30,-1,-5,-31,-3,-24,-22,13,-13,-2,-6,2,-5,-24,-34,-19,3;
+MA /M: SY='I'; M=2,-24,-3,-31,-24,-5,-28,-26,19,-25,13,7,-20,-23,-20,-25,-13,-4,15,-25,-9,-24;
+MA /M: SY='V'; M=14,-22,-13,-27,-20,-4,-19,-22,13,-18,13,9,-22,-22,-19,-19,-9,-3,20,-23,-10,-19;
+MA /M: SY='E'; M=-13,13,-28,19,31,-27,-17,3,-27,10,-20,-14,6,-8,11,8,-2,-8,-25,-30,-15,20;
+MA /M: SY='E'; M=-7,0,-21,0,2,-15,-16,-9,-10,-2,-4,-3,-1,-17,-3,-5,-2,-3,-8,-29,-12,-1;
+MA /M: SY='L'; M=-9,-28,-23,-33,-24,8,-32,-23,28,-28,30,18,-24,-25,-20,-23,-21,-8,18,-20,0,-23;
+MA /M: SY='E'; M=-8,-7,-18,-6,11,-16,-22,-6,-15,2,-6,-5,-8,-15,10,1,-7,-7,-16,-21,-7,11;
+MA /M: SY='E'; M=-4,6,-24,8,9,-23,-2,-7,-25,2,-23,-17,5,-12,0,-1,6,-1,-19,-27,-14,4;
+MA /M: SY='A'; M=-1,-7,-21,-10,-6,-7,-12,-9,-6,-9,-6,-1,-4,-14,-8,-9,-3,-3,-6,-21,-5,-8;
+MA /M: SY='V'; M=-1,-14,-19,-17,-12,-9,-16,-18,5,-16,3,1,-10,-19,-10,-15,-2,2,6,-27,-11,-12;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=13(13); /POSITIVE=13(13); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=0;
+CC /TAXO-RANGE=??E??; /MAX-REPEAT=1;
+DR P16157, ANK1_HUMAN, T; Q02357, ANK1_MOUSE, T; Q01485, ANKC_HUMAN, T;
+DR P25445, FASA_HUMAN, T; P25446, FASA_MOUSE, T; Q05652, KPEL_DROME, T;
+DR P22366, MY88_MOUSE, T; P18519, NGFR_CHICK, T; P08138, NGFR_HUMAN, T;
+DR P07174, NGFR_RAT , T; P19438, TNR1_HUMAN, T; P25118, TNR1_MOUSE, T;
+DR P22934, TNR1_RAT , T;
+DO PDOC50017;
+//
+ID FHA_DOMAIN; MATRIX.
+AC PS50006;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Forkhead-associated (FHA) domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=53; TOPOLOGY=LINEAR;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=48;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.8473; R2=0.0187; TEXT='NScore';
+MA /CUT_OFF: LEVEL=1; SCORE=409; N_SCORE=8.5; MODE=1;
+MA /CUT_OFF: LEVEL=0; SCORE=329; N_SCORE=7.0; MODE=1;
+MA /DEFAULT: B1=-50; E1=-50; MI=-105; MD=-105; IM=-105; DM=-105; I=-20; D=-20;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='V'; M=-6,-26,-15,-30,-25,5,-29,-24,16,-19,7,5,-24,-26,-22,-19,-16,-6,18,-6,3,-24;
+MA /M: SY='T'; M=-8,-12,-22,-16,-11,-6,-19,-10,-6,-2,-7,-3,-6,-18,-8,3,-2,5,-2,-21,-3,-11;
+MA /M: SY='I'; M=-10,-29,-24,-35,-27,16,-30,-25,28,-29,22,13,-22,-25,-25,-24,-20,-10,19,-15,3,-27;
+MA /M: SY='G'; M=0,-10,-30,-10,-20,-30,70,-20,-40,-20,-30,-20,0,-20,-20,-20,0,-20,-30,-20,-30,-20;
+MA /M: SY='R'; M=-19,-8,-30,-8,1,-21,-20,5,-30,29,-21,-9,1,-19,10,62,-10,-11,-21,-21,-8,1;
+MA /M: SY='N'; M=-6,4,-23,-2,-6,-16,-7,1,-15,-3,-21,-12,15,-10,-3,2,4,-3,-16,-27,-9,-7;
+MA /M: SY='S'; M=3,-1,-18,-4,-2,-18,-14,-14,-12,-3,-17,-12,1,-8,-4,-5,11,11,-5,-30,-15,-4;
+MA /M: SY='D'; M=-6,16,-25,24,17,-29,-12,-7,-28,3,-26,-21,6,1,2,-6,7,1,-22,-34,-19,9;
+MA /I: MI=-12; MD=-12; IM=-12; I=-4;
+MA /M: SY='R'; D=-2; M=-6,1,-17,0,3,-16,-5,-2,-14,4,-13,-8,6,-6,6,7,1,-4,-15,-19,-11,4;
+MA /I: DM=-12;
+MA /M: SY='C'; M=-4,-20,45,-25,-23,-14,-22,-26,-9,-22,-10,-9,-18,-26,-23,-21,-6,-5,5,-38,-21,-24;
+MA /M: SY='D'; M=-18,42,-29,56,20,-38,-10,2,-36,1,-29,-26,21,-11,7,-7,1,-9,-30,-38,-19,13;
+MA /M: SY='V'; M=-5,-27,-10,-29,-25,-1,-26,-23,20,-22,15,10,-25,-28,-21,-20,-15,-6,25,-24,-5,-24;
+MA /M: SY='A'; M=2,-3,-19,-6,-7,-12,-14,-6,-10,-4,-11,-8,0,-17,-7,-3,2,0,-5,-25,-7,-8;
+MA /I: MD=-10;
+MA /M: SY='L'; D=-3; M=-2,-11,-13,-11,-6,-3,-9,-5,1,-12,11,6,-10,-14,-6,-9,-7,-4,-1,-15,-4,-6;
+MA /I: MI=0; IM=0; DM=-10; I=-5;
+MA /M: SY='L'; M=-6,-21,-17,-25,-20,3,-2,-19,-2,-23,7,4,-16,-24,-17,-19,-14,-12,-4,-17,-6,-19;
+MA /M: SY='E'; M=-10,9,-28,12,16,-27,-11,-5,-25,6,-22,-16,7,1,5,0,0,-5,-24,-30,-18,10;
+MA /M: SY='S'; M=0,5,-22,6,0,-23,-2,-5,-20,-10,-21,-16,7,-3,-4,-12,10,-1,-17,-33,-18,-3;
+MA /M: SY='P'; M=-8,-5,-29,-4,4,-26,-11,-9,-23,10,-26,-12,-2,15,3,5,-1,-6,-22,-27,-19,2;
+MA /M: SY='V'; M=-8,-11,-19,-12,-12,1,-21,-15,0,-10,-3,-3,-8,-22,-14,-4,-4,-3,6,-24,-6,-13;
+MA /M: SY='I'; M=-7,-30,-22,-35,-28,2,-35,-28,38,-27,22,17,-25,-25,-23,-25,-19,-7,33,-23,-3,-28;
+MA /M: SY='S'; M=10,0,-10,0,0,-20,0,-10,-20,-10,-30,-20,10,-10,0,-10,40,20,-10,-40,-20,0;
+MA /M: SY='R'; M=-14,-4,-27,-6,-2,-21,-8,-3,-29,20,-22,-12,6,-19,5,46,-4,-6,-21,-23,-13,-2;
+MA /M: SY='R'; M=-10,-9,-15,-14,-11,-6,-22,-10,-5,2,-9,-2,-4,-22,-7,4,-8,-4,1,-22,-4,-10;
+MA /M: SY='H'; M=-20,0,-30,0,0,-20,-20,100,-30,-10,-20,0,10,-20,10,0,-10,-20,-30,-30,20,0;
+MA /M: SY='A'; M=23,-15,21,-24,-18,-10,-9,-23,-14,-18,-9,-11,-14,-21,-19,-23,0,-5,-3,-25,-18,-18;
+MA /M: SY='Q'; M=-6,-7,-14,-8,4,-17,-21,-9,-12,-2,-10,-6,-7,-16,7,0,-5,-7,-10,-24,-11,5;
+MA /M: SY='I'; M=-10,-30,-23,-36,-28,13,-35,-26,33,-29,25,16,-24,-25,-24,-25,-21,-9,24,-17,3,-28;
+MA /M: SY='Y'; M=-11,-10,-23,-13,-5,3,-20,5,-16,-5,-11,-7,-5,-18,-4,0,-3,-1,-14,-10,6,-5;
+MA /M: SY='Y'; M=-10,-21,-6,-24,-19,8,-27,-5,-2,-15,2,0,-19,-27,-14,-14,-16,-10,-2,-3,19,-18;
+MA /M: SY='D'; M=-10,11,-26,12,6,-24,0,-1,-23,-3,-18,-14,9,-15,0,-6,-2,-7,-21,-30,-16,3;
+MA /I: MD=-10;
+MA /M: SY='P'; D=-3; M=-10,-5,-22,-6,-2,-3,-15,-3,-12,-7,-10,-6,-2,6,-5,-5,-6,-6,-15,-19,-6,-4;
+MA /I: MD=-10;
+MA /M: SY='Q'; D=-3; M=-8,0,-16,-2,0,-10,-10,2,-12,-2,-7,-3,1,-11,4,1,-2,0,-11,-16,-4,2;
+MA /I: MI=0; IM=0; DM=-10; I=-5;
+MA /M: SY='D'; M=-7,4,-23,6,5,-22,-9,-10,-18,-2,-18,-13,3,-13,0,-2,5,2,-13,-30,-16,2;
+MA /M: SY='G'; M=-7,-1,-30,-3,-4,-22,10,-11,-27,-5,-26,-17,4,0,-5,-7,-4,-12,-27,-15,-18,-5;
+MA /M: SY='R'; M=-4,-2,-24,-5,4,-20,-8,-2,-20,7,-16,-8,2,-15,1,10,-2,-6,-15,-25,-13,1;
+MA /M: SY='W'; M=-10,-28,-27,-31,-24,15,-26,-17,4,-20,1,-1,-25,-27,-19,-18,-20,-12,4,27,14,-20;
+MA /M: SY='Y'; M=-10,-10,-25,-10,-3,3,-16,3,-10,-9,-7,-6,-6,-19,-6,-9,-5,-6,-12,-10,15,-6;
+MA /M: SY='L'; M=-8,-30,-21,-33,-24,6,-33,-24,30,-28,35,18,-27,-27,-22,-23,-24,-8,22,-22,-2,-24;
+MA /M: SY='H'; M=-11,1,-27,2,11,-19,-19,14,-21,5,-18,-9,3,-14,8,8,-4,-9,-19,-26,-6,8;
+MA /M: SY='D'; M=-16,27,-14,37,8,-30,-17,-7,-23,-7,-21,-20,10,-15,-6,-14,-3,-9,-17,-38,-18,0;
+MA /I: MI=0; IM=0; I=-8;
+MA /M: SY='A'; M=-8,-14,-18,-17,-14,-8,-5,-7,-10,-10,-6,-3,-8,-20,-13,-10,-8,-8,-8,-22,-7,-14;
+MA /M: SY='S'; M=7,-3,-16,-3,-6,-23,20,-13,-26,-13,-30,-20,7,-13,-6,-13,29,9,-16,-34,-23,-6;
+MA /M: SY='T'; M=-2,-4,-17,-7,-1,-16,-15,-11,-15,2,-14,-8,-1,-13,-1,5,11,14,-8,-29,-12,-1;
+MA /M: SY='N'; M=-9,32,-20,16,1,-21,-2,13,-21,-1,-29,-18,50,-19,4,0,11,0,-28,-38,-17,2;
+MA /M: SY='G'; M=-1,-12,-29,-11,-20,-28,59,-21,-35,-19,-28,-18,-3,-15,-20,-20,-1,-18,-25,-21,-29,-20;
+MA /M: SY='T'; M=6,-5,-4,-13,-11,-11,-17,-20,-9,-12,-9,-9,-4,-13,-11,-13,16,32,1,-31,-13,-11;
+MA /M: SY='F'; M=-16,-22,-25,-26,-18,29,-28,-9,-1,-13,6,1,-18,-26,-16,-8,-18,-8,-5,7,25,-17;
+MA /M: SY='V'; M=-5,-29,-17,-32,-26,3,-31,-25,30,-24,25,18,-28,-28,-23,-21,-19,-5,32,-25,-5,-26;
+MA /M: SY='N'; M=-11,38,-21,25,5,-23,-3,7,-23,0,-29,-21,49,-17,1,-2,9,1,-29,-39,-20,3;
+MA /M: SY='G'; M=-8,2,-26,0,-10,-12,21,-1,-28,-11,-23,-16,10,-20,-12,-11,-1,-12,-24,-21,-10,-11;
+MA /M: SY='Q'; M=-5,-7,-21,-10,-3,-17,-20,-5,-6,-1,-7,-2,-3,-18,4,4,-3,-3,-3,-26,-10,0;
+MA /M: SY='R'; M=-15,-14,-27,-14,-5,-8,-22,-8,-18,15,-11,-6,-7,-16,-1,36,-11,-8,-11,-19,-7,-6;
+MA /M: SY='L'; M=-9,-24,-22,-27,-18,-1,-30,-13,20,-22,24,17,-21,-24,-10,-17,-19,-7,13,-22,-2,-15;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=15(14); /POSITIVE=15(14); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=0;
+CC /TAXO_RANGE=??EP?; /MAX-REPEAT=2;
+DR Q09170, CDS1_SCHPO, T; P39009, DUN1_YEAST, T; P39521, FHL1_YEAST, T;
+DR P40466, FKH1_YEAST, T; P41813, FKH2_YEAST, T; P46017, FRAH_ANASP, T;
+DR P46014, KAPP_ARATH, T; P46013, KI67_HUMAN, T; P24719, MEK1_YEAST, T;
+DR P42128, MNF_MOUSE , T; P22216, SPK1_YEAST, T; P38823, YHR5_YEAST, T;
+DR P46012, YKI5_CAEEL, T; P34648, YOT2_CAEEL, T;
+DO PDOC50006;
+//
+ID C2_DOMAIN_2; MATRIX.
+AC PS50004;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE C2-domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=106; TOPOLOGY=LINEAR;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=104;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.2888; R2=0.0148; TEXT='NScore';
+MA /CUT_OFF: LEVEL=1; SCORE=555; N_SCORE=8.5; MODE=1;
+MA /CUT_OFF: LEVEL=0; SCORE=453; N_SCORE=7.0; MODE=1;
+MA /CUT_OFF: LEVEL=-1; SCORE=420; N_SCORE=6.5; MODE=1;
+MA /DEFAULT: B1=-70; E1=-50; MI=-105; MD=-105; IM=-105; DM=-105; I=-70; D=-20;
+MA /I: B1=0; BI=-105;
+MA /M: SY='D'; M=-18,46,-29,60,21,-37,-10,1,-37,1,-29,-28,23,-10,2,-8,1,-9,-30,-39,-20,11;
+MA /M: SY='P'; M=-9,-18,-38,-10,-1,-28,-20,-20,-19,-10,-28,-19,-18,82,-10,-19,-8,-5,-28,-30,-28,-10;
+MA /M: SY='F'; M=-16,-23,-21,-31,-24,51,-20,-16,-6,-22,2,-3,-15,-26,-30,-13,-13,-4,-4,3,22,-24;
+MA /M: SY='S'; M=6,11,-16,9,1,-23,-9,-10,-20,-6,-20,-16,8,-11,0,-10,16,14,-12,-32,-17,1;
+MA /M: SY='E'; M=-10,4,-27,10,29,-25,-20,1,-22,6,-16,-13,-2,-3,8,-1,-3,-6,-20,-29,-14,18;
+MA /M: SY='S'; M=4,5,-19,5,3,-21,-5,-11,-16,-8,-19,-15,5,-12,-4,-12,13,5,-10,-32,-18,-1;
+MA /M: SY='T'; M=-5,-12,-24,-14,-7,-17,-21,-16,-3,-5,-13,-6,-6,1,-3,-4,3,6,-4,-27,-13,-8;
+MA /M: SY='V'; M=-5,-27,-17,-29,-26,3,-25,-25,20,-19,11,8,-24,-28,-25,-14,-14,-5,29,-24,-6,-26;
+MA /M: SY='D'; M=-13,26,-29,38,20,-34,-13,-3,-34,6,-26,-23,9,-4,4,2,-2,-9,-26,-33,-19,11;
+MA /M: SY='G'; M=-2,-13,-26,-13,-19,-21,34,-12,-25,-18,-22,-14,-5,-21,-17,-17,-1,-11,-16,-15,-18,-18;
+MA /M: SY='V'; M=-2,-21,-20,-23,-17,-7,-23,-20,12,-15,3,3,-16,-21,-11,-12,-5,-2,14,-18,-7,-15;
+MA /M: SY='I'; M=-6,-23,-22,-26,-18,0,-30,-19,22,-18,13,12,-21,-22,-16,-18,-15,-5,19,-19,2,-19;
+MA /M: SY='A'; M=14,-14,-19,-16,-9,-16,-11,-12,-9,-12,-9,-8,-12,4,-10,-15,2,-1,-5,-24,-14,-11;
+MA /M: SY='N'; M=-3,10,-13,0,-6,-21,0,-1,-19,-3,-22,-11,20,-18,-2,-5,4,-3,-19,-32,-17,-4;
+MA /M: SY='Q'; M=-3,0,-20,-3,5,-23,-15,-6,-20,9,-21,-11,3,-11,10,9,10,10,-14,-28,-12,7;
+MA /M: SY='L'; M=-10,-30,-16,-32,-23,11,-31,-23,22,-29,37,17,-28,-29,-23,-22,-25,-9,16,-20,0,-23;
+MA /M: SY='T'; M=-6,-5,-18,-9,-5,-15,-19,-5,-11,2,-13,-6,0,-16,-3,4,2,7,-5,-27,-9,-5;
+MA /M: SY='V'; M=-4,-29,-14,-32,-29,0,-31,-29,32,-23,15,13,-27,-27,-26,-23,-14,-4,39,-27,-7,-29;
+MA /M: SY='R'; M=-7,-1,-22,-3,-1,-21,-12,-6,-18,7,-18,-9,2,-15,0,8,0,3,-11,-26,-12,-2;
+MA /M: SY='I'; M=-6,-28,-20,-33,-28,2,-34,-28,36,-25,17,14,-23,-25,-24,-24,-16,-6,35,-24,-4,-28;
+MA /M: SY='I'; M=-9,-22,-21,-27,-18,-1,-27,-16,17,-18,15,11,-17,-23,-14,-14,-18,-10,9,-20,-1,-19;
+MA /M: SY='E'; M=-2,2,-22,5,18,-27,-9,-5,-26,7,-24,-16,2,-9,11,6,8,-3,-21,-29,-18,14;
+MA /M: SY='A'; M=34,-11,-3,-19,-14,-21,10,-21,-17,-14,-14,-12,-9,-15,-14,-21,6,-4,-6,-23,-22,-14;
+MA /I: MD=-30;
+MA /M: SY='R'; M=-9,-3,-25,-3,5,-23,-18,1,-18,12,-17,-6,-1,-14,14,15,-5,-7,-15,-20,-9,8;
+MA /I: MI=0; MD=-10; IM=0; DM=-10; I=-8;
+MA /M: SY='N'; M=-10,11,-23,6,0,-14,0,7,-23,-4,-21,-13,17,-17,-1,-4,1,-8,-23,-26,-10,0;
+MA /M: SY='L'; M=-9,-29,-19,-29,-20,10,-29,-20,20,-29,46,19,-29,-29,-20,-20,-28,-9,11,-19,0,-20;
+MA /I: MD=-20; DM=-20;
+MA /M: SY='P'; M=-5,-10,-23,-9,-1,-19,-17,-12,-12,5,-18,-8,-8,15,-2,0,-3,-2,-12,-22,-13,-4;
+MA /I: MD=-20;
+MA /M: SY='K'; M=2,-3,-23,-2,1,-21,-9,-11,-20,9,-19,-12,-4,4,-2,2,-3,-6,-15,-18,-13,-1;
+MA /I: MI=0; MD=-20; IM=0; DM=-20; I=-8;
+MA /M: SY='M'; M=-5,-10,-19,-15,-9,-8,-12,-6,-3,0,0,12,-8,-16,-3,1,-8,-4,-3,-18,-5,-6;
+MA /I: MD=-5; DM=-10;
+MA /M: SY='D'; M=-11,26,-23,35,11,-28,-7,-1,-28,3,-22,-19,12,-9,1,-1,1,-6,-21,-28,-15,6;
+MA /I: MD=-10; DM=-10;
+MA /M: SY='A'; M=-4,-13,-19,-15,-8,-2,-14,-13,-4,-4,-6,-3,-11,-9,-8,-5,-7,-4,-3,-2,-3,-8;
+MA /I: MD=-5;
+MA /M: SY='N'; M=-1,5,-11,0,-6,-15,10,-7,-16,-8,-18,-12,14,-13,-6,-8,10,3,-14,-25,-15,-6;
+MA /I: MI=0; MD=-10; IM=0; DM=-10; I=-5;
+MA /M: SY='L'; M=-2,-13,-14,-17,-13,4,-18,-13,5,-14,7,3,-10,-16,-11,-12,-4,5,4,-15,1,-12;
+MA /I: DM=-10;
+MA /M: SY='S'; M=6,-13,-9,-16,-12,-11,-15,-19,-3,-15,-10,-8,-8,-12,-12,-16,10,8,3,-27,-14,-13;
+MA /M: SY='D'; M=-14,36,-22,46,13,-34,-5,-2,-35,-1,-29,-26,20,-13,-1,-8,4,-7,-27,-38,-20,6;
+MA /M: SY='P'; M=-6,-18,-31,-13,-4,-23,-20,-20,-14,-12,-21,-15,-17,60,-11,-19,-7,-5,-21,-29,-24,-11;
+MA /M: SY='Y'; M=-20,-22,-28,-25,-22,41,-30,10,0,-14,2,0,-20,-30,-17,-12,-20,-10,-8,24,66,-22;
+MA /M: SY='V'; M=2,-27,-2,-29,-28,-2,-28,-28,22,-21,8,7,-27,-28,-27,-21,-10,-1,37,-29,-10,-28;
+MA /M: SY='K'; M=-7,3,-23,3,16,-24,-18,-7,-24,19,-22,-13,2,-10,6,11,-1,0,-18,-25,-13,11;
+MA /M: SY='V'; M=-4,-29,-18,-33,-27,3,-32,-27,32,-24,21,16,-26,-26,-24,-23,-17,-5,33,-24,-5,-27;
+MA /M: SY='E'; M=-9,3,-24,3,7,-9,-15,1,-21,-3,-18,-13,2,-14,1,-5,2,-1,-18,-17,-1,4;
+MA /M: SY='L'; M=-7,-28,-20,-32,-24,9,-30,-22,24,-25,29,19,-26,-27,-21,-21,-21,-7,20,-18,0,-23;
+MA /I: MD=-10;
+MA /M: SY='Y'; D=-10; M=-5,-13,-14,-15,-12,2,-14,0,1,-12,4,5,-11,-17,-9,-11,-10,-7,0,-8,6,-12;
+MA /I: MD=-10;
+MA /M: SY='G'; D=-10; M=-2,-8,-19,-7,-6,-19,15,-10,-20,-10,-18,-12,-5,9,-7,-12,-2,-7,-18,-17,-16,-8;
+MA /I: MD=-10;
+MA /M: SY='D'; D=-10; M=-6,9,-17,13,0,-16,-7,-8,-12,-7,-7,-9,2,-9,-6,-10,-2,-3,-8,-23,-11,-4;
+MA /I: MD=-10;
+MA /M: SY='P'; D=-10; M=-3,-3,-19,1,4,-18,-5,-5,-15,-3,-16,-10,-3,16,-1,-6,1,-3,-15,-20,-14,0;
+MA /I: MI=0; MD=-20; IM=0; DM=-20; I=-7;
+MA /M: D=-2; M=-3,-9,-14,-11,-8,-6,-8,-7,-7,-1,-7,-3,-7,-12,-6,0,-3,-2,-2,-14,-2,-8;
+MA /I: MD=-10;
+MA /M: SY='D'; D=-2; M=-11,14,-21,18,7,-20,-8,0,-22,6,-18,-14,10,-9,3,8,-1,-4,-18,-23,-10,4;
+MA /I: MD=-10;
+MA /M: SY='T'; D=-2; M=-4,-5,-14,-6,-1,-11,-15,-11,-4,-7,-5,-4,-6,-11,-3,-9,0,3,-2,-21,-7,-3;
+MA /I: MD=-10;
+MA /M: SY='K'; D=-2; M=-1,-3,-19,-6,-3,-16,-4,-9,-16,6,-18,-9,2,-13,-2,5,2,-2,-10,-21,-12,-3;
+MA /I: MD=-10;
+MA /M: SY='K'; D=-2; M=-5,-2,-24,-2,5,-23,-14,-6,-21,24,-21,-9,-1,-10,6,17,-4,-7,-14,-21,-11,5;
+MA /I: MD=-10;
+MA /M: SY='R'; D=-2; M=-11,-4,-23,-5,4,-15,-18,1,-20,15,-17,-7,-1,-13,9,18,-5,-4,-16,-16,-3,6;
+MA /I: MD=-10;
+MA /M: SY='K'; D=-2; M=-8,-3,-23,-2,9,-20,-17,-7,-20,25,-19,-8,-3,-10,7,19,-6,-7,-13,-15,-8,8;
+MA /I: MD=-10;
+MA /M: SY='F'; D=-2; M=-3,-12,-13,-15,-11,8,-13,-7,-1,-8,2,0,-10,-14,-10,-7,-8,-4,0,-1,6,-10;
+MA /I: MD=-10;
+MA /M: SY='R'; D=-2; M=-7,-3,-14,-2,6,-13,-12,-2,-15,13,-13,-6,-1,-9,6,18,-3,-4,-12,-13,-5,5;
+MA /I: MI=-20; MD=-10; IM=-20; DM=-10; I=-5;
+MA /M: SY='T'; D=-2; M=1,0,-11,-8,-8,-11,-17,-18,-11,-5,-12,-10,0,-9,-8,-7,17,40,-2,-28,-10,-8;
+MA /I: DM=-10;
+MA /M: SY='K'; M=-5,-3,-24,-4,3,-24,-14,-7,-24,18,-24,-12,0,-8,6,18,3,3,-16,-25,-13,3;
+MA /M: SY='T'; M=-3,-14,-14,-19,-18,-4,-24,-16,8,-16,0,2,-11,-19,-16,-15,3,18,17,-28,-6,-18;
+MA /M: SY='V'; M=-6,-16,-22,-18,-14,-6,-25,-8,5,-5,-3,2,-12,-20,-11,-7,-8,-5,9,-22,-1,-14;
+MA /M: SY='K'; M=-7,-1,-27,-3,5,-24,-16,-1,-22,17,-22,-9,2,-12,10,17,-4,-7,-18,-18,-10,7;
+MA /I: MI=0; MD=-20; IM=0; DM=-20; I=-5;
+MA /M: SY='N'; D=-5; M=-9,19,-17,12,4,-25,-5,-1,-26,12,-28,-17,26,-16,2,6,1,-6,-25,-32,-18,3;
+MA /I: DM=-25;
+MA /M: SY='T'; D=-5; M=-1,4,-16,-1,-6,-18,3,-14,-20,-10,-19,-15,6,-13,-8,-11,15,20,-12,-30,-17,-7;
+MA /I: DM=-25;
+MA /M: SY='L'; M=-9,-17,-22,-20,-16,4,-23,-16,7,-19,17,7,-14,-24,-15,-13,-16,-7,2,-14,-2,-15;
+MA /M: SY='N'; M=-9,29,-19,16,3,-20,-5,9,-22,1,-27,-18,42,-18,1,0,8,0,-26,-37,-17,1;
+MA /M: SY='P'; M=-9,-20,-40,-10,0,-30,-20,-20,-20,-10,-30,-20,-20,89,-10,-20,-10,-10,-30,-30,-30,-10;
+MA /M: SY='V'; M=-8,-18,-22,-21,-14,-1,-27,-10,9,-10,1,4,-16,-22,-11,-8,-11,-4,11,-15,5,-14;
+MA /M: SY='W'; M=-20,-34,-39,-37,-29,33,-24,-20,-11,-21,-9,-11,-31,-30,-24,-19,-31,-21,-19,93,37,-23;
+MA /I: MI=0; IM=0; I=-4;
+MA /M: SY='N'; M=-8,24,-22,16,6,-23,-1,3,-23,-1,-26,-18,32,-16,2,-3,8,-1,-25,-34,-18,4;
+MA /M: SY='E'; M=-10,11,-28,19,48,-28,-19,-1,-28,9,-20,-19,2,-3,16,0,1,-7,-27,-29,-17,32;
+MA /M: SY='E'; M=-2,1,-21,2,11,-20,-16,-11,-18,0,-18,-14,-1,-1,1,-5,9,11,-13,-29,-14,5;
+MA /M: SY='F'; M=-16,-29,-17,-37,-27,58,-29,-20,5,-28,14,6,-21,-27,-33,-20,-20,-10,3,1,20,-27;
+MA /M: SY='T'; M=-5,-8,-14,-9,-3,-12,-22,-7,-4,-9,-5,-4,-9,-18,-5,-10,-2,3,1,-27,-6,-5;
+MA /M: SY='F'; M=-15,-27,-20,-36,-27,61,-29,-17,2,-27,9,1,-19,-28,-34,-19,-17,-8,2,6,27,-27;
+MA /M: SY='E'; M=-11,6,-28,9,15,-21,-16,-3,-21,4,-18,-13,3,-5,6,-1,-3,-8,-21,-25,-10,9;
+MA /I: MD=-20;
+MA /M: SY='V'; D=-2; M=-5,-9,-12,-9,-9,-8,-12,-13,1,-8,1,0,-8,-16,-10,-9,-7,-4,4,-19,-8,-10;
+MA /I: MI=0; MD=-10; IM=0; DM=-10; I=-5;
+MA /M: SY='V'; D=-2; M=-4,-18,-15,-19,-17,-1,-21,-18,17,-14,9,7,-17,-19,-16,-14,-11,-5,19,-18,-3,-17;
+MA /I: DM=-20;
+MA /M: SY='P'; D=-2; M=-6,-11,-21,-7,0,-14,-16,-9,-6,-7,-10,-7,-10,24,-6,-11,-6,-4,-9,-21,-13,-5;
+MA /I: DM=-20;
+MA /M: SY='Y'; D=-2; M=-7,-7,-13,-7,-3,-1,-10,-3,-7,-7,-2,-3,-5,-8,-5,-4,-5,-4,-7,-11,1,-5;
+MA /I: MD=-20; DM=-20;
+MA /M: SY='E'; D=-2; M=-1,6,-16,9,10,-18,-7,-3,-16,-1,-14,-11,4,-6,5,-3,6,0,-14,-22,-12,7;
+MA /I: MD=-20; DM=-20;
+MA /M: SY='D'; D=-2; M=-7,6,-16,8,7,-17,-12,2,-14,1,-12,-7,3,-10,6,-1,0,-2,-12,-21,-7,6;
+MA /I: MD=-20; DM=-20;
+MA /M: SY='P'; D=-2; M=-6,-14,-20,-14,-9,-9,-18,-13,0,-13,-2,-1,-12,15,-10,-14,-8,-4,-5,-21,-11,-11;
+MA /I: MD=-20;
+MA /M: SY='E'; D=-2; M=-7,10,-21,14,18,-24,-10,-1,-20,1,-17,-13,6,-2,11,-3,2,-5,-20,-24,-14,14;
+MA /I: MD=-20;
+MA /M: SY='I'; D=-2; M=-7,-7,-23,-6,-5,-11,-3,-7,-13,-4,-4,-4,-5,-17,-5,-4,-9,-10,-12,-17,-6,-6;
+MA /I: MI=0; MD=-10; IM=0; DM=-10; I=-2;
+MA /M: SY='A'; D=-2; M=7,-7,-20,-12,-6,-18,-9,-10,-10,0,-12,-6,-3,-16,0,0,0,-4,-6,-22,-12,-4;
+MA /I: DM=-20;
+MA /M: SY='T'; M=-7,-9,-19,-11,-4,-11,-20,-8,-7,-4,-7,-2,-6,-13,-4,-1,-2,1,-5,-25,-8,-5;
+MA /M: SY='L'; M=-9,-30,-19,-32,-23,8,-32,-23,26,-29,37,18,-28,-28,-21,-22,-25,-9,18,-21,-1,-23;
+MA /M: SY='R'; M=-11,-7,-25,-8,2,-16,-19,-4,-14,7,-12,-6,-3,-17,2,18,-5,-5,-11,-21,-7,0;
+MA /M: SY='F'; M=-12,-28,-21,-34,-25,28,-32,-23,21,-26,17,11,-23,-26,-26,-21,-19,-8,18,-12,8,-25;
+MA /M: SY='T'; M=4,-5,-19,-7,2,-17,-14,-11,-11,-4,-8,-7,-5,-13,1,-7,4,5,-7,-25,-12,2;
+MA /M: SY='V'; M=0,-29,-6,-30,-28,2,-29,-28,24,-22,12,9,-28,-29,-28,-21,-12,-2,38,-27,-8,-28;
+MA /M: SY='Y'; M=-15,-21,-26,-24,-17,16,-25,-3,-3,-14,1,2,-19,-26,-13,-12,-20,-13,-8,22,25,-15;
+MA /M: SY='D'; M=-17,38,-29,53,22,-36,-12,9,-36,0,-27,-25,17,-10,3,-8,0,-10,-29,-37,-16,12;
+MA /M: SY='Y'; M=-11,-6,-28,-5,2,1,-20,-2,-17,-2,-12,-10,-8,-18,-3,-3,-10,-10,-17,3,13,-1;
+MA /I: MI=0; MD=-10; IM=0; DM=-20; I=-7;
+MA /M: SY='D'; D=-3; M=-11,30,-19,37,11,-30,-7,-3,-30,0,-25,-22,17,-11,0,-7,3,-4,-23,-34,-18,5;
+MA /I: DM=-15;
+MA /M: SY='R'; D=-3; M=-9,-6,-21,-8,-5,-11,-16,-5,-14,9,-13,-5,-2,-12,-2,17,-7,-6,-11,-18,-4,-5;
+MA /I: MD=-15; DM=-15;
+MA /M: SY='F'; D=-3; M=-5,-15,-20,-19,-16,5,-13,-17,1,-16,0,1,-11,-20,-16,-15,-7,-3,2,-18,-3,-16;
+MA /I: MD=-15; DM=-15;
+MA /M: SY='G'; D=-3; M=0,-7,-22,-8,-9,-20,15,-14,-23,-8,-22,-13,0,-12,-7,-7,9,0,-16,-22,-18,-8;
+MA /I: MD=-15;
+MA /M: SY='K'; M=-13,6,-29,9,7,-26,-16,2,-28,19,-25,-14,4,-8,6,19,-5,-8,-22,-24,-9,5;
+MA /I: MI=0; MD=-20; IM=0; DM=-20; I=-5;
+MA /M: SY='B'; D=-2; M=-12,29,-22,29,7,-24,-8,10,-24,-1,-22,-17,25,-11,1,-4,2,-4,-24,-32,-13,4;
+MA /I: MD=-20; DM=-20;
+MA /M: SY='D'; D=-2; M=-12,23,-25,32,20,-28,-12,0,-28,4,-22,-20,11,-8,4,1,0,-7,-23,-31,-16,12;
+MA /I: MI=0; MD=-20; IM=0; DM=-20; I=-5;
+MA /M: SY='F'; D=-2; M=-12,-24,-20,-29,-22,33,-28,-19,6,-23,10,3,-20,-19,-25,-18,-16,-6,5,-8,10,-22;
+MA /I: DM=-20;
+MA /M: SY='I'; M=-8,-29,-20,-34,-26,4,-33,-24,33,-26,25,21,-24,-24,-20,-24,-21,-8,24,-21,-2,-25;
+MA /M: SY='G'; M=7,-10,-27,-11,-19,-29,60,-20,-36,-19,-27,-19,-1,-19,-19,-20,1,-17,-26,-20,-29,-19;
+MA /M: SY='Q'; M=-8,3,-25,2,11,-25,-15,8,-21,7,-20,-8,5,-13,16,7,1,-4,-19,-27,-10,12;
+MA /M: SY='V'; M=0,-19,3,-24,-19,-6,-19,-19,-1,-16,0,-2,-16,-24,-18,-12,-7,-1,7,-25,-9,-19;
+MA /M: SY='T'; M=-5,-7,-14,-10,-7,-13,-21,-13,-6,-5,-8,-5,-5,-17,-2,-3,1,7,-3,-26,-8,-6;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL 83(67); /POSITIVE=83(67); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=9; /PARTIAL=0;
+CC /TAXO-RANGE=??E??; /MAX-REPEAT=4;
+DR P11274, BCR_HUMAN , T; P33314, BUD2_YEAST, T; P09851, GTPA_BOVIN, T;
+DR P20936, GTPA_HUMAN, T; P05130, KPC1_DROME, T; P05771, KPC1_HUMAN, T;
+DR P05772, KPC1_RABIT, T; P04410, KPC1_RAT , T; P05126, KPC2_BOVIN, T;
+DR P34885, KPC2_CAEEL, T; P13677, KPC2_DROME, T; P05127, KPC2_HUMAN, T;
+DR P05773, KPC2_RABIT, T; P04411, KPC2_RAT , T; P04409, KPCA_BOVIN, T;
+DR P17252, KPCA_HUMAN, T; P20444, KPCA_MOUSE, T; P10102, KPCA_RABIT, T;
+DR P05696, KPCA_RAT , T; Q02156, KPCE_HUMAN, T; P16054, KPCE_MOUSE, T;
+DR P10830, KPCE_RABIT, T; P09216, KPCE_RAT , T; P05128, KPCG_BOVIN, T;
+DR P05129, KPCG_HUMAN, T; P10829, KPCG_RABIT, T; P05697, KPCG_RAT , T;
+DR P24723, KPCL_HUMAN, T; P23298, KPCL_MOUSE, T; P46934, NED4_HUMAN, T;
+DR P14222, PERF_HUMAN, T; P10820, PERF_MOUSE, T; P35763, PERF_RAT , T;
+DR P10894, PIP1_BOVIN, T; P25455, PIP1_DROME, T; P10687, PIP1_RAT , T;
+DR P40977, PIP1_SCHPO, T; P32383, PIP1_YEAST, T; Q00722, PIP2_HUMAN, T;
+DR Q01970, PIP3_HUMAN, T; P08487, PIP4_BOVIN, T; P19174, PIP4_HUMAN, T;
+DR P10686, PIP4_RAT , T; P16885, PIP5_HUMAN, T; P24135, PIP5_RAT , T;
+DR P10895, PIP6_BOVIN, T; P10688, PIP6_RAT , T; Q02158, PIPA_DICDI, T;
+DR P13217, PIPA_DROME, T; P39940, RSP5_YEAST, T; P11792, SCH9_YEAST, T;
+DR P24505, SY61_DISOM, T; P24506, SY62_DISOM, T; P24507, SY63_DISOM, T;
+DR P41823, SY65_APLCA, T; P21521, SY65_DROME, T; P34693, SYT1_CAEEL, T;
+DR P47191, SYT1_CHICK, T; P21579, SYT1_HUMAN, T; P46096, SYT1_MOUSE, T;
+DR P21707, SYT1_RAT , T; P46097, SYT2_MOUSE, T; P29101, SYT2_RAT , T;
+DR P40748, SYT3_RAT , T; P40749, SYT4_MOUSE, T; P27715, UN13_CAEEL, T;
+DR P41885, YPT7_CAEEL, T;
+DR P24583, KPC1_YEAST, N; Q05655, KPCD_HUMAN, N; P28867, KPCD_MOUSE, N;
+DR P09215, KPCD_RAT , N; P32871, P11A_BOVIN, N; P42336, P11A_HUMAN, N;
+DR P42337, P11A_MOUSE, N; P42347, P3K1_SOYBN, N; P42348, P3K2_SOYBN, N;
+DO PDOC00380;
+//
+ID PH_DOMAIN; MATRIX.
+AC PS50003;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE PH domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=104;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=99;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=1.6564; R2=0.0227; TEXT='NScore';
+MA /CUT_OFF: LEVEL=1; SCORE=301; N_SCORE=8.5; MODE=1;
+MA /CUT_OFF: LEVEL=0; SCORE=222; N_SCORE=6.7; MODE=1;
+MA /CUT_OFF: LEVEL=-1; SCORE=191; N_SCORE=6.0; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-100; E1=-100; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='D'; M=-7,4,-22,5,3,-21,-10,-5,-20,0,-17,-11,3,-14,3,2,1,-2,-15,-26,-13,2;
+MA /M: SY='V'; M=-3,-18,-16,-20,-14,-5,-22,-17,5,-14,3,2,-16,-13,-14,-14,-8,-2,8,-25,-9,-15;
+MA /M: SY='V'; M=-5,-14,-22,-16,-9,-10,-20,-16,4,-9,1,3,-12,-17,-8,-9,-8,-4,5,-23,-8,-10;
+MA /M: SY='R'; M=-12,-11,-21,-13,-3,-13,-22,-2,-8,5,-6,3,-7,-18,0,7,-12,-10,-9,-21,-3,-3;
+MA /M: SY='E'; M=-7,-1,-17,1,11,-20,-15,-4,-20,0,-16,-11,-2,-12,4,-2,1,-4,-16,-28,-12,7;
+MA /M: SY='G'; M=0,-9,-29,-9,-16,-28,57,-19,-35,-19,-27,-18,-1,-19,-17,-19,1,-17,-27,-21,-28,-17;
+MA /M: SY='Y'; M=-13,-15,-27,-16,-11,10,-23,-6,-8,-12,-6,-6,-14,-21,-12,-12,-13,-7,-11,16,19,-11;
+MA /M: SY='L'; M=-9,-28,-20,-31,-21,7,-29,-18,23,-26,38,24,-27,-28,-17,-19,-25,-9,15,-21,-1,-20;
+MA /M: SY='Y'; M=-8,-12,-22,-15,-8,-2,-21,-5,-3,-8,-1,0,-9,-20,-7,-7,-7,-2,-4,-14,4,-8;
+MA /M: SY='K'; M=-10,-11,-25,-13,-3,-11,-23,-9,-8,11,-6,2,-9,-17,-1,11,-11,-6,-5,-20,-4,-3;
+MA /M: SY='R'; M=-10,-12,-26,-14,-4,-12,-21,-7,-10,8,-6,0,-9,-17,2,10,-11,-8,-9,-12,-1,-2;
+MA /M: SY='G'; M=-3,0,-21,0,-2,-21,4,-6,-22,-8,-20,-14,2,-12,-5,-9,4,-2,-15,-28,-15,-4;
+MA /I: MD=-20;
+MA /M: SY='E'; M=-5,-2,-24,-1,3,-20,-7,-8,-18,0,-19,-11,0,-5,1,-2,2,-3,-15,-25,-13,1; D=-2;
+MA /I: MD=-20;
+MA /M: M=-5,-8,-22,-9,-8,-11,-2,-11,-14,-5,-13,-9,-4,-16,-10,-5,-2,-5,-8,-18,-8,-9; D=-2;
+MA /I: I=-5; MI=0; MD=-11; IM=0; DM=-11;
+MA /M: SY='S'; M=2,-4,-12,-6,-3,-8,-1,-7,-10,-1,-10,-5,-1,-9,-2,-2,3,-1,-7,-14,-8,-3; D=-2;
+MA /I: DM=-11;
+MA /M: SY='R'; M=-5,-7,-20,-9,-7,-10,-9,-10,-11,-2,-9,-6,-3,-13,-5,1,-5,-6,-10,-14,-9,-7; D=-2;
+MA /I: DM=-11;
+MA /M: SY='K'; M=-7,-4,-24,-5,3,-18,-10,-7,-19,11,-16,-8,-1,-13,3,11,-3,-6,-15,-21,-11,2; D=-2;
+MA /I: DM=-11;
+MA /M: SY='N'; M=-3,-2,-23,-5,-1,-20,-4,-10,-19,2,-19,-12,4,-13,1,3,4,1,-15,-23,-14,-1; D=-2;
+MA /I: DM=-11;
+MA /M: SY='W'; M=-16,-26,-38,-25,-15,4,-20,-19,-18,-10,-16,-14,-24,-15,-12,-8,-23,-17,-23,66,15,-12;
+MA /M: SY='K'; M=-11,-1,-27,-1,7,-24,-18,3,-23,18,-21,-8,1,-10,10,17,-5,-6,-18,-24,-8,7;
+MA /M: SY='R'; M=-12,0,-29,2,12,-25,-19,-5,-23,13,-19,-11,0,-1,9,15,-6,-7,-20,-26,-14,8;
+MA /M: SY='R'; M=-15,-13,-24,-15,-8,-7,-21,0,-16,9,-9,-4,-7,-23,-2,30,-11,-8,-10,-16,2,-8;
+MA /M: SY='W'; M=-16,-22,-32,-25,-18,18,-25,3,-8,-15,-4,-4,-20,-26,-12,-12,-22,-15,-14,39,36,-15;
+MA /M: SY='F'; M=-5,-26,-1,-33,-26,27,-24,-22,4,-25,7,1,-21,-28,-28,-21,-14,-8,8,-11,5,-26;
+MA /M: SY='V'; M=-6,-20,-17,-25,-18,9,-25,-16,6,-14,2,3,-17,-23,-17,-11,-10,-3,10,-13,3,-18;
+MA /M: SY='L'; M=-9,-30,-20,-31,-22,10,-30,-22,23,-29,42,18,-29,-29,-21,-21,-27,-9,15,-20,0,-22;
+MA /M: SY='Y'; M=-10,-8,-19,-12,-8,1,-21,0,-13,-5,-8,-5,-5,-17,-6,-1,-5,0,-10,-19,2,-7;
+MA /M: SY='D'; M=-7,9,-25,11,11,-25,-9,-4,-25,3,-23,-17,9,-4,3,3,4,-2,-22,-30,-18,6;
+MA /I: I=-6; MI=0; IM=0; MD=-25; DM=-25;
+MA /M: SY='N'; M=-6,8,-22,6,1,-20,-5,-4,-24,2,-22,-15,9,-13,-2,1,3,-2,-19,-28,-14,-1;
+MA /M: SY='A'; M=-3,-9,-12,-12,-6,-13,-14,-10,-11,-6,-9,-6,-6,-19,-4,-5,-3,-4,-7,-23,-8,-6;
+MA /M: SY='L'; M=-10,-29,-21,-32,-22,8,-31,-21,25,-27,39,22,-27,-27,-19,-20,-26,-10,15,-20,0,-21;
+MA /M: SY='Y'; M=-4,-16,-17,-18,-14,1,-19,-10,2,-17,2,-1,-12,-21,-13,-15,-4,1,3,-19,4,-14;
+MA /M: SY='Y'; M=-14,-26,-17,-29,-23,21,-28,-10,4,-21,10,3,-23,-29,-19,-18,-21,-11,-1,14,28,-21;
+MA /M: SY='Y'; M=-10,-17,-7,-21,-17,12,-22,-2,-10,-14,-7,-6,-14,-25,-14,-11,-8,-4,-9,1,22,-16;
+MA /M: SY='K'; M=-7,1,-24,3,9,-25,-14,-6,-24,16,-23,-13,1,-9,5,9,0,-3,-17,-26,-12,6;
+MA /M: SY='E'; M=-3,6,-24,8,9,-24,-11,-7,-21,2,-20,-15,4,-5,1,-2,3,-3,-17,-29,-15,4;
+MA /M: SY='D'; M=-4,3,-24,4,1,-23,-6,-9,-20,2,-20,-12,2,-9,-1,0,2,-4,-15,-27,-16,-1;
+MA /I: I=-1; MI=0; MD=-15; IM=0;
+MA /M: SY='E'; M=0,0,-11,0,2,-10,-4,-4,-9,-1,-8,-6,1,-5,-1,-1,1,0,-7,-12,-7,0; D=-2;
+MA /I: DM=-15;
+MA /M: SY='E'; M=-3,-2,-14,-2,3,-11,-9,-4,-10,2,-9,-5,-1,-4,2,3,1,0,-9,-15,-7,2; D=-2;
+MA /I: DM=-15;
+MA /M: SY='E'; M=-4,-1,-17,-1,1,-11,-5,-4,-13,-1,-11,-7,-1,-6,-1,-4,-1,-2,-11,-12,-5,0; D=-2;
+MA /I: DM=-15;
+MA /M: SY='E'; M=-4,0,-21,0,3,-19,-12,-3,-15,2,-14,-7,-1,-5,3,0,0,-1,-12,-23,-10,2; D=-2;
+MA /I: DM=-15;
+MA /M: SY='D'; M=-6,2,-23,4,4,-19,-6,-6,-20,0,-16,-13,1,-7,-1,-1,0,-4,-17,-22,-12,1; D=-2;
+MA /I: DM=-15;
+MA /M: SY='E'; M=-7,-1,-23,0,1,-8,-13,-4,-16,-2,-13,-10,-1,-14,-2,-4,-1,-3,-14,-18,0,-1; D=-2;
+MA /I: DM=-15;
+MA /M: SY='E'; M=-4,-1,-22,-1,4,-19,-13,-5,-19,3,-17,-11,1,-12,2,4,3,2,-14,-27,-12,2;
+MA /M: SY='P'; M=-9,-11,-19,-10,-5,-14,-20,-12,-13,-3,-11,-8,-11,5,-8,-5,-10,-8,-13,-22,-8,-8;
+MA /M: SY='K'; M=-8,-5,-27,-6,5,-21,-19,-6,-17,13,-16,-7,-2,-9,9,12,-5,-5,-15,-22,-9,6;
+MA /M: SY='G'; M=-8,-3,-26,-3,-2,-19,4,-3,-24,-3,-19,-12,0,-13,-3,-4,-4,-9,-20,-19,-10,-4;
+MA /M: SY='T'; M=-1,-10,-18,-13,-8,-11,-14,-11,-6,-8,-6,-2,-7,-13,-7,-8,1,2,-3,-25,-9,-8;
+MA /M: SY='I'; M=-8,-28,-24,-34,-26,10,-32,-22,28,-26,19,14,-23,-24,-22,-23,-19,-8,20,-12,6,-26;
+MA /M: SY='P'; M=-8,2,-25,5,0,-20,-15,-10,-18,-6,-20,-15,0,14,-5,-11,0,-3,-18,-28,-16,-4;
+MA /M: SY='L'; M=-9,-29,-20,-32,-23,8,-30,-21,25,-26,33,21,-27,-27,-20,-20,-23,-8,18,-19,0,-22;
+MA /M: SY='E'; M=-6,2,-22,3,9,-22,-16,-6,-19,4,-17,-10,2,-10,5,6,2,-1,-15,-28,-14,6;
+MA /M: SY='N'; M=-1,7,-24,7,5,-25,5,-6,-25,-2,-21,-14,8,-13,1,-6,3,-6,-21,-27,-18,3;
+MA /M: SY='V'; M=1,-21,2,-26,-21,-4,-24,-20,8,-21,5,2,-18,-24,-18,-19,-8,-2,11,-26,-7,-21;
+MA /M: SY='Q'; M=-5,-4,-23,-6,1,-18,-16,-6,-11,1,-13,-6,-1,-15,5,4,1,-2,-10,-25,-9,2;
+MA /M: SY='V'; M=-5,-20,-12,-22,-17,-2,-24,-21,11,-19,8,4,-18,-22,-18,-17,-10,-4,14,-25,-7,-19;
+MA /M: SY='T'; M=-5,-8,-15,-9,-6,-13,-19,-13,-4,-7,-7,-4,-7,-17,-8,-5,-2,2,2,-27,-10,-8;
+MA /M: SY='E'; M=-8,-2,-23,0,5,-19,-19,-4,-15,1,-14,-9,-4,-7,0,1,-4,-5,-13,-23,-8,1;
+MA /M: SY='T'; M=-4,-7,-17,-8,-6,-14,-19,-13,-6,-6,-8,-5,-6,-10,-8,-7,-4,-2,-3,-26,-11,-8;
+MA /M: SY='E'; M=-5,-3,-22,0,4,-20,-12,-12,-15,-5,-13,-11,-7,-2,-4,-10,-2,-3,-11,-27,-15,-1;
+MA /I: MD=-11;
+MA /M: SY='D'; M=-6,9,-25,11,9,-25,-13,0,-23,5,-22,-14,6,-4,5,0,1,-4,-20,-29,-14,6; D=-2;
+MA /I: MD=-11;
+MA /M: M=-7,-4,-24,-4,-3,-19,-5,-6,-16,-9,-15,-11,-1,-3,-4,-10,-2,-5,-17,-23,-12,-5; D=-2;
+MA /I: MD=-11;
+MA /M: SY='E'; M=-7,2,-22,5,6,-17,-14,-8,-19,3,-17,-12,0,-6,0,0,1,-2,-15,-25,-11,2; D=-2;
+MA /I: MD=-11;
+MA /M: SY='D'; M=-4,0,-21,1,1,-18,-6,-4,-16,1,-15,-8,0,-8,-2,-1,-1,-4,-11,-23,-12,-1; D=-2;
+MA /I: MD=-11;
+MA /M: M=-4,-3,-18,-3,-1,-12,-8,-8,-12,-2,-10,-7,-2,-5,-3,-5,0,-2,-10,-18,-9,-2; D=-2;
+MA /I: MD=-11;
+MA /M: M=-4,-4,-16,-5,0,-10,-9,-6,-7,0,-8,-4,-2,-5,-1,0,-3,-4,-7,-16,-7,-1; D=-2;
+MA /I: I=-1; MI=0; MD=-11; IM=0; DM=-11;
+MA /M: M=-3,-1,-13,-2,-1,-8,-5,0,-8,-2,-7,-4,0,-6,0,-1,-1,-2,-8,-10,-4,-1; D=-2;
+MA /I: DM=-11;
+MA /M: SY='K'; M=-9,4,-26,6,8,-26,-15,-3,-25,12,-25,-14,4,0,5,9,-1,-5,-21,-29,-15,5;
+MA /M: SY='H'; M=-12,-6,-22,-11,-10,3,-18,11,-13,-5,-8,-4,2,-22,-7,0,-10,-9,-14,-15,7,-9;
+MA /M: SY='C'; M=-3,-13,5,-17,-15,-12,-17,-16,-8,-12,-10,-4,-10,-17,-14,-14,-2,1,0,-29,-12,-15;
+MA /M: SY='F'; M=-17,-30,-19,-39,-29,59,-31,-22,8,-29,14,5,-21,-29,-35,-21,-21,-10,5,3,21,-29;
+MA /M: SY='E'; M=-4,-6,-18,-7,8,-20,-21,-10,-11,4,-10,-6,-6,-14,5,2,-4,-5,-8,-26,-13,6;
+MA /M: SY='I'; M=-7,-29,-22,-34,-26,3,-34,-26,34,-27,27,18,-25,-25,-21,-24,-21,-7,26,-22,-2,-26;
+MA /M: SY='V'; M=-8,-14,-18,-17,-12,-5,-23,-10,-4,-5,-5,-3,-10,-21,-9,1,-5,-1,2,-18,-3,-12;
+MA /M: SY='T'; M=-7,-9,-19,-13,-10,-7,-17,-2,-8,-12,-8,-4,-5,-12,-7,-10,-2,3,-8,-20,-2,-10;
+MA /M: SY='N'; M=-5,1,-22,1,0,-21,-8,-5,-21,-1,-19,-13,3,-5,-2,-2,0,-3,-18,-28,-15,-2;
+MA /M: SY='B'; M=-5,10,-22,9,5,-26,-3,-2,-23,-1,-21,-13,9,-13,4,-4,3,-3,-20,-30,-16,5;
+MA /M: SY='R'; M=-6,-3,-26,-3,0,-21,-3,-8,-22,2,-19,-12,0,-11,0,5,-3,-7,-18,-19,-14,-1;
+MA /I: MD=-11;
+MA /M: SY='E'; M=-4,2,-19,1,6,-17,-6,-5,-19,6,-18,-11,3,-6,3,4,2,-1,-15,-21,-12,4; D=-2;
+MA /I: I=-3; MI=0; MD=-11; IM=0; DM=-11;
+MA /M: SY='E'; M=-5,-1,-15,-1,3,-10,-8,-3,-10,2,-10,-6,1,-6,1,2,-1,-3,-9,-12,-6,1; D=-2;
+MA /I: DM=-11;
+MA /M: SY='S'; M=-2,-4,-19,-6,0,-18,-13,-10,-12,-5,-13,-9,-2,-10,0,-3,8,8,-8,-29,-14,-1;
+MA /M: SY='F'; M=-14,-25,-23,-28,-22,18,-29,-6,7,-20,11,6,-21,-26,-19,-14,-20,-11,4,1,18,-21;
+MA /M: SY='Y'; M=-9,-16,-22,-18,-11,2,-26,-9,5,-14,6,2,-15,-21,-12,-13,-12,-4,3,-12,8,-13;
+MA /M: SY='F'; M=-12,-29,-20,-34,-25,30,-31,-22,18,-28,27,13,-25,-28,-27,-21,-22,-8,14,-11,9,-25;
+MA /M: SY='Q'; M=-2,-8,-13,-11,-2,-16,-17,-4,-16,1,-15,-7,-5,-17,6,3,-1,-4,-12,-22,-7,2;
+MA /M: SY='A'; M=20,-13,2,-21,-16,-9,-8,-21,-9,-16,-8,-8,-11,-17,-16,-19,4,3,0,-24,-15,-16;
+MA /M: SY='E'; M=-5,9,-24,11,13,-26,-13,-6,-23,5,-23,-16,6,0,3,-2,4,-1,-19,-31,-17,7;
+MA /M: SY='S'; M=-2,15,-17,12,1,-21,-6,-4,-22,-6,-25,-19,19,-11,-2,-7,20,15,-16,-37,-17,-1;
+MA /M: SY='E'; M=-5,1,-21,6,15,-25,-15,-7,-21,0,-19,-15,-3,0,4,-5,0,-6,-18,-29,-17,9;
+MA /I: I=-8; MI=0; IM=0; DM=-25; MD=-25;
+MA /M: SY='E'; M=-6,4,-25,8,19,-24,-17,-5,-20,4,-17,-12,-1,-8,11,-1,0,-5,-18,-26,-13,15;
+MA /M: SY='E'; M=-8,8,-25,14,25,-24,-16,-2,-22,0,-17,-15,2,-9,8,-4,3,-2,-19,-31,-15,16;
+MA /M: SY='R'; M=-4,-15,-21,-18,-9,-7,-20,-5,-7,2,0,7,-12,-20,-3,9,-12,-8,-5,-17,-3,-7;
+MA /M: SY='Q'; M=-6,4,-25,3,7,-22,-15,-1,-19,8,-17,-8,5,-14,9,6,-2,-6,-17,-25,-10,7;
+MA /M: SY='E'; M=-4,4,-19,4,8,-22,-13,-2,-18,-1,-16,-10,4,-13,5,-1,5,0,-15,-30,-14,6;
+MA /M: SY='W'; M=-20,-40,-49,-40,-30,12,-20,-30,-19,-20,-19,-19,-39,-30,-21,-20,-39,-29,-29,145,30,-20;
+MA /M: SY='I'; M=-8,-22,-20,-27,-20,5,-27,-17,17,-16,14,16,-18,-23,-15,-14,-14,-4,15,-19,1,-18;
+MA /M: SY='K'; M=-1,3,-23,1,3,-23,-11,-5,-19,5,-19,-11,4,-13,5,2,3,-1,-15,-25,-12,3;
+MA /M: SY='A'; M=19,-7,-12,-12,-7,-17,-4,-14,-12,-10,-13,-9,-5,-14,-7,-15,7,0,-5,-25,-16,-7;
+MA /M: SY='L'; M=-10,-30,-21,-35,-25,11,-34,-24,30,-29,31,18,-25,-26,-22,-24,-24,-9,19,-18,2,-25;
+MA /M: SY='R'; M=-9,-5,-24,-7,2,-19,-19,1,-14,5,-12,-4,-1,-16,10,12,-4,-5,-13,-24,-8,4;
+MA /M: SY='R'; M=-3,-3,-22,-4,1,-17,-14,-7,-14,1,-12,-6,-2,-14,1,3,-1,-3,-12,-22,-9,0;
+MA /M: SY='A'; M=7,-14,-14,-18,-11,-11,-12,-16,-2,-14,-1,-2,-11,-17,-10,-15,-2,-1,1,-24,-12,-11;
+MA /M: SY='I'; M=-4,-18,-11,-23,-17,-7,-21,-16,6,-15,2,4,-13,-21,-12,-14,-7,-3,5,-24,-7,-16;
+MA /M: SY='R'; M=-5,-3,-24,-5,-3,-13,-12,-2,-16,1,-15,-9,0,-16,-2,3,-2,-5,-13,-18,-5,-3;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL 76(71); /POSITIVE=76(71); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=0;
+CC /TAXO-RANGE=??E?V; /MAX-REPEAT=2;
+DR P21146, ARK1_BOVIN, T; P25098, ARK1_HUMAN, T; P26817, ARK1_RAT , T;
+DR P26818, ARK2_BOVIN, T; P35626, ARK2_HUMAN, T; P26819, ARK2_RAT , T;
+DR P11274, BCR_HUMAN , T; P39969, BEB1_YEAST, T; P39960, BEM2_YEAST, T;
+DR P32873, BEM3_YEAST, T; P38041, BOB1_YEAST, T; Q06187, BTK_HUMAN , T;
+DR P35991, BTK_MOUSE , T; P11433, CC24_YEAST, T; P35401, CRAC_DICDI, T;
+DR P10911, DBL_HUMAN , T; P39055, DYN1_CAEEL, T; Q05193, DYN1_HUMAN, T;
+DR P21575, DYN1_RAT , T; P39052, DYN2_RAT , T; P39053, DYNB_MOUSE, T;
+DR Q08877, DYNT_RAT , T; P39054, DYNU_MOUSE, T; P27619, DYN_DROME , T;
+DR P28818, GNRP_RAT , T; P32865, GPK1_DROME, T; P09851, GTPA_BOVIN, T;
+DR P20936, GTPA_HUMAN, T; P35568, IRS1_HUMAN, T; P35569, IRS1_MOUSE, T;
+DR P35570, IRS1_RAT , T; Q08881, ITK_HUMAN , T; Q03526, ITK_MOUSE , T;
+DR P31748, KAKT_MLVAT, T; Q01314, KRAC_BOVIN, T; P31749, KRAC_HUMAN, T;
+DR P31750, KRAC_MOUSE, T; P31751, KRCB_HUMAN, T; P34400, MI10_CAEEL, T;
+DR Q08942, NRKA_TRYBB, T; Q03428, NRKB_TRYBB, T; Q00402, NUM1_YEAST, T;
+DR P35845, OSH1_YEAST, T; P22059, OXYB_HUMAN, T; P16258, OXYB_RABIT, T;
+DR P08567, P47_HUMAN , T; P08487, PIP4_BOVIN, T; P19174, PIP4_HUMAN, T;
+DR P10686, PIP4_RAT , T; P16885, PIP5_HUMAN, T; P24135, PIP5_RAT , T;
+DR P10895, PIP6_BOVIN, T; P10688, PIP6_RAT , T; P40995, SCD1_SCHPO, T;
+DR P38717, SIP3_YEAST, T; P26675, SOS_DROME , T; Q00963, SPCB_DROME, T;
+DR P42680, TEC_HUMAN , T; P24604, TEC_MOUSE , T; P23678, U104_CAEEL, T;
+DR P15498, VAV_HUMAN , T; P27870, VAV_MOUSE , T; P38271, YBX9_YEAST, T;
+DR P38713, YHN3_YEAST, T; P38851, YHV5_YEAST, T; P40485, YIK5_YEAST, T;
+DR P34288, YKM1_CAEEL, T; P46941, YLE5_CAEEL, T; P34512, YMX4_CAEEL, T;
+DR P34657, YOTB_CAEEL, T; P42331, YY03_HUMAN, T;
+DO PDOC50003;
+//
+ID SH2; MATRIX.
+AC PS50001;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Src homology 2 (SH2) domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=92;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=87;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.3941; R2=0.01483; TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=547; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-60; E1=-60; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='W'; M=-16,-34,-40,-35,-25,9,-21,-24,-17,-19,-16,-17,-34,-25,-18,-19,-33,-25,-25,111,26,-18;
+MA /M: SY='Y'; M=-17,-24,-26,-29,-24,41,-30,-2,7,-20,6,2,-19,-28,-22,-16,-19,-10,-1,14,48,-24;
+MA /M: SY='H'; M=-14,-14,-23,-18,-14,7,-23,31,-9,-15,-3,4,-8,-24,-9,-10,-15,-14,-11,-8,18,-12;
+MA /M: SY='G'; M=-3,-9,-30,-8,-14,-26,45,-17,-36,-9,-28,-18,-1,-14,-14,-8,-3,-17,-27,-20,-24,-14;
+MA /M: SY='K'; M=-8,-1,-25,-2,0,-10,-16,-5,-19,6,-18,-11,1,-7,-3,1,-4,-6,-16,-21,-6,-2;
+MA /M: SY='I'; M=-8,-28,-24,-35,-27,4,-34,-25,36,-26,23,21,-23,-23,-20,-24,-19,-8,26,-21,-1,-26;
+MA /I: I=-4; MI=0; IM=0;
+MA /M: SY='S'; M=1,3,-18,1,0,-21,-4,-9,-20,-6,-25,-17,10,-3,0,-8,20,14,-16,-34,-19,0;
+MA /M: SY='R'; M=-16,-9,-30,-9,-1,-23,-8,-5,-31,26,-23,-11,0,-18,6,51,-9,-11,-21,-18,-12,-1;
+MA /M: SY='E'; M=-2,2,-25,1,12,-25,-12,-3,-21,6,-20,-12,2,-11,10,3,2,-4,-18,-23,-14,11;
+MA /M: SY='E'; M=-10,10,-29,16,26,-30,-15,0,-26,10,-21,-14,3,-9,19,5,-2,-9,-25,-26,-13,22;
+MA /M: SY='A'; M=36,-11,-11,-17,-7,-18,-6,-20,-6,-10,-9,-8,-11,-12,-10,-18,8,1,4,-23,-18,-9;
+MA /M: SY='E'; M=-10,4,-28,9,36,-22,-20,2,-23,5,-16,-14,-1,-7,12,2,-2,-8,-22,-26,-12,23;
+MA /M: SY='R'; M=-6,4,-25,5,10,-24,-14,-1,-23,10,-19,-11,3,-13,9,11,0,-5,-19,-25,-11,8;
+MA /M: SY='L'; M=-10,-23,-23,-25,-15,1,-27,-12,13,-19,28,17,-22,-25,-8,-12,-22,-9,4,-18,2,-12;
+MA /M: SY='L'; M=-10,-30,-20,-30,-20,10,-30,-20,20,-30,49,20,-30,-30,-20,-20,-30,-10,11,-20,0,-20;
+MA /M: SY='R'; M=-8,-9,-23,-12,-6,-13,-19,-9,-6,1,-1,4,-6,-18,1,5,-8,-4,-6,-23,-7,-4;
+MA /M: SY='N'; M=-4,9,-22,7,5,-23,-9,-2,-21,0,-21,-13,11,-10,5,-2,5,-1,-19,-30,-15,4;
+MA /M: SY='K'; M=-8,-5,-27,-4,3,-22,-12,-9,-19,7,-20,-11,-2,-1,2,5,-3,-5,-16,-24,-13,1;
+MA /I: I=-4; MI=-19; MD=-19; IM=-19;
+MA /M: SY='G'; M=-4,-6,-21,-5,-1,-21,10,-11,-22,-9,-20,-12,-4,2,-6,-10,-1,-9,-19,-23,-19,-4; D=-4;
+MA /I: I=-4; MI=-19; MD=-19; IM=-19; DM=-19;
+MA /M: SY='B'; M=-11,10,-24,10,4,-20,-14,-1,-18,5,-18,-10,9,-4,1,3,-3,-6,-17,-26,-12,1; D=-4;
+MA /I: I=-4; MI=-19; MD=-19; IM=-19; DM=-19;
+MA /M: SY='E'; M=-4,3,-14,6,9,-14,-8,-2,-12,0,-12,-8,1,4,4,-2,1,-2,-12,-16,-9,6; D=-4;
+MA /I: I=-4; MI=0; IM=0; DM=-19;
+MA /M: SY='G'; M=-1,-11,-27,-11,-20,-29,66,-20,-39,-20,-30,-20,-1,-21,-20,-20,-1,-20,-30,-17,-29,-20;
+MA /M: SY='T'; M=5,3,-13,0,-3,-18,-10,-13,-16,-9,-14,-13,1,-12,-6,-12,14,18,-8,-31,-15,-5;
+MA /M: SY='F'; M=-20,-29,-21,-38,-29,74,-30,-15,0,-28,9,0,-20,-30,-37,-19,-20,-10,-1,12,36,-29;
+MA /M: SY='L'; M=-9,-30,-20,-31,-22,8,-30,-21,23,-28,43,21,-29,-29,-20,-20,-27,-9,15,-21,-1,-21;
+MA /M: SY='V'; M=-3,-29,-17,-32,-28,1,-32,-28,32,-24,19,14,-26,-26,-25,-23,-15,-4,36,-25,-6,-28;
+MA /M: SY='R'; M=-20,-10,-30,-10,0,-20,-20,0,-30,30,-20,-10,0,-20,10,70,-10,-10,-20,-20,-10,0;
+MA /M: SY='E'; M=-12,4,-29,10,23,-15,-20,-6,-22,1,-15,-14,-3,-2,6,-5,-6,-10,-22,-23,-11,15;
+MA /M: SY='S'; M=8,-1,-10,-2,-1,-20,-2,-10,-20,-7,-28,-19,8,-11,0,-4,34,17,-10,-37,-19,-1;
+MA /M: SY='E'; M=-8,9,-25,15,23,-26,-16,-1,-24,4,-20,-16,4,-9,10,2,4,-3,-20,-31,-16,16;
+MA /M: SY='S'; M=-2,1,-18,-2,-1,-21,-6,-6,-22,1,-24,-15,8,-10,1,2,16,13,-15,-31,-15,-1;
+MA /I: I=-5; MI=-27; MD=-27; IM=-27;
+MA /M: SY='S'; M=-4,0,-22,-2,3,-15,-12,-2,-19,1,-18,-11,3,-8,1,-2,4,3,-16,-25,-8,1; D=-5;
+MA /I: I=-5; MI=-27; MD=-27; IM=-27; DM=-27;
+MA /M: SY='P'; M=-6,-11,-22,-10,-3,-14,-16,-12,-5,0,-9,-4,-10,19,-4,-3,-8,-5,-8,-17,-11,-6; D=-5;
+MA /I: I=-5; MI=0; IM=0; DM=-27;
+MA /M: SY='G'; M=-1,-2,-29,-3,-12,-30,50,-15,-36,-15,-29,-19,5,-15,-13,-16,1,-16,-29,-23,-27,-13;
+MA /M: SY='D'; M=0,10,-20,15,8,-28,4,-9,-28,-6,-22,-19,5,-12,-1,-11,6,-5,-21,-31,-21,4;
+MA /M: SY='Y'; M=-17,-22,-26,-26,-20,33,-30,3,4,-17,3,2,-18,-27,-18,-13,-17,-9,-2,11,46,-21;
+MA /M: SY='T'; M=9,-8,-9,-13,-10,-14,-12,-18,-7,-12,-12,-9,-5,-11,-10,-14,15,21,3,-31,-15,-10;
+MA /M: SY='L'; M=-10,-29,-18,-32,-24,10,-32,-23,24,-27,33,16,-26,-28,-22,-20,-24,-9,16,-20,0,-24;
+MA /M: SY='S'; M=10,-4,-7,-7,-6,-17,-5,-13,-15,-12,-22,-15,3,-13,-5,-13,28,18,-6,-34,-16,-6;
+MA /M: SY='V'; M=-8,-29,-20,-31,-26,11,-27,-22,16,-22,11,7,-26,-28,-25,-19,-18,-6,21,0,4,-25;
+MA /M: SY='R'; M=-11,-16,-25,-17,-10,-7,-22,-10,-10,7,-7,-3,-11,-21,-5,18,-11,-8,-5,-10,-2,-9;
+MA /M: M=-8,-1,-20,0,-4,-7,-19,-7,-14,-6,-11,-9,-5,-18,-8,-6,-5,-2,-9,-15,0,-6;
+MA /M: SY='D'; M=-10,5,-25,7,3,-19,-6,-7,-25,0,-20,-15,3,-15,0,-1,-3,-9,-22,-16,-11,1;
+MA /M: SY='G'; M=-4,7,-25,11,-3,-25,13,-11,-27,-9,-23,-18,4,-16,-8,-10,3,-7,-18,-25,-19,-5;
+MA /I: I=-2; MI=0; IM=0;
+MA /M: SY='Q'; M=-8,2,-23,1,4,-22,-13,0,-17,4,-16,-9,4,-15,5,4,-2,-6,-15,-28,-12,4;
+MA /M: SY='V'; M=-4,-19,-17,-21,-21,-3,-23,-20,14,-16,0,2,-16,-19,-21,-14,-8,-3,23,-27,-9,-22;
+MA /M: SY='K'; M=-10,-2,-28,-4,3,-23,-11,-4,-23,20,-21,-8,1,-14,9,18,-5,-6,-19,-21,-9,5;
+MA /M: SY='H'; M=-18,-2,-29,-2,2,-18,-20,78,-26,-8,-16,-1,6,-19,8,1,-9,-17,-26,-29,14,1;
+MA /M: SY='Y'; M=-15,-24,-14,-29,-24,26,-30,-9,3,-20,2,-1,-21,-23,-22,-18,-18,-8,-1,8,31,-24;
+MA /M: SY='R'; M=-13,-4,-27,-5,0,-21,-21,-2,-16,16,-15,-4,-1,-17,7,22,-9,-8,-11,-24,-8,1;
+MA /M: SY='I'; M=-9,-30,-25,-37,-29,4,-37,-29,41,-27,19,17,-22,-23,-22,-26,-19,-8,30,-20,0,-29;
+MA /M: SY='Q'; M=-12,-3,-21,-5,4,-19,-20,3,-16,8,-13,-2,1,-17,12,12,-8,-9,-17,-23,-7,7;
+MA /M: SY='K'; M=-4,-1,-19,-3,3,-20,-15,-3,-21,5,-21,-12,2,-6,2,5,4,2,-16,-26,-12,1;
+MA /M: SY='T'; M=-6,-7,-19,-8,-6,-7,-21,-13,-3,-11,1,-2,-7,-17,-9,-8,-4,4,-1,-26,-8,-8;
+MA /M: SY='D'; M=-5,11,-24,17,14,-29,-3,-7,-27,-3,-21,-17,3,-4,3,-9,1,-6,-23,-29,-19,8;
+MA /I: I=-2; MI=-12; MD=-12; IM=-12;
+MA /M: SY='N'; M=-6,13,-20,10,3,-22,0,-4,-22,0,-21,-15,16,-12,1,-1,7,3,-19,-28,-16,2; D=-2;
+MA /I: I=-2; MI=-12; MD=-12; IM=-12; DM=-12;
+MA /M: SY='G'; M=-1,-2,-14,-3,-4,-16,22,-8,-20,-6,-16,-11,2,-10,-6,-5,2,-7,-15,-14,-15,-5; D=-2;
+MA /I: I=-2; MI=0; IM=0; DM=-12;
+MA /M: SY='K'; M=-8,-6,-27,-5,-2,-20,-6,-7,-20,4,-17,-9,-4,-6,-2,0,-6,-7,-16,-24,-12,-3;
+MA /M: SY='Y'; M=-17,-24,-26,-26,-23,35,-27,2,2,-18,7,2,-21,-30,-19,-14,-20,-10,-4,18,51,-23;
+MA /M: SY='Y'; M=-9,-10,-17,-13,-13,6,-18,-4,-9,-9,-8,-5,-7,-22,-10,-4,-3,0,-7,-10,15,-13;
+MA /M: SY='I'; M=-7,-25,-22,-29,-20,2,-31,-23,23,-19,17,12,-21,-20,-19,-19,-17,-7,19,-21,-3,-21;
+MA /M: SY='S'; M=-2,1,-23,-1,-1,-20,0,-11,-23,-3,-22,-16,3,-9,-3,-5,6,4,-18,-20,-13,-3;
+MA /M: SY='E'; M=-6,4,-26,6,9,-25,3,-7,-25,-4,-22,-16,5,-8,1,-5,3,-4,-21,-27,-18,4;
+MA /I: I=-6; MI=-29; MD=-29; IM=-29;
+MA /M: SY='R'; M=-5,-2,-16,-3,0,-13,-1,-5,-14,6,-11,-7,2,-7,0,10,-3,-5,-12,-14,-9,-1; D=-6;
+MA /I: I=-6; MI=0; IM=0; DM=-29;
+MA /M: M=-6,-6,-23,-5,-1,-15,-19,-1,-9,-4,-5,-3,-6,-13,-2,-1,-6,-5,-7,-26,-8,-2;
+MA /M: SY='R'; M=-4,-4,-18,-8,-4,-16,-12,-9,-17,3,-16,-10,0,-13,0,4,2,3,-12,-24,-9,-3;
+MA /M: SY='F'; M=-15,-26,-19,-34,-26,59,-28,-14,0,-26,8,0,-17,-28,-32,-19,-18,-9,-1,5,27,-26;
+MA /M: SY='N'; M=-4,6,-19,5,1,-24,-1,-7,-23,-5,-22,-15,9,-6,-3,-5,3,-5,-20,-31,-20,-1;
+MA /M: SY='S'; M=3,5,-9,2,-3,-19,-5,-12,-19,-9,-24,-18,9,-12,-5,-10,25,20,-11,-36,-18,-4;
+MA /M: SY='L'; M=-10,-30,-22,-33,-23,11,-32,-23,26,-28,35,18,-26,-25,-21,-22,-25,-9,16,-19,1,-23;
+MA /M: SY='P'; M=-1,-5,-24,-7,-3,-20,-10,-7,-14,-6,-16,-8,-3,2,2,-9,0,-2,-14,-22,-12,-2;
+MA /M: SY='E'; M=-10,13,-28,21,30,-28,-18,1,-25,3,-17,-15,2,-8,15,-4,-2,-8,-24,-27,-12,22;
+MA /M: SY='L'; M=-10,-29,-22,-31,-21,8,-31,-20,23,-27,41,22,-27,-28,-18,-18,-27,-10,12,-20,0,-20;
+MA /M: SY='I'; M=-5,-30,-17,-35,-29,0,-35,-29,38,-25,16,15,-25,-25,-25,-25,-16,-5,37,-25,-5,-29;
+MA /M: SY='E'; M=-8,3,-25,5,11,-20,-15,4,-19,2,-16,-8,2,-13,9,2,-1,-5,-18,-23,-6,9;
+MA /M: SY='H'; M=-17,-5,-28,-5,-6,-2,-20,49,-17,-10,-12,-3,-1,-22,-1,-6,-11,-14,-19,-11,30,-7;
+MA /M: SY='Y'; M=-19,-16,-29,-17,-15,19,-28,32,-6,-12,-1,1,-14,-27,-7,-9,-18,-12,-13,11,56,-15;
+MA /M: SY='Q'; M=-6,-6,-23,-6,4,-20,-17,-6,-17,8,-15,-5,-3,-9,10,9,2,1,-14,-24,-10,6;
+MA /M: SY='Q'; M=-11,0,-26,1,7,-23,-20,9,-18,10,-18,-6,1,-14,12,6,-4,-6,-15,-24,-4,8;
+MA /M: SY='N'; M=-5,6,-21,1,1,-18,-12,4,-14,-3,-15,-6,11,-15,1,-2,3,0,-13,-31,-12,0;
+MA /M: SY='S'; M=6,-5,-22,-5,0,-24,-5,-6,-20,-2,-21,-11,-2,1,2,-6,7,-2,-16,-27,-17,0;
+MA /M: M=-2,-2,-20,-1,-6,-16,-12,-14,-6,-11,-1,-3,-7,-18,-8,-13,-8,-7,-4,-26,-13,-8;
+MA /M: SY='G'; M=-2,-9,-26,-7,-6,-20,12,-15,-21,-9,-17,-12,-7,-8,-10,-10,-3,-9,-15,-22,-17,-9;
+MA /M: SY='L'; M=-11,-12,-19,-13,-5,-7,-25,-11,3,-13,15,4,-10,-22,-6,-7,-16,-8,-3,-25,-7,-6;
+MA /I: I=-4; MI=-19; MD=-19; IM=-19;
+MA /M: SY='C'; M=-4,-14,11,-20,-17,-11,-22,-17,-3,-15,-4,-3,-12,-21,-15,-16,-6,0,3,-29,-11,-17; D=-4;
+MA /I: I=-4; MI=-19; MD=-19; IM=-19; DM=-19;
+MA /M: M=-9,-4,-6,-7,-3,-10,-17,-1,-16,-6,-15,-8,-1,-13,-4,-5,-1,-1,-13,-25,-6,-4; D=-4;
+MA /I: I=-4; MI=0; IM=0; DM=-19;
+MA /M: SY='R'; M=-11,-9,-24,-10,-2,-14,-22,-7,-14,14,-13,-5,-6,-15,0,17,-9,-5,-9,-20,-4,-3;
+MA /M: SY='L'; M=-11,-29,-21,-29,-20,11,-30,-16,19,-27,43,19,-28,-29,-18,-19,-28,-10,9,-15,8,-20;
+MA /M: SY='R'; M=-7,-11,-22,-13,-7,-11,-20,-9,-8,2,-4,-2,-8,-18,-3,8,-5,2,-4,-22,-4,-6;
+MA /M: SY='Y'; M=-12,-4,-25,-5,-4,-4,-20,5,-12,-1,-12,-7,-4,-19,-1,1,-5,-3,-12,-10,16,-4;
+MA /M: SY='P'; M=-5,-18,-34,-12,-3,-26,-19,-18,-15,-11,-24,-15,-17,65,-10,-19,-6,-6,-21,-29,-26,-10;
+MA /M: SY='V'; M=-5,-22,7,-24,-20,-2,-28,-22,7,-18,4,2,-22,-26,-22,-18,-12,-6,17,-27,-8,-21;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=145(124); /POSITIVE=144(123); /UNKNOWN=1(1); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=1;
+CC /TAXO-RANGE=??E??; /MAX-REPEAT=2;
+DR P00519, ABL1_HUMAN, T; P00520, ABL_MOUSE , T; P00521, ABL_MLVAB , T;
+DR P00522, ABL_DROME , T; P00523, SRC_CHICK , T; P00524, SRC_RSVSR , T;
+DR P00525, SRC_AVISR , T; P00526, SRC_RSVP , T; P00527, YES_AVISY , T;
+DR P00528, SRC1_DROME, T; P00530, FPS_FUJSV , T; P00541, FPS_AVISP , T;
+DR P00542, FES_FSVGA , T; P00543, FES_FSVST , T; P00544, FGR_FSVGR , T;
+DR P03949, ABL1_CAEEL, T; P05433, GAGC_AVISC, T; P05480, SRCN_MOUSE, T;
+DR P06239, LCK_HUMAN , T; P06240, LCK_MOUSE , T; P06241, FYN_HUMAN , T;
+DR P07332, FES_HUMAN , T; P07947, YES_HUMAN , T; P07948, LYN_HUMAN , T;
+DR P08103, HCK_MOUSE , T; P08487, PIP4_BOVIN, T; P08630, SRC2_DROME, T;
+DR P08631, HCK_HUMAN , T; P09324, YES_CHICK , T; P09769, FGR_HUMAN , T;
+DR P09851, GTPA_BOVIN, T; P10447, ABL_FSVHY , T; P10686, PIP4_RAT , T;
+DR P10936, YES_XENLA , T; P12931, SRC_HUMAN , T; P13115, SRC1_XENLA, T;
+DR P13116, SRC2_XENLA, T; P13406, FYN_XENLA , T; P14084, SRC_AVISS , T;
+DR P14085, SRC_AVIST , T; P14234, FGR_MOUSE , T; P14238, FES_FELCA , T;
+DR P15054, SRC_AVIS2 , T; P15498, VAV_HUMAN , T; P16277, BLK_MOUSE , T;
+DR P16333, NCK_HUMAN , T; P16591, FER_HUMAN , T; P16879, FES_MOUSE , T;
+DR P16885, PIP5_HUMAN, T; P17713, STK_HYDAT , T; P18106, FPS_DROME , T;
+DR P19174, PIP4_HUMAN, T; P20936, GTPA_HUMAN, T; P23615, SPT6_YEAST, T;
+DR P23726, P85B_BOVIN, T; P23727, P85A_BOVIN, T; P24135, PIP5_RAT , T;
+DR P24604, TEC_MOUSE , T; P25020, SRC_RSVH1 , T; P25911, LYN_MOUSE , T;
+DR P26450, P85A_MOUSE, T; P27446, FYN_XIPHE , T; P27447, YES_XIPHE , T;
+DR P27870, VAV_MOUSE , T; P27986, P85A_HUMAN, T; P29349, CSW_DROME , T;
+DR P29350, PTN6_HUMAN, T; P29351, PTN6_MOUSE, T; P29353, SHC_HUMAN , T;
+DR P29354, GRB2_HUMAN, T; P29355, SEM5_CAEEL, T; P31693, SRC_RSVPA , T;
+DR P32577, CSK_RAT , T; P34265, YKF1_CAEEL, T; P35235, PTNB_MOUSE, T;
+DR P35991, BTK_MOUSE , T; P39688, FYN_MOUSE , T; P40763, STA3_HUMAN, T;
+DR P41239, CSK_CHICK , T; P41240, CSK_HUMAN , T; P41241, CSK_MOUSE , T;
+DR P41242, CTK_MOUSE , T; P41243, CTK_RAT , T; P41499, PTNB_RAT , T;
+DR P42224, STA1_HUMAN, T; P42225, STA1_MOUSE, T; P42226, STA2_HUMAN, T;
+DR P42227, STA3_MOUSE, T; P42228, STA4_MOUSE, T; P42229, STA5_HUMAN, T;
+DR P42230, STA5_MOUSE, T; P42231, STA5_SHEEP, T; P42232, STAB_MOUSE, T;
+DR P42679, CTK_HUMAN , T; P42680, TEC_HUMAN , T; P42681, TXK_HUMAN , T;
+DR P42682, TXK_MOUSE , T; P42683, LCK_CHICK , T; P42684, ABL2_HUMAN, T;
+DR P42685, FRK_HUMAN , T; P42686, SRK1_SPOLA, T; P42687, SPK1_DUGTI, T;
+DR P42688, SRK2_SPOLA, T; P42689, SRK3_SPOLA, T; P42690, SRK4_SPOLA, T;
+DR P43403, ZA70_HUMAN, T; P43404, ZA70_MOUSE, T; P43405, SYK_HUMAN , T;
+DR P46108, CRK_HUMAN , T; P46109, CRKL_HUMAN, T; Q00655, SYK_PIG , T;
+DR Q02977, YRK_CHICK , T; Q03526, ITK_MOUSE , T; Q04205, TENS_CHICK, T;
+DR Q04736, YES_MOUSE , T; Q04929, CRK_CHICK , T; Q05876, FYN_CHICK , T;
+DR Q06124, PTNB_HUMAN, T; Q06187, BTK_HUMAN , T; Q07014, LYN_RAT , T;
+DR Q07883, GRB2_CHICK, T; Q08012, DRK_DROME , T; Q08881, ITK_HUMAN , T;
+DR P23458, JAK1_HUMAN, ?;
+DR P09760, FLK_RAT , P;
+DO PDOC50001;
+//
+ID SH3; MATRIX.
+AC PS50002;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Src homology 3 (SH3) domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=62;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=57;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.9383; R2=0.016376; TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=462; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-60; E1=-60; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='P'; M=-4,-8,-26,-7,-1,-19,-11,-11,-15,-3,-16,-9,-6,6,-3,-6,-2,-3,-14,-25,-15,-3;
+MA /M: SY='E'; M=-5,-3,-25,0,4,-18,-8,-9,-17,-5,-15,-11,-4,-4,-3,-8,-1,-6,-14,-26,-14,0;
+MA /M: M=-5,-8,-25,-8,-4,-17,-4,-14,-14,-5,-13,-8,-7,-6,-7,-6,-4,-7,-11,-24,-15,-6;
+MA /M: M=-10,-6,-23,-7,-1,-9,-17,-8,-15,-1,-12,-6,-6,-6,-3,-1,-6,-4,-14,-21,-6,-2;
+MA /M: SY='Y'; M=-5,-15,-21,-18,-9,-4,-24,-12,-1,-6,-1,1,-13,-17,-5,-5,-8,-1,0,-14,3,-8;
+MA /M: SY='V'; M=2,-22,-14,-27,-23,7,-21,-17,11,-18,4,4,-20,-25,-22,-19,-9,-4,19,-15,4,-23;
+MA /M: SY='R'; M=-9,-15,-24,-17,-9,-13,-25,-14,1,3,-6,1,-11,-19,-4,9,-9,-3,6,-22,-6,-8;
+MA /M: SY='A'; M=38,-11,-9,-19,-11,-18,-5,-21,-7,-11,-9,-9,-11,-12,-12,-19,8,3,4,-23,-19,-11;
+MA /M: SY='L'; M=-8,-20,-22,-22,-13,-2,-27,-14,11,-16,22,11,-18,-23,-11,-12,-18,-7,5,-21,-2,-13;
+MA /M: SY='Y'; M=-17,-19,-26,-22,-20,30,-26,9,-2,-13,0,-1,-16,-28,-14,-11,-16,-9,-7,15,54,-19;
+MA /M: SY='D'; M=-11,30,-28,43,14,-34,-6,-4,-33,-2,-27,-24,13,-4,0,-10,2,-8,-26,-35,-20,6;
+MA /M: SY='Y'; M=-19,-23,-27,-26,-23,44,-29,6,1,-17,4,0,-20,-30,-20,-14,-20,-10,-6,22,61,-23;
+MA /M: SY='E'; M=-6,5,-23,6,11,-22,-15,-3,-19,2,-18,-10,2,-7,6,-3,0,-4,-16,-28,-14,8;
+MA /I: I=-6; MI=0; IM=0; B1=-50;
+MA /M: SY='A'; M=16,-9,-20,-12,-5,-22,-2,-16,-17,-4,-18,-12,-6,2,-6,-8,5,-1,-11,-24,-20,-7;
+MA /M: SY='E'; M=-4,-2,-25,-3,8,-23,-13,-6,-19,5,-19,-10,1,-7,7,6,2,-2,-16,-26,-15,6;
+MA /M: SY='D'; M=-6,5,-24,7,7,-23,-10,-3,-22,2,-20,-12,4,-9,4,1,4,0,-18,-29,-14,5;
+MA /M: SY='P'; M=-4,4,-24,9,9,-28,-6,-10,-26,-3,-25,-19,0,11,-2,-8,3,-4,-23,-31,-22,2;
+MA /M: SY='D'; M=-10,18,-26,24,10,-29,-1,-4,-30,-1,-26,-20,10,-8,1,-6,3,-6,-25,-31,-17,5;
+MA /M: SY='E'; M=-12,18,-28,28,35,-28,-14,3,-31,3,-22,-21,6,-6,9,-4,0,-9,-28,-31,-16,22;
+MA /M: SY='L'; M=-8,-28,-18,-30,-21,7,-30,-21,21,-27,38,17,-27,-28,-20,-20,-24,-8,13,-21,-1,-21;
+MA /M: SY='S'; M=3,0,-19,0,2,-22,-6,-10,-20,-5,-22,-15,3,-3,1,-5,15,8,-15,-30,-17,0;
+MA /M: SY='F'; M=-12,-28,-20,-34,-25,36,-29,-20,13,-26,21,11,-22,-27,-27,-19,-20,-8,10,-8,11,-24;
+MA /I: I=-6; MI=0; IM=0;
+MA /M: SY='K'; M=-9,-1,-23,-2,5,-20,-17,-5,-20,14,-17,-8,1,-14,5,14,-4,-4,-16,-24,-11,4;
+MA /M: SY='K'; M=-5,-4,-28,-3,9,-25,-16,-9,-22,17,-21,-11,-3,1,5,9,-5,-7,-18,-24,-15,6;
+MA /M: SY='G'; M=-1,-3,-28,-3,-12,-29,50,-16,-37,-13,-29,-20,4,-18,-14,-14,1,-16,-28,-23,-27,-13;
+MA /M: SY='D'; M=-14,30,-29,44,28,-34,-14,-1,-32,2,-24,-23,11,-8,7,-6,0,-9,-27,-35,-19,18;
+MA /M: SY='I'; M=-8,-18,-23,-22,-14,-3,-27,-16,10,-7,2,6,-14,-18,-11,-7,-11,-4,10,-20,-2,-14;
+MA /M: SY='I'; M=-10,-28,-18,-32,-25,11,-32,-19,24,-25,22,16,-24,-27,-21,-21,-20,-8,19,-18,4,-24;
+MA /M: SY='Y'; M=-9,-7,-24,-10,-3,-8,-22,0,-7,-3,-7,-3,-4,-17,-1,-2,-5,-1,-8,-18,2,-3;
+MA /M: SY='I'; M=-4,-27,-19,-32,-27,1,-32,-27,32,-24,19,14,-24,-26,-23,-23,-16,-5,32,-25,-5,-27;
+MA /M: SY='L'; M=-7,-21,-18,-23,-16,-2,-26,-18,14,-20,18,9,-19,-23,-15,-17,-14,-5,11,-24,-5,-17;
+MA /M: SY='E'; M=-6,14,-24,14,16,-24,-9,-2,-26,6,-23,-17,14,-11,5,3,3,-4,-23,-30,-16,10;
+MA /M: SY='K'; M=-4,5,-22,6,6,-23,-14,-6,-21,11,-21,-11,3,-13,4,5,1,-2,-14,-26,-11,4;
+MA /I: I=-5; MI=0; MD=-13; IM=0;
+MA /M: SY='S'; M=-5,-1,-16,-1,-1,-12,-11,-5,-11,-5,-11,-8,0,-13,-3,-7,1,1,-8,-22,-7,-3; D=-3;
+MA /I: I=-5; MI=-13; IM=-13; DM=-13;
+MA /M: SY='D'; M=-10,22,-25,26,16,-27,-9,0,-26,-1,-23,-19,17,-8,3,-6,4,-4,-24,-34,-18,9;
+MA /M: SY='D'; M=-4,6,-24,8,3,-27,3,-8,-25,-2,-23,-16,4,-7,-2,-7,1,-8,-20,-29,-19,0;
+MA /M: SY='D'; M=-8,13,-27,16,7,-26,11,1,-31,-6,-26,-19,11,-13,-2,-9,2,-10,-27,-28,-16,2;
+MA /M: SY='W'; M=-20,-40,-50,-40,-30,10,-20,-29,-20,-20,-20,-20,-40,-30,-20,-20,-40,-30,-30,148,31,-20;
+MA /M: SY='W'; M=-16,-32,-32,-33,-26,11,-23,-20,-11,-19,-7,-9,-31,-29,-18,-18,-30,-19,-18,85,27,-20;
+MA /M: SY='R'; M=-11,-5,-27,-5,4,-14,-21,-8,-15,9,-10,-6,-5,-15,2,10,-9,-7,-13,-18,-5,2;
+MA /M: SY='G'; M=15,-16,-14,-20,-20,-19,17,-23,-11,-18,-12,-8,-11,-20,-19,-21,0,-8,0,-23,-21,-20;
+MA /M: SY='R'; M=-12,-2,-26,-1,12,-23,-20,-2,-22,16,-17,-9,-1,-14,10,23,-5,-7,-17,-24,-10,9;
+MA /M: SY='N'; M=-8,-2,-10,-6,-9,-11,-18,-5,-9,-9,-7,-6,2,-19,-9,-7,-3,-3,-7,-29,-8,-10;
+MA /M: M=-8,-5,-22,-7,-4,-14,-15,-6,-8,-4,-6,-3,-3,-16,-5,-4,-7,-6,-7,-26,-9,-5;
+MA /I: I=-4; MI=-12; MD=-12; IM=-12;
+MA /M: SY='R'; M=-1,0,-12,-1,-2,-12,-4,-6,-11,1,-10,-7,1,-8,-2,3,3,3,-6,-16,-8,-3; D=-2;
+MA /I: I=-4; MI=0; MD=-12; IM=0; DM=-12; E1=-50;
+MA /M: SY='T'; M=-2,2,-13,-1,-2,-11,-7,-9,-11,-5,-10,-8,3,-10,-4,-7,7,12,-7,-21,-9,-3; D=-2;
+MA /I: I=-4; MI=-12; IM=-12; DM=-12;
+MA /M: SY='G'; M=-5,0,-23,0,-7,-26,28,-13,-30,-9,-23,-16,4,-19,-11,-9,-2,-13,-23,-26,-23,-9;
+MA /M: SY='Q'; M=-10,3,-28,4,15,-28,-14,1,-24,13,-21,-10,3,-8,17,11,-2,-8,-23,-25,-13,15;
+MA /M: SY='E'; M=-8,-6,-25,-6,10,-18,-21,-8,-13,4,-13,-7,-6,-10,8,7,-3,-3,-11,-22,-11,8;
+MA /M: SY='G'; M=0,-10,-30,-10,-19,-29,67,-20,-39,-20,-28,-19,-1,-20,-19,-20,-1,-20,-29,-20,-29,-19;
+MA /M: SY='Y'; M=-15,-27,-28,-30,-24,20,-29,-16,10,-23,14,7,-25,-27,-20,-19,-25,-13,2,20,21,-22;
+MA /M: SY='I'; M=-8,-29,-21,-35,-28,22,-32,-25,26,-26,15,10,-23,-26,-28,-23,-17,-7,24,-14,7,-28;
+MA /M: SY='P'; M=-8,-20,-38,-11,-1,-29,-19,-20,-19,-10,-29,-19,-20,84,-10,-20,-9,-9,-27,-30,-29,-10;
+MA /M: SY='S'; M=11,-5,-10,-8,-5,-19,-3,-13,-17,-7,-20,-14,0,-12,-5,-10,17,8,-8,-31,-18,-5;
+MA /M: SY='N'; M=-3,18,-19,8,-1,-21,-4,-2,-18,-2,-24,-16,28,-11,-1,-4,10,4,-19,-35,-19,-1;
+MA /M: SY='Y'; M=-16,-20,-22,-23,-20,28,-28,6,-1,-13,1,-1,-17,-28,-15,-10,-17,-9,-6,13,50,-20;
+MA /M: SY='V'; M=-5,-27,-15,-29,-25,1,-29,-25,23,-18,14,10,-25,-27,-23,-15,-14,-2,31,-25,-7,-25;
+MA /M: SY='E'; M=-1,-1,-23,0,14,-24,-16,-6,-20,6,-16,-11,-3,-11,11,5,1,-1,-16,-24,-14,12;
+MA /M: SY='E'; M=-9,-7,-27,-2,11,-20,-20,-10,-15,0,-14,-9,-9,11,0,-5,-7,-8,-17,-26,-14,4;
+MA /M: M=-6,-13,-21,-15,-9,-8,-20,-11,0,-7,-3,0,-10,-17,-7,-6,-7,-5,0,-19,-3,-9;
+MA /M: SY='D'; M=-8,9,-25,10,5,-23,-8,-5,-21,2,-19,-13,8,-10,-1,0,-1,-6,-18,-29,-15,1;
+MA /M: SY='S'; M=-1,-4,-21,-5,-4,-18,-9,-6,-14,-7,-14,-10,-1,-7,-4,-5,4,-1,-11,-29,-14,-5;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=153(133); /POSITIVE=153(133); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=3;
+CC /TAXO-RANGE=??E?V; /MAX-REPEAT=4;
+DR P00519, ABL1_HUMAN, T; P00520, ABL_MOUSE , T; P00522, ABL_DROME , T;
+DR P00523, SRC_CHICK , T; P00524, SRC_RSVSR , T; P00525, SRC_AVISR , T;
+DR P00526, SRC_RSVP , T; P00527, YES_AVISY , T; P00528, SRC1_DROME, T;
+DR P02549, SPCA_HUMAN, T; P03949, ABL1_CAEEL, T; P04821, CC25_YEAST, T;
+DR P05433, GAGC_AVISC, T; P05480, SRCN_MOUSE, T; P06239, LCK_HUMAN , T;
+DR P06240, LCK_MOUSE , T; P06241, FYN_HUMAN , T; P07751, SPCN_CHICK, T;
+DR P07947, YES_HUMAN , T; P07948, LYN_HUMAN , T; P08103, HCK_MOUSE , T;
+DR P08487, PIP4_BOVIN, T; P08630, SRC2_DROME, T; P08631, HCK_HUMAN , T;
+DR P09324, YES_CHICK , T; P09769, FGR_HUMAN , T; P09851, GTPA_BOVIN, T;
+DR P10447, ABL_FSVHY , T; P10569, MYSC_ACACA, T; P10686, PIP4_RAT , T;
+DR P10936, YES_XENLA , T; P11710, FUS1_YEAST, T; P12931, SRC_HUMAN , T;
+DR P13115, SRC1_XENLA, T; P13116, SRC2_XENLA, T; P13395, SPCA_DROME, T;
+DR P13406, FYN_XENLA , T; P14084, SRC_AVISS , T; P14085, SRC_AVIST , T;
+DR P14234, FGR_MOUSE , T; P14317, HS1_HUMAN , T; P14598, NCF1_HUMAN, T;
+DR P14771, SC25_YEAST, T; P15054, SRC_AVIS2 , T; P15498, VAV_HUMAN , T;
+DR P15891, ABP1_YEAST, T; P16277, BLK_MOUSE , T; P16333, NCK_HUMAN , T;
+DR P16546, FODA_MOUSE, T; P16885, PIP5_HUMAN, T; P17713, STK_HYDAT , T;
+DR P19174, PIP4_HUMAN, T; P19517, CICB_RABIT, T; P19706, MYSB_ACACA, T;
+DR P19878, NCF2_HUMAN, T; P20936, GTPA_HUMAN, T; P23726, P85B_BOVIN, T;
+DR P23727, P85A_BOVIN, T; P24135, PIP5_RAT , T; P24604, TEC_MOUSE , T;
+DR P25020, SRC_RSVH1 , T; P25911, LYN_MOUSE , T; P26450, P85A_MOUSE, T;
+DR P26674, STE6_SCHPO, T; P27446, FYN_XIPHE , T; P27447, YES_XIPHE , T;
+DR P27637, YAI4_YEAST, T; P27870, VAV_MOUSE , T; P27986, P85A_HUMAN, T;
+DR P29354, GRB2_HUMAN, T; P29355, SEM5_CAEEL, T; P29366, BEM1_YEAST, T;
+DR P31007, DLG1_DROME, T; P31016, PSD9_RAT , T; P31693, SRC_RSVPA , T;
+DR P32577, CSK_RAT , T; P32790, SLA1_YEAST, T; P32793, YHH6_YEAST, T;
+DR P34092, MYSB_DICDI, T; P34109, MYSD_DICDI, T; P34258, YKA7_CAEEL, T;
+DR P34416, YLZ3_CAEEL, T; P35991, BTK_MOUSE , T; P36006, MYS3_YEAST, T;
+DR P38041, BOB1_YEAST, T; P38479, ABP1_SACEX, T; P38753, YHA2_YEAST, T;
+DR P38822, YHR4_YEAST, T; P39447, ZO1_MOUSE , T; P39688, FYN_MOUSE , T;
+DR P39743, R167_YEAST, T; P39969, BEB1_YEAST, T; P40073, SS81_YEAST, T;
+DR P40996, SCD2_SCHPO, T; P41239, CSK_CHICK , T; P41240, CSK_HUMAN , T;
+DR P41241, CSK_MOUSE , T; P41242, CTK_MOUSE , T; P41243, CTK_RAT , T;
+DR P42522, MYSC_DICDI, T; P42679, CTK_HUMAN , T; P42680, TEC_HUMAN , T;
+DR P42681, TXK_HUMAN , T; P42682, TXK_MOUSE , T; P42683, LCK_CHICK , T;
+DR P42684, ABL2_HUMAN, T; P42685, FRK_HUMAN , T; P42686, SRK1_SPOLA, T;
+DR P42687, SPK1_DUGTI, T; P42690, SRK4_SPOLA, T; P43069, CC25_CANAL, T;
+DR P43603, YFJ4_YEAST, T; P46108, CRK_HUMAN , T; P46109, CRKL_HUMAN, T;
+DR Q00013, MPP1_HUMAN, T; Q01406, SRC8_CHICK, T; Q02639, CICB_HUMAN, T;
+DR Q02640, CICX_HUMAN, T; Q02641, CICY_HUMAN, T; Q02977, YRK_CHICK , T;
+DR Q03526, ITK_MOUSE , T; Q04736, YES_MOUSE , T; Q04929, CRK_CHICK , T;
+DR Q05876, FYN_CHICK , T; Q06187, BTK_HUMAN , T; Q07014, LYN_RAT , T;
+DR Q07157, ZO1_HUMAN , T; Q07883, GRB2_CHICK, T; Q08012, DRK_DROME , T;
+DR Q08289, MSAB_HUMAN, T; Q08881, ITK_HUMAN , T; Q09014, NCF1_MOUSE, T;
+DR Q09746, YA65_SCHPO, T;
+DR P09760, FLK_RAT , P; P42688, SRK2_SPOLA, P; P42689, SRK3_SPOLA, P;
+DO PDOC50002;
+//
+ID WW_DOMAIN_2; MATRIX.
+AC PS50020;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE WW/rsp5/WWP domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=34;
+MA /DISJOINT: DEFINITION=PROTECT; N1=4; N2=31;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.2776; R2=0.0197; TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=417; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-50; E1=-50; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='S'; M=-5,-9,-25,-10,-3,-21,-5,-13,-15,-7,-16,-9,-6,-1,0,-5,2,1,-13,-26,-17,-3;
+MA /M: SY='P'; M=-7,-5,-30,-1,-1,-24,-5,-13,-22,-9,-24,-17,-4,27,-6,-13,0,-5,-24,-29,-22,-5;
+MA /M: SY='L'; M=-8,-23,-19,-24,-18,2,-27,-18,15,-22,29,12,-22,-24,-16,-14,-21,-7,12,-24,-5,-18;
+MA /M: SY='P'; M=-9,-10,-34,-5,7,-27,-18,-12,-18,-6,-23,-13,-10,49,1,-13,-5,-8,-26,-29,-23,1;
+MA /M: SY='P'; M=-1,-1,-24,1,-2,-22,-6,-11,-21,-5,-24,-17,2,12,-5,-10,8,1,-19,-29,-17,-5;
+MA /M: SY='G'; M=-4,-9,-31,-7,-11,-29,34,-14,-30,-16,-27,-18,-3,4,-12,-18,-1,-14,-27,-24,-25,-13;
+MA /M: SY='W'; M=-20,-40,-50,-40,-30,10,-20,-30,-20,-20,-20,-20,-40,-30,-20,-20,-40,-30,-30,150,30,-20;
+MA /M: SY='E'; M=-8,0,-25,3,24,-20,-20,-7,-21,15,-18,-10,-3,-8,9,5,-2,-3,-16,-25,-12,16;
+MA /M: SY='E'; M=-1,-8,-15,-8,7,-19,-15,-11,-13,1,-11,-5,-9,-15,1,1,-3,-5,-6,-26,-15,3;
+MA /M: SY='R'; M=-2,-16,-23,-18,-12,-7,-20,-4,-7,-1,-7,-3,-12,-21,-7,6,-9,-8,-2,-10,2,-11;
+MA /M: SY='Y'; M=-11,-14,-24,-18,-8,4,-25,-10,-5,-4,-4,1,-12,-19,-4,-5,-10,-2,-5,-7,5,-6;
+MA /M: SY='D'; M=-5,17,-20,19,3,-23,-11,1,-22,-6,-20,-14,10,-12,-2,-9,10,10,-15,-34,-13,0;
+MA /M: SY='B'; M=-2,6,-25,6,3,-26,-6,-8,-23,-1,-23,-16,4,3,-3,-8,3,0,-19,-29,-18,-1;
+MA /M: SY='N'; M=-7,10,-22,10,8,-21,-13,-6,-22,6,-22,-15,11,-13,1,2,7,2,-16,-31,-15,5;
+MA /I: MD=-27;
+MA /M: SY='G'; M=-3,-5,-26,-7,-11,-23,30,-13,-28,-3,-23,-12,2,-17,-10,-7,-2,-11,-22,-18,-17,-11; D=-5;
+MA /I: I=-10; MI=-5; MD=-27; IM=-5; DM=-27;
+MA /M: SY='R'; M=-13,-10,-25,-12,-3,-14,-17,-7,-18,14,-14,-7,-4,-18,3,34,-7,-4,-11,-20,-8,-3; D=-5;
+MA /I: DM=-27;
+MA /M: SY='P'; M=-7,-15,-25,-16,-9,-8,-23,-17,-5,-7,-11,-7,-13,5,-11,-9,-5,3,-4,-14,-5,-12;
+MA /M: SY='Y'; M=-19,-24,-26,-27,-24,40,-30,5,4,-17,4,1,-20,-30,-19,-14,-20,-10,-3,20,59,-24;
+MA /M: SY='Y'; M=-20,-24,-26,-28,-24,50,-30,4,0,-18,4,0,-20,-30,-22,-14,-20,-10,-6,22,60,-24;
+MA /M: SY='Y'; M=-12,-26,-25,-29,-24,10,-29,-9,13,-21,7,5,-22,-26,-19,-18,-18,-8,10,6,14,-23;
+MA /M: SY='N'; M=-12,40,-22,29,4,-24,-3,12,-24,0,-30,-21,51,-18,0,-2,7,-3,-30,-40,-18,2;
+MA /M: SY='H'; M=-12,-5,-28,-5,-3,-18,-20,39,-19,-8,-12,-3,-1,-5,0,-4,-9,-10,-19,-28,2,-5;
+MA /M: SY='E'; M=-5,2,-23,0,9,-19,-17,-8,-12,2,-13,-9,5,-10,2,-3,-1,-3,-11,-29,-15,5;
+MA /M: SY='T'; M=-1,3,-13,-5,-8,-12,-17,-16,-10,-10,-11,-11,5,-12,-8,-11,17,34,-3,-32,-12,-8;
+MA /M: SY='K'; M=-11,1,-29,-1,4,-28,-7,1,-29,25,-27,-10,6,-14,11,22,-6,-11,-24,-22,-12,7;
+MA /M: SY='E'; M=-7,5,-23,5,17,-23,-19,-4,-23,10,-20,-13,2,-8,7,5,5,10,-17,-28,-12,12;
+MA /M: SY='T'; M=3,0,-10,-7,-7,-13,-14,-17,-13,-10,-16,-13,3,-10,-7,-10,26,40,-3,-33,-13,-7;
+MA /M: SY='Q'; M=-6,-5,-11,-8,0,-19,-19,-5,-16,-3,-14,-7,-3,-15,14,1,7,11,-14,-25,-7,6;
+MA /M: SY='W'; M=-19,-36,-45,-37,-28,14,-21,-24,-17,-19,-16,-17,-35,-29,-20,-19,-34,-24,-25,124,33,-20;
+MA /M: SY='E'; M=-9,4,-25,9,19,-22,-20,-6,-15,0,-14,-11,-2,-10,8,-5,0,-2,-14,-27,-10,13;
+MA /M: SY='D'; M=-15,5,-32,12,8,-29,-18,4,-27,10,-25,-15,1,11,2,8,-8,-11,-24,-29,-14,2;
+MA /M: SY='P'; M=-10,-20,-40,-10,0,-30,-20,-20,-20,-10,-30,-20,-20,90,-10,-20,-10,-10,-30,-30,-30,-10;
+MA /M: SY='R'; M=-9,1,-23,0,1,-20,-14,-8,-21,10,-16,-11,2,-16,0,19,-1,0,-13,-27,-13,-1;
+MA /M: SY='M'; M=-10,-15,-24,-17,-8,-2,-13,-10,-6,-11,-1,2,-12,-11,-11,-8,-11,-6,-6,-20,-6,-10;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=31(20); /POSITIVE=31(20); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=1;
+CC /TAXO-RANGE=??E??; /MAX-REPEAT=4;
+DR P46942, DB10_NICSY, T; P11533, DMD_CHICK , T; P11532, DMD_HUMAN , T;
+DR P11531, DMD_MOUSE , T; P22696, ESS1_YEAST, T; P46933, FE65_RAT , T;
+DR P46940, IQGA_HUMAN, T; P46934, NED4_HUMAN, T; P46935, NED4_MOUSE, T;
+DR P39940, RSP5_YEAST, T; P40318, SSM4_YEAST, T; P46939, UTRO_HUMAN, T;
+DR P46936, YA65_CHICK, T; P46937, YA65_HUMAN, T; P46938, YA65_MOUSE, T;
+DR Q09685, YA12_SCHPO, T; P43582, YFB0_YEAST, T; P33203, YKB2_YEAST, T;
+DR P46941, YLE5_CAEEL, T; P34600, YO61_CAEEL, T;
+DR P11530, DMD_RAT , P;
+DO PDOC50020;
+//
+ID HTH_ARAC_FAMILY_2; MATRIX.
+AC PS01124;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Bacterial regulatory proteins, araC family DNA-binding domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=99;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=94;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=1.5162; R2=0.0218; TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=320; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-70; E1=-70; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='D'; M=-10,11,-25,14,13,-25,-12,2,-25,4,-22,-15,7,-13,8,4,0,-7,-23,-25,-10,10;
+MA /M: SY='R'; M=-7,-1,-26,-1,5,-24,-15,-3,-24,15,-19,-11,0,-11,8,20,-3,-6,-18,-22,-11,5;
+MA /M: SY='V'; M=8,-24,-17,-29,-22,-2,-24,-25,21,-21,15,9,-22,-22,-20,-22,-11,-3,22,-23,-8,-22;
+MA /M: SY='V'; M=-7,-18,-10,-21,-13,-7,-25,-14,4,-11,5,4,-15,-23,-10,-5,-11,-2,6,-23,-5,-13;
+MA /M: SY='Q'; M=-2,-1,-20,-3,2,-23,-10,1,-19,0,-14,-7,0,-15,7,1,-1,-4,-16,-26,-12,3;
+MA /M: SY='Y'; M=-12,-25,-25,-28,-22,20,-27,-9,3,-16,5,1,-22,-27,-18,-13,-20,-10,-2,19,30,-21;
+MA /M: SY='I'; M=-8,-28,-20,-35,-26,2,-34,-24,34,-27,24,21,-23,-23,-19,-25,-20,-9,22,-21,-2,-25;
+MA /M: SY='E'; M=-8,3,-25,6,20,-21,-19,2,-19,1,-13,-11,0,-11,7,2,-1,-5,-17,-28,-12,13;
+MA /M: SY='E'; M=-3,6,-24,8,12,-22,-10,-4,-23,3,-18,-14,4,-12,4,1,2,-3,-18,-28,-15,7;
+MA /M: SY='N'; M=-12,21,-22,17,3,-23,-10,20,-24,-1,-23,-14,26,-17,3,0,2,-4,-24,-34,-10,2;
+MA /M: SY='L'; M=-8,-25,-24,-26,-17,7,-28,-16,14,-22,20,10,-23,-14,-17,-19,-20,-9,5,-14,6,-18;
+MA /M: SY='E'; M=3,0,-20,0,9,-24,-12,-1,-21,1,-18,-11,0,-10,9,-3,5,-1,-17,-27,-13,9;
+MA /M: SY='R'; M=-9,4,-24,5,13,-26,-15,4,-26,12,-22,-12,5,-12,14,16,1,-5,-22,-27,-12,12;
+MA /I: MD=-25;
+MA /M: SY='P'; M=-4,-1,-25,1,5,-23,-6,-7,-22,4,-23,-15,1,7,0,1,3,-3,-20,-26,-17,1; D=-5;
+MA /I: I=-7; MI=0; IM=0; DM=-25;
+MA /M: SY='W'; M=-13,-31,-27,-34,-26,10,-27,-25,8,-24,10,2,-28,-26,-22,-20,-26,-14,2,33,9,-23;
+MA /M: SY='T'; M=-3,3,-17,-1,-1,-18,-12,-5,-20,1,-20,-13,7,-13,-2,3,12,15,-13,-30,-12,-2;
+MA /M: SY='L'; M=-8,-29,-22,-32,-23,4,-31,-24,25,-26,30,16,-27,-24,-20,-21,-23,-8,17,-16,-2,-23;
+MA /M: SY='E'; M=0,12,-24,15,17,-27,-9,-5,-26,3,-21,-17,6,-8,3,-2,4,-4,-20,-30,-18,10;
+MA /M: SY='D'; M=-6,11,-22,14,8,-24,-14,-6,-20,1,-18,-13,5,-12,4,0,3,-3,-16,-30,-15,5;
+MA /M: SY='I'; M=-7,-29,-18,-32,-26,9,-32,-24,27,-26,26,16,-27,-28,-24,-21,-20,-6,27,-21,-1,-26;
+MA /M: SY='A'; M=38,-11,-1,-19,-12,-19,-3,-20,-11,-12,-11,-10,-10,-13,-12,-20,10,2,0,-24,-20,-12;
+MA /M: SY='E'; M=-5,9,-25,13,16,-27,-10,-1,-26,6,-21,-15,6,-11,9,5,2,-6,-22,-28,-16,12;
+MA /M: SY='H'; M=-4,-4,-20,-5,5,-17,-17,9,-16,-2,-11,-6,-3,-15,5,-2,-3,-6,-15,-24,-4,4;
+MA /M: SY='V'; M=5,-21,-11,-26,-19,6,-21,-19,8,-20,9,4,-19,-23,-19,-19,-8,-3,11,-19,-2,-19;
+MA /M: SY='G'; M=-4,-5,-15,-9,-13,-15,14,-3,-23,-13,-18,-11,2,-20,-10,-12,-3,-11,-20,-21,-9,-13;
+MA /M: SY='M'; M=-7,-23,-14,-28,-22,3,-26,-15,17,-18,16,18,-22,-25,-17,-17,-15,-3,17,-18,4,-20;
+MA /M: SY='S'; M=7,1,-12,-1,-2,-19,0,-8,-20,-10,-27,-18,10,-11,-2,-10,33,20,-11,-37,-18,-2;
+MA /M: SY='P'; M=-7,-9,-29,-5,9,-23,-18,-11,-18,5,-17,-12,-10,15,1,3,-7,-8,-17,-25,-17,3;
+MA /M: SY='R'; M=-5,-9,-23,-12,-6,-11,-15,-10,-16,1,-17,-11,-2,-17,-2,13,4,1,-11,-11,-6,-6;
+MA /M: SY='Y'; M=-6,-9,-18,-12,-10,-5,-20,10,-10,-9,-7,-4,-5,-20,-5,-5,-1,5,-8,-16,11,-10;
+MA /M: SY='L'; M=-11,-30,-20,-32,-23,21,-30,-20,18,-29,38,16,-27,-29,-23,-20,-26,-10,11,-14,6,-23;
+MA /M: SY='R'; M=-8,-5,-22,-7,2,-19,-18,8,-20,9,-18,-7,-1,-16,12,15,-1,-5,-17,-20,-1,5;
+MA /I: I=-10; MI=-35; MD=-35; IM=-35;
+MA /M: SY='R'; M=-9,-4,-26,-5,3,-22,-16,0,-22,17,-19,-9,1,-14,5,24,-4,-5,-16,-24,-10,2; D=-6;
+MA /I: DM=-35;
+MA /M: SY='L'; M=-8,-15,-22,-18,-9,-10,-21,-8,-2,-5,8,6,-12,-21,-3,4,-13,-7,-3,-22,-6,-7;
+MA /M: SY='F'; M=-15,-28,-12,-35,-26,51,-29,-20,3,-29,17,5,-22,-30,-32,-20,-20,-9,2,-3,17,-26;
+MA /M: SY='R'; M=-10,-2,-28,-1,12,-25,-16,-4,-26,23,-21,-10,0,-13,12,25,-5,-8,-21,-23,-12,11;
+MA /M: SY='K'; M=-2,2,-24,2,11,-26,-14,-5,-24,16,-22,-12,2,-11,13,13,3,-2,-18,-25,-14,11; D=-6;
+MA /M: SY='E'; M=-2,-6,-22,-6,7,-13,-19,1,-10,-7,-10,-7,-6,-14,2,-9,-1,-3,-8,-21,-3,3;
+MA /M: SY='T'; M=-3,-8,-17,-13,-11,-7,-14,-13,-5,-10,-2,-2,-6,-19,-10,-9,-2,7,-2,-23,-5,-11;
+MA /M: SY='G'; M=-1,-7,-25,-10,-17,-23,40,-16,-28,-16,-21,-15,1,-19,-16,-15,1,-8,-20,-23,-23,-16;
+MA /I: I=-7; MI=-30; MD=-30; IM=-30;
+MA /M: SY='M'; M=-4,-12,-14,-16,-9,-8,-18,-8,3,-7,2,7,-10,-15,-3,-6,-6,0,3,-18,-4,-7; D=-6;
+MA /I: DM=-29;
+MA /M: SY='T'; M=2,0,-14,-4,-5,-18,-4,-14,-18,-7,-22,-15,6,-6,-6,-9,19,22,-11,-32,-17,-6; D=-6;
+MA /M: SY='P'; M=-10,-25,-26,-25,-16,8,-26,-20,1,-19,-2,-3,-22,18,-20,-19,-15,-9,-3,-16,-3,-20;
+MA /M: SY='N'; M=-5,-3,-19,-8,-5,-17,-8,-6,-15,2,-13,-4,3,-17,-1,2,-1,-3,-13,-26,-12,-4;
+MA /M: SY='Q'; M=-3,4,-25,4,16,-29,-11,0,-24,7,-21,-12,5,-10,21,7,3,-5,-23,-26,-15,18;
+MA /M: SY='Y'; M=-16,-25,-31,-27,-21,15,-29,-4,7,-17,5,3,-23,-27,-12,-15,-23,-13,-3,28,37,-18;
+MA /M: SY='L'; M=-9,-27,-23,-31,-22,4,-32,-21,26,-24,27,16,-23,-25,-17,-17,-21,-8,17,-19,1,-22;
+MA /M: SY='R'; M=-10,-5,-23,-9,-2,-13,-18,-3,-12,3,-6,-1,1,-18,2,15,-5,-1,-11,-25,-9,-1;
+MA /M: SY='D'; M=-7,9,-25,10,10,-25,-14,-1,-22,5,-19,-13,7,-13,9,8,1,-4,-19,-28,-13,8;
+MA /M: SY='R'; M=-8,-18,-17,-20,-12,-8,-22,-12,-6,-5,-5,-2,-14,-22,-6,5,-11,-6,-3,-6,-1,-10; D=-6;
+MA /M: SY='R'; M=-18,-9,-30,-9,2,-22,-20,-1,-29,32,-21,-9,0,-18,11,62,-10,-10,-20,-20,-10,2;
+MA /M: SY='M'; M=-8,-26,-21,-32,-22,3,-28,-16,25,-22,29,31,-24,-24,-14,-18,-22,-9,16,-20,-1,-19;
+MA /M: SY='E'; M=-5,-2,-17,-2,6,-20,-14,-5,-16,-3,-13,-9,-1,-13,3,-2,2,-1,-13,-29,-14,3;
+MA /M: SY='R'; M=-10,-5,-21,-6,2,-16,-18,4,-18,7,-13,-5,-3,-17,6,8,-7,-8,-16,-20,-1,2;
+MA /M: SY='A'; M=36,-13,-13,-21,-13,-17,-4,-21,-3,-13,-6,-6,-11,-13,-12,-20,6,0,4,-22,-17,-13;
+MA /M: SY='R'; M=0,-10,-22,-13,-3,-18,-17,-4,-16,10,-10,-5,-6,-17,2,18,-7,-7,-10,-22,-10,-3;
+MA /M: SY='R'; M=-3,-5,-23,-7,1,-17,-17,-4,-13,4,-8,-4,-3,-16,5,7,-5,-6,-11,-22,-8,2;
+MA /M: SY='L'; M=-8,-13,-18,-13,-7,-3,-23,-12,0,-15,15,5,-16,-22,-9,-12,-16,-9,-3,-19,-2,-8;
+MA /M: SY='L'; M=-8,-29,-20,-30,-20,8,-29,-20,21,-28,43,19,-28,-28,-19,-20,-26,-9,12,-21,-1,-20;
+MA /M: SY='R'; M=-5,-12,-18,-14,-5,-10,-21,-12,-5,-5,-1,-1,-8,-19,-3,3,-5,-2,-4,-24,-9,-5;
+MA /M: SY='B'; M=-9,4,-23,3,3,-14,-16,0,-16,-3,-11,-7,3,-15,0,-2,-1,-1,-14,-26,-7,1;
+MA /M: SY='S'; M=-1,1,-20,-1,-2,-21,-3,-7,-21,-6,-22,-15,5,-3,-3,-8,13,12,-16,-30,-16,-3;
+MA /I: MD=-23;
+MA /M: SY='N'; M=-7,15,-24,15,9,-26,-2,-2,-27,2,-25,-18,16,-12,3,1,5,-4,-23,-29,-18,5; D=-4;
+MA /I: MD=-23;
+MA /M: SY='M'; M=-5,-10,-21,-12,-5,-8,-14,-3,-8,-3,-3,2,-8,-15,-1,-2,-9,-8,-10,-13,1,-4; D=-4;
+MA /I: I=-7; MI=0; IM=0; DM=-23;
+MA /M: SY='S'; M=1,-1,-20,-3,0,-21,-9,-8,-18,-3,-24,-14,5,3,2,-6,15,9,-16,-31,-16,0;
+MA /M: SY='I'; M=-5,-29,-21,-35,-29,1,-34,-28,38,-25,17,16,-24,-24,-23,-25,-16,-6,35,-24,-4,-28;
+MA /M: SY='T'; M=4,-6,-17,-11,-8,-9,-12,-14,-8,-9,-8,-7,-2,-16,-9,-10,6,10,-3,-25,-10,-8;
+MA /M: SY='E'; M=-7,12,-25,17,21,-29,-14,-2,-25,4,-21,-15,5,-9,15,0,4,-2,-22,-29,-15,17;
+MA /M: SY='I'; M=-2,-27,-23,-34,-27,-2,-32,-27,36,-25,15,15,-20,-21,-20,-25,-13,-5,28,-23,-4,-26;
+MA /M: SY='A'; M=38,-9,-10,-16,-9,-20,3,-18,-12,-11,-14,-12,-6,-11,-9,-18,14,2,-3,-24,-20,-9;
+MA /M: SY='H'; M=-9,-8,-22,-11,-5,-8,-19,5,-7,-6,-2,5,-5,-20,0,-2,-9,-7,-9,-18,2,-4;
+MA /M: SY='R'; M=-8,3,-22,2,6,-21,-15,-3,-18,7,-14,-6,4,-15,7,11,-1,-4,-16,-27,-13,5;
+MA /M: SY='C'; M=-4,-22,10,-26,-23,-1,-26,-17,2,-20,1,-2,-20,-29,-21,-20,-13,-7,8,-13,2,-23;
+MA /M: SY='G'; M=-1,-10,-29,-10,-18,-27,62,-18,-38,-18,-28,-19,0,-20,-18,-17,0,-19,-29,-20,-27,-18;
+MA /M: SY='F'; M=-18,-27,-24,-33,-26,52,-31,-8,6,-23,9,3,-20,-29,-27,-18,-20,-10,1,12,42,-26;
+MA /M: SY='S'; M=0,3,-21,4,1,-20,-2,-8,-21,-7,-20,-15,4,-9,-4,-8,8,0,-16,-28,-16,-2;
+MA /I: I=-10; MI=-35; MD=-35; IM=-35;
+MA /M: SY='D'; M=-4,15,-19,20,7,-24,-6,7,-26,-6,-27,-19,13,-11,2,-8,19,5,-19,-37,-14,4; D=-6;
+MA /I: DM=-35;
+MA /M: SY='Q'; M=-1,-6,-21,-8,0,-20,-14,-9,-12,-6,-12,-7,-4,-3,6,-6,5,5,-11,-28,-14,2;
+MA /M: SY='S'; M=6,-3,-18,-6,-4,-17,2,-10,-17,-10,-19,-13,5,-11,-1,-11,15,4,-14,-29,-16,-2;
+MA /M: SY='Y'; M=-9,-10,-25,-12,-10,3,-20,15,-12,-4,-9,-5,-7,-22,-3,0,-6,-2,-13,-2,31,-10;
+MA /M: SY='F'; M=-19,-29,-20,-38,-28,69,-30,-19,2,-29,14,3,-21,-30,-36,-19,-21,-10,1,7,27,-28;
+MA /M: SY='S'; M=7,-10,-8,-15,-12,-12,-15,-16,-3,-14,-11,-8,-4,-15,-9,-15,13,11,1,-28,-10,-12;
+MA /M: SY='R'; M=-9,-2,-23,-3,3,-21,-16,-4,-22,14,-19,-10,2,-16,6,23,-1,-2,-15,-25,-10,2;
+MA /M: SY='V'; M=2,-10,-17,-12,-5,-11,-16,-14,-2,-10,-3,-3,-9,-18,-10,-11,-3,-2,4,-26,-12,-8;
+MA /M: SY='F'; M=-17,-28,-20,-35,-28,62,-30,-13,2,-26,8,1,-20,-29,-32,-19,-19,-10,0,10,35,-28;
+MA /M: SY='R'; M=-12,0,-28,-2,5,-25,-17,-6,-28,33,-25,-11,3,-13,8,35,-6,-7,-19,-22,-12,5;
+MA /M: SY='R'; M=-9,0,-27,-1,8,-25,-17,-3,-26,24,-23,-11,2,-13,12,27,-2,-5,-20,-23,-11,9;
+MA /M: SY='Y'; M=-11,-10,-20,-13,-6,-6,-23,5,-10,-2,-7,-3,-7,-20,-2,2,-8,-3,-9,-13,10,-6;
+MA /M: SY='F'; M=-13,-21,-21,-27,-20,35,-27,-11,2,-20,8,2,-17,-25,-22,-15,-13,-1,0,-1,25,-20;
+MA /M: SY='G'; M=-2,-1,-28,-3,-13,-29,51,-14,-36,-14,-29,-20,9,-19,-14,-15,3,-15,-29,-24,-27,-14;
+MA /M: SY='M'; M=-6,-16,-13,-19,-8,-4,-24,-11,3,-11,1,7,-15,-20,-7,-11,-10,-5,5,-17,-1,-8;
+MA /M: SY='T'; M=5,-3,-12,-9,-7,-13,-13,-16,-11,-11,-12,-11,0,-9,-7,-11,19,28,-4,-32,-14,-7;
+MA /M: SY='P'; M=-7,-20,-38,-11,-1,-28,-19,-20,-18,-10,-27,-18,-19,80,-10,-19,-9,-9,-27,-29,-29,-10;
+MA /M: SY='S'; M=3,-4,-17,-5,-2,-20,-5,-8,-19,1,-22,-12,3,-13,1,2,17,8,-12,-31,-15,-1;
+MA /M: SY='E'; M=-7,6,-27,11,22,-28,-16,1,-24,7,-19,-12,1,-10,19,4,-1,-8,-23,-26,-12,20;
+MA /M: SY='Y'; M=-14,-19,-23,-23,-20,29,-27,-6,0,-17,3,-1,-17,-25,-19,-15,-13,-1,-3,10,35,-20;
+MA /M: SY='R'; M=-13,-14,-25,-15,-6,-9,-21,-7,-13,8,-3,-2,-7,-21,0,32,-11,-8,-9,-20,-6,-6;
+MA /M: SY='R'; M=-4,-4,-24,-6,2,-20,-16,-1,-17,9,-14,-6,-1,-15,7,11,-3,-4,-14,-22,-9,3;
+MA /M: SY='R'; M=-9,-7,-26,-8,-3,-17,-10,-2,-13,0,-12,-4,-2,-17,3,5,-4,-5,-12,-21,-6,-2;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=63(63); /POSITIVE=63(63); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=0;
+CC /TAXO_RANGE=???P?; /MAX-REPEAT=1;
+DR P06134, ADA_ECOLI , T; P26189, ADA_SALTY , T; P43463, AARP_PROST, T;
+DR P19219, ADAA_BACSU, T; P33234, ADIY_ECOLI, T; P43464, AGGR_ECOLI, T;
+DR P05052, APPY_ECOLI, T; P11765, ARAC_CITFR, T; P03021, ARAC_ECOLI, T;
+DR P07642, ARAC_ERWCH, T; P03022, ARAC_SALTY, T; Q03320, ARAL_STRAT, T;
+DR P35319, ARAL_STRLI, T; P26950, CAFR_YERPE, T; P17410, CELD_ECOLI, T;
+DR P43460, CSVR_ECOLI, T; P10805, ENVY_ECOLI, T; P26993, EXSA_PSEAE, T;
+DR P23774, FAPR_ECOLI, T; P31778, HRPB_BURSO, T; P39437, INVF_SALTY, T;
+DR P28808, LCRF_YERPE, T; P27246, MARA_ECOLI, T; P10411, MELR_ECOLI, T;
+DR P28809, MMSR_PSEAE, T; Q00753, MSMR_STRMU, T; Q04642, MXIE_SHIFL, T;
+DR P40883, PCHR_PSEAE, T; P43459, PERA_ECOLI, T; Q05587, POCR_SALTY, T;
+DR P43465, RAFR_PEDPE, T; P09378, RHAR_ECOLI, T; P40865, RHAR_SALTY, T;
+DR P09377, RHAS_ECOLI, T; P27029, RHAS_SALTY, T; P16114, RNS_ECOLI , T;
+DR P25393, CFAD_ECOLI, T; P27292, ROB_ECOLI , T; P22539, SOXS_ECOLI, T;
+DR P29492, TCPN_VIBCH, T; P28816, TETD_ECOLI, T; P43462, THCR_RHOSO, T;
+DR P32326, URER_ECOLI, T; Q02458, URER_PROMI, T; Q04248, VIRF_SHIDY, T;
+DR P13225, VIRF_YEREN, T; P37390, XYLR_ECOLI, T; P45043, XYLR_HAEIN, T;
+DR P07859, XYLS_PSEPU, T; Q04710, XYS1_PSEPU, T; Q05092, XYS2_PSEPU, T;
+DR Q05335, XYS3_PSEPU, T; Q04713, XYS4_PSEPU, T; P36547, YFEG_ECOLI, T;
+DR P37638, YHIW_ECOLI, T; P37639, YHIX_ECOLI, T; P31449, YIDL_ECOLI, T;
+DR P32677, YIJO_ECOLI, T; P45008, YA52_HAEIN, T; P40331, YUXC_BACSU, T;
+DR P40408, YZBC_BACSU, T; P43461, YCGK_ALTCA, T; P43458, YMCR_STRLA, T;
+DO PDOC00040;
+//
+ID BROMODOMAIN_2; MATRIX.
+AC PS50014;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Bromodomain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=71;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=66;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=1.5830; R2=0.0138; TEXT='NScore';
+MA /CUT_OFF: LEVEL=0; SCORE=501; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-70; E1=-70; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='K'; M=-7,4,-27,6,6,-25,-11,-6,-25,11,-24,-12,2,-13,8,9,0,-6,-20,-16,-12,7;
+MA /M: SY='G'; M=-5,-2,-27,-2,-2,-23,11,4,-28,-1,-24,-13,3,-16,0,-2,0,-10,-23,-21,-9,-2;
+MA /M: SY='H'; M=-6,-8,-22,-11,-8,-13,-19,4,-7,-2,-4,1,-5,-19,-4,4,-7,-6,-4,-25,-5,-8;
+MA /M: SY='P'; M=-5,-4,-30,1,7,-25,-10,-9,-24,0,-24,-16,-5,20,1,-7,-2,-7,-24,-26,-19,3;
+MA /M: SY='L'; M=-12,-6,-25,-6,-6,2,-24,-6,-3,-14,6,-1,-9,-21,-11,-11,-13,-7,-6,-17,5,-9;
+MA /M: SY='S'; M=12,-3,-13,-7,-7,-14,-5,-15,-12,-12,-17,-13,2,-13,-8,-14,19,13,-4,-30,-16,-8;
+MA /M: SY='W'; M=-11,-3,-30,0,0,-12,-17,-10,-20,-5,-16,-15,-7,-13,-5,-8,-9,-8,-20,14,2,-2;
+MA /M: SY='P'; M=-10,-20,-35,-16,-9,-20,-25,-22,0,-16,-12,-7,-19,47,-13,-22,-13,-10,-10,-28,-20,-15;
+MA /M: SY='F'; M=-20,-30,-20,-40,-30,80,-30,-20,0,-30,10,0,-20,-30,-40,-20,-20,-10,0,10,30,-30;
+MA /M: SY='L'; M=-12,-14,-25,-16,-4,-5,-25,0,3,-12,11,8,-11,-21,-4,-5,-15,-9,-4,-20,2,-6;
+MA /M: SY='E'; M=-10,2,-26,2,15,-22,-19,1,-21,12,-20,-9,2,-12,15,9,-2,-6,-19,-24,-10,15;
+MA /M: SY='P'; M=-10,-22,-31,-17,-7,-15,-24,-19,-6,-12,0,-4,-22,35,-12,-15,-18,-10,-14,-25,-17,-12;
+MA /M: SY='V'; M=-4,-26,-21,-22,-19,-11,-26,-26,11,-16,-5,-1,-26,15,-22,-20,-10,-4,20,-30,-18,-22;
+MA /M: SY='D'; M=-6,24,-21,28,7,-28,-5,-4,-27,-5,-30,-24,20,-4,-1,-9,16,3,-22,-39,-21,3;
+MA /I: I=-6; MI=0; IM=0; DM=-30; MD=-30;
+MA /M: SY='K'; M=-3,-7,-26,-8,1,-22,-18,-11,-20,25,-16,-6,-5,-11,3,22,-7,-7,-14,-21,-11,1;
+MA /M: SY='R'; M=-10,-7,-26,-7,1,-18,-20,-3,-16,14,-7,-1,-6,-17,3,16,-11,-9,-12,-22,-7,1;
+MA /M: SY='E'; M=-12,3,-26,5,9,-12,-10,-5,-19,-1,-12,-11,2,-16,-1,0,-6,-9,-18,-23,-8,4;
+MA /M: SY='L'; M=-7,-21,-20,-22,-20,6,-28,-11,15,-21,16,8,-21,-26,-19,-18,-17,-7,14,-15,10,-21;
+MA /M: SY='P'; M=-7,-17,-37,-9,0,-29,-19,-13,-21,-6,-28,-18,-17,72,-8,-16,-9,-10,-28,-29,-25,-8;
+MA /M: SY='D'; M=-16,33,-27,43,15,-29,-10,-1,-30,-1,-24,-19,16,-12,2,-8,0,-7,-25,-35,-17,9;
+MA /M: SY='Y'; M=-20,-20,-30,-20,-20,30,-30,20,0,-10,0,0,-20,-30,-10,-10,-20,-10,-10,30,80,-20;
+MA /M: SY='Y'; M=-19,-17,-28,-19,-16,23,-27,25,-8,-10,-2,0,-13,-27,-10,-4,-18,-12,-12,10,50,-16;
+MA /M: SY='E'; M=-11,8,-28,11,13,-24,-18,-3,-21,11,-18,-9,2,-12,9,8,-5,-7,-18,-25,-9,10;
+MA /M: SY='I'; M=-9,-26,-24,-32,-25,4,-33,-18,30,-21,16,16,-21,-24,-18,-21,-18,-8,23,-18,5,-24;
+MA /M: SY='I'; M=-8,-30,-25,-38,-30,0,-38,-30,45,-28,18,18,-22,-22,-22,-28,-18,-8,35,-22,-2,-30;
+MA /M: SY='K'; M=-7,-2,-26,-3,8,-27,-19,2,-23,24,-23,-7,0,-12,14,16,-4,-5,-17,-23,-8,10;
+MA /M: SY='K'; M=-9,5,-26,2,9,-25,-14,3,-24,18,-25,-11,10,-13,15,18,2,-4,-22,-25,-10,11;
+MA /M: SY='P'; M=-6,-19,-37,-10,-1,-29,-18,-20,-19,-10,-29,-19,-18,80,-10,-20,-7,-8,-27,-30,-29,-10;
+MA /M: SY='M'; M=-8,-23,-19,-31,-23,1,-24,-9,24,-15,21,45,-23,-23,-9,-14,-19,-8,19,-22,-2,-16;
+MA /M: SY='D'; M=-9,35,-20,48,12,-34,-9,-5,-34,-3,-27,-26,14,-11,-2,-12,6,-4,-23,-38,-20,5;
+MA /M: SY='L'; M=-11,-29,-21,-32,-23,18,-31,-20,21,-28,36,18,-27,-28,-22,-20,-26,-9,13,-15,6,-23;
+MA /M: SY='E'; M=-8,9,-26,12,13,-27,-5,-4,-27,5,-26,-17,9,-6,8,-1,4,-5,-25,-29,-17,10;
+MA /M: SY='T'; M=-4,-2,-18,-9,-8,-13,-14,-17,-7,-8,-9,-4,-1,-13,-8,-10,7,23,-3,-27,-11,-9;
+MA /M: SY='I'; M=-7,-29,-22,-35,-28,1,-34,-25,38,-25,20,22,-24,-24,-20,-24,-18,-7,31,-23,-3,-27;
+MA /M: SY='K'; M=-9,-1,-27,-2,10,-23,-16,-4,-23,21,-17,-9,1,-14,8,20,-8,-9,-19,-23,-11,8;
+MA /M: SY='K'; M=-11,1,-28,2,18,-28,-19,-4,-26,26,-23,-11,2,-10,16,23,-4,-7,-21,-24,-13,16;
+MA /M: SY='R'; M=-14,4,-28,0,3,-22,-17,2,-27,30,-25,-11,11,-16,7,34,-7,-8,-22,-22,-7,3;
+MA /I: MD=-15;
+MA /M: SY='L'; M=-7,-25,-15,-30,-23,4,-28,-20,23,-24,25,19,-22,-25,-18,-20,-20,-8,17,-21,-3,-21; D=-2;
+MA /I: MD=-15;
+MA /M: SY='E'; M=-11,10,-28,13,18,-24,-15,-3,-27,12,-24,-17,7,-7,6,7,-3,-8,-24,-17,-12,11; D=-2;
+MA /I: I=-4; MI=0; MD=-15; IM=0; DM=-15;
+MA /M: SY='N'; M=-3,10,-18,6,2,-22,-11,-6,-16,0,-19,-12,12,-13,3,-4,6,4,-14,-30,-15,2; D=-2;
+MA /I: DM=-15;
+MA /M: SY='G'; M=-10,-8,-24,-11,-13,-13,17,0,-27,-9,-19,-12,0,-21,-10,-1,-6,-13,-22,-12,-6,-13; D=-2;
+MA /I: DM=-15;
+MA /M: SY='Q'; M=-8,-2,-27,-2,8,-21,-19,3,-21,14,-18,-8,0,-14,15,15,-4,-6,-20,-18,-2,10;
+MA /M: SY='Y'; M=-20,-20,-30,-20,-20,30,-30,20,0,-10,0,0,-20,-30,-10,-10,-20,-10,-10,30,80,-20;
+MA /M: SY='Q'; M=-7,-3,-25,-3,5,-21,-18,-5,-18,4,-16,-9,-2,-9,8,5,0,1,-16,-19,-10,6;
+MA /M: SY='S'; M=1,8,-16,9,6,-22,-9,-9,-21,-3,-24,-18,9,-10,0,-7,22,15,-13,-36,-17,3;
+MA /I: I=-6; MI=0; IM=0; DM=-30; MD=-30;
+MA /M: SY='M'; M=-3,-20,-24,-21,-13,-3,-21,-14,-1,-8,1,3,-17,-2,-11,-5,-13,-8,-2,-18,-4,-14;
+MA /M: SY='E'; M=-7,1,-28,4,20,-24,-12,-4,-22,4,-17,-12,-1,-9,12,-1,-2,-9,-23,-19,-12,16;
+MA /M: SY='E'; M=-11,17,-28,25,34,-32,-14,1,-28,5,-23,-17,8,-6,19,-2,3,-8,-28,-31,-18,27;
+MA /M: SY='F'; M=-17,-28,-16,-36,-28,60,-30,-18,2,-27,10,1,-20,-29,-34,-19,-18,-7,2,3,25,-28;
+MA /M: SY='L'; M=-4,-15,-18,-16,-4,-9,-22,-13,1,-8,5,4,-14,-19,-5,-6,-8,-4,1,-23,-7,-5;
+MA /M: SY='D'; M=-5,13,-26,16,14,-27,-15,-3,-23,8,-19,-14,6,-11,9,1,-2,-8,-20,-27,-13,11;
+MA /M: SY='D'; M=-17,45,-29,64,19,-38,-10,2,-38,0,-29,-28,18,-10,0,-10,0,-10,-29,-39,-19,10;
+MA /M: SY='I'; M=-5,-28,-20,-34,-27,16,-30,-25,25,-25,17,12,-23,-25,-25,-23,-17,-7,23,-16,2,-26;
+MA /M: SY='R'; M=-11,1,-25,-3,5,-17,-17,0,-13,4,-13,-2,5,-17,6,8,-6,-8,-14,-20,-10,5;
+MA /M: SY='L'; M=-9,-21,-21,-22,-12,-1,-27,-15,8,-17,30,13,-21,-24,-6,-11,-20,-5,2,-21,-3,-9;
+MA /M: SY='I'; M=-9,-27,-23,-34,-25,2,-31,-19,34,-23,24,32,-22,-22,-14,-21,-21,-9,22,-21,-1,-22;
+MA /M: SY='F'; M=-11,-27,-12,-32,-26,28,-29,-21,8,-25,11,3,-23,-25,-28,-20,-18,-7,8,-4,11,-25;
+MA /M: SY='Q'; M=-5,4,-24,2,4,-23,-14,2,-21,6,-21,-11,7,-13,10,4,4,1,-18,-22,-10,6;
+MA /M: SY='N'; M=-6,37,-20,20,0,-21,-1,7,-20,-1,-28,-20,52,-19,-1,-2,9,-1,-28,-38,-20,0;
+MA /M: SY='C'; M=20,-12,31,-21,-16,-15,-12,-22,-17,-17,-15,-14,-10,-20,-16,-21,7,2,-4,-31,-20,-16;
+MA /M: SY='Y'; M=-11,-13,-27,-16,-8,-8,-24,-3,-4,-2,-4,0,-9,-21,1,4,-13,-10,-6,-6,6,-5;
+MA /M: SY='T'; M=-5,-9,-21,-17,-12,-8,-24,-17,5,-7,-2,2,-4,-16,-7,-9,-2,9,3,-24,-6,-11;
+MA /M: SY='Y'; M=-16,-20,-25,-23,-20,33,-27,5,0,-15,0,-1,-16,-27,-16,-13,-13,-6,-6,14,52,-20;
+MA /M: SY='N'; M=-11,33,-22,19,-1,-20,1,12,-22,-2,-28,-19,47,-20,-1,-2,6,-3,-29,-35,-13,-1;
+MA /M: SY='G'; M=-4,-2,-27,0,-1,-25,9,-13,-25,-4,-20,-13,-2,-6,-6,-4,-1,-7,-20,-25,-20,-4;
+MA /M: SY='P'; M=-7,-2,-31,4,9,-27,-6,-10,-27,2,-25,-18,-4,18,-1,-2,-3,-9,-25,-26,-19,1;
+MA /M: SY='D'; M=-8,15,-27,19,9,-31,6,-3,-31,-3,-26,-19,10,-10,4,-7,3,-7,-26,-30,-19,6;
+MA /M: SY='S'; M=3,-2,-18,-2,0,-21,-9,-3,-20,-7,-25,-16,3,2,-1,-6,20,12,-14,-34,-16,-2;
+MA /M: SY='E'; M=-7,-7,-25,-5,5,-14,-16,-10,-10,-7,-5,-6,-9,-16,-3,-6,-7,-9,-8,-19,-10,1;
+MA /M: SY='I'; M=-8,-27,-22,-32,-27,7,-33,-22,30,-23,12,11,-22,-25,-22,-22,-14,-5,27,-16,7,-27;
+MA /M: SY='Y'; M=-10,-13,-23,-16,-15,4,-23,-3,-1,-4,-5,-2,-11,-23,-10,-6,-9,0,-1,-4,26,-15;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=19(14); /POSITIVE=19(14); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=0;
+CC /TAXO-RANGE=??E??; /MAX-REPEAT=2;
+DR P25439, BRM_DROME , T; P35817, BDF1_YEAST, T; Q03330, GCN5_YEAST, T;
+DR P22082, SNF2_YEAST, T; P35177, SPT7_YEAST, T; P45481, CBP_MOUSE , T;
+DR P21675, CCG1_HUMAN, T; P25440, RNG3_HUMAN, T; P13709, FSH_DROME , T;
+DR P32597, STH1_YEAST, T; P34545, YNJ1_CAEEL, T; Q02206, YKY8_YEAST, T;
+DR Q03164, HRX_HUMAN , T; P40340, TBP7_YEAST, T;
+DO PDOC00633;
+//
+ID CHROMO_2; MATRIX.
+AC PS50013;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Chromo and chromo shadow domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=59;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=54;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.4848; R2=0.0181; TEXT='NScore';
+MA /CUT_OFF: LEVEL=0; SCORE=443; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-70; E1=-70; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='Y'; M=-16,-17,-26,-17,-13,19,-27,0,-3,-13,4,0,-17,-25,-12,-11,-18,-11,-6,4,28,-13;
+MA /M: SY='E'; M=3,-6,-20,-4,9,-18,-18,-15,-7,-7,-11,-9,-9,-6,-4,-12,3,1,0,-30,-17,2;
+MA /M: SY='V'; M=3,-24,-21,-24,-17,-9,-23,-25,9,-16,-1,-1,-23,-1,-19,-20,-10,-6,14,-16,-12,-19;
+MA /M: SY='E'; M=-10,7,-31,17,53,-30,-16,-2,-30,8,-21,-20,-1,4,17,-2,-1,-10,-30,-30,-21,34;
+MA /M: SY='R'; M=-10,1,-24,3,7,-26,-17,-6,-29,28,-24,-13,1,-14,7,32,-6,-8,-19,-24,-13,5;
+MA /M: SY='I'; M=-9,-28,-26,-35,-27,2,-35,-28,36,-27,16,14,-21,-15,-21,-26,-17,-6,25,-21,-2,-27;
+MA /M: SY='L'; M=-9,-26,-22,-28,-18,2,-31,-21,22,-21,29,16,-24,-25,-17,-16,-22,-9,15,-22,-3,-19;
+MA /I: I=-6; MI=0; IM=0; DM=-20; MD=-20;
+MA /M: SY='D'; M=-4,14,-21,21,10,-32,1,-7,-31,-1,-24,-20,5,-12,3,-6,1,-10,-24,-30,-20,6;
+MA /M: SY='A'; M=3,-8,-15,-13,-9,-17,-12,1,-14,-4,-12,-6,-4,-17,-6,-2,1,2,-7,-26,-9,-9;
+MA /M: SY='R'; M=-11,-4,-26,-6,2,-21,-18,-6,-20,18,-20,-9,2,-15,7,29,-1,-1,-14,-25,-11,2;
+MA /M: SY='B'; M=-8,5,-22,5,-1,-20,-11,-9,-13,2,-15,-6,4,-17,-5,-2,-3,-5,-6,-30,-15,-3;
+MA /M: SY='R'; M=-5,-2,-17,-4,0,-22,-13,-9,-19,7,-20,-12,1,-12,1,10,0,-3,-13,-28,-16,-1;
+MA /M: SY='R'; M=-10,5,-22,2,5,-27,-11,-4,-27,21,-27,-13,9,-15,10,22,0,-6,-22,-27,-14,7;
+MA /I: I=-3; MI=0; MD=-15; IM=0;
+MA /M: SY='G'; M=-2,-4,-25,-5,-10,-23,40,-11,-31,-12,-25,-17,5,-17,-11,-11,3,-12,-25,-20,-20,-11; D=-2;
+MA /I: DM=-15;
+MA /M: SY='R'; M=-9,1,-24,1,4,-21,-7,-6,-19,6,-14,-8,3,-14,6,8,-4,-5,-17,-23,-13,4; D=-2;
+MA /I: DM=-15;
+MA /M: SY='L'; M=-10,-23,-21,-23,-16,6,-25,-13,9,-17,16,6,-21,-14,-16,-11,-17,-7,6,-14,6,-17; D=-2;
+MA /I: DM=-15;
+MA /M: SY='E'; M=-9,0,-25,3,22,-18,-21,-5,-13,2,-11,-4,-5,-9,10,-4,-3,-5,-12,-25,-12,16; D=-2;
+MA /I: DM=-15;
+MA /M: SY='Y'; M=-18,-25,-25,-30,-25,46,-31,-2,5,-20,8,2,-21,-29,-23,-16,-20,-10,-1,15,49,-25;
+MA /M: SY='L'; M=-13,-26,-23,-28,-20,19,-30,-11,12,-23,29,12,-24,-28,-17,-15,-25,-10,3,-7,18,-19;
+MA /M: SY='V'; M=-6,-29,-10,-32,-27,1,-31,-25,28,-24,20,17,-26,-27,-23,-22,-17,-6,31,-26,-6,-26;
+MA /M: SY='K'; M=-10,-1,-29,-1,9,-29,-20,-8,-28,42,-27,-9,0,-11,12,29,-7,-6,-19,-21,-10,10;
+MA /M: SY='W'; M=-20,-39,-48,-40,-30,15,-21,-29,-19,-21,-18,-19,-39,-30,-21,-20,-39,-29,-28,140,30,-21;
+MA /M: SY='K'; M=-7,-7,-25,-8,3,-21,-21,-11,-16,22,-11,-4,-7,-15,6,15,-10,-6,-11,-21,-9,4;
+MA /M: SY='G'; M=-4,3,-29,3,-12,-29,49,-13,-37,-13,-30,-21,10,-19,-14,-13,1,-16,-30,-25,-27,-13;
+MA /M: SY='Y'; M=-13,-21,-26,-21,-17,15,-20,-4,-2,-16,2,-2,-19,-26,-14,-14,-15,-8,-6,16,32,-17;
+MA /M: SY='D'; M=-2,14,-22,18,3,-28,-1,-4,-27,-7,-27,-21,11,-2,-3,-12,12,1,-21,-35,-20,-1;
+MA /M: SY='E'; M=-11,9,-28,12,15,-19,-18,13,-19,-2,-17,-11,5,-13,9,-5,-3,-9,-21,-21,2,10;
+MA /I: I=-5; MI=0; MD=-20; IM=0;
+MA /M: SY='A'; M=5,1,-18,0,-1,-16,-9,-11,-14,-3,-14,-11,0,-11,-4,-6,4,1,-10,-14,-11,-2; D=-5;
+MA /I: DM=-20;
+MA /M: SY='E'; M=-12,12,-26,20,29,-25,-16,22,-28,1,-20,-15,6,-8,10,-3,0,-10,-26,-28,-6,18; D=-5;
+MA /I: DM=-20;
+MA /M: SY='N'; M=-9,11,-7,1,-7,-17,-12,3,-14,-9,-14,-6,19,-13,-6,-9,-3,-6,-18,-35,-15,-7;
+MA /M: SY='T'; M=0,-5,-11,-11,-11,-11,-18,-12,-6,-12,-11,-8,-3,-14,-10,-11,17,32,5,-32,-10,-11;
+MA /M: SY='W'; M=-17,-34,-45,-33,-24,3,-21,-27,-17,-19,-17,-17,-34,-9,-18,-20,-32,-22,-26,101,16,-18;
+MA /M: SY='E'; M=3,5,-24,10,39,-27,-14,-5,-25,4,-20,-18,0,-3,12,-5,8,-3,-22,-30,-20,26;
+MA /M: SY='P'; M=-6,-5,-28,-2,1,-25,-16,-15,-21,0,-26,-17,-4,35,-5,-8,3,5,-21,-31,-21,-4;
+MA /M: SY='E'; M=-4,-5,-26,-1,22,-19,-17,-8,-14,-1,-9,-10,-8,-7,3,-6,-5,-9,-13,-24,-12,12;
+MA /M: SY='A'; M=11,-1,-19,-2,10,-20,-11,-12,-15,-3,-12,-12,-3,-10,-1,-10,6,2,-9,-27,-17,4;
+MA /M: SY='N'; M=-11,25,-22,16,0,-18,-8,7,-18,-4,-20,-14,34,-19,1,-4,4,-1,-23,-33,-12,0;
+MA /M: SY='L'; M=-9,-25,-18,-29,-19,0,-31,-21,23,-21,24,17,-23,-24,-17,-18,-21,-9,17,-23,-4,-19;
+MA /M: SY='K'; M=-3,-2,-24,0,4,-22,-14,-13,-15,6,-15,-9,-4,-9,0,-2,-2,-4,-9,-27,-14,1;
+MA /I: I=-5; MI=0; IM=0; DM=-25; MD=-25;
+MA /M: SY='C'; M=-2,-5,31,-8,-15,-17,-13,-14,-22,-19,-16,-15,-8,-25,-18,-22,-5,-10,-11,-34,-18,-17;
+MA /M: SY='P'; M=-3,-14,-28,-12,-2,-21,-18,-13,-13,-6,-14,-8,-13,28,0,-10,-4,-4,-17,-25,-16,-3;
+MA /M: SY='Q'; M=-10,0,-26,2,15,-27,-20,-3,-19,11,-17,-8,-2,-12,21,14,-2,-4,-16,-25,-12,17;
+MA /M: SY='M'; M=-8,-21,-14,-24,-16,-3,-26,-13,9,-11,16,17,-20,-24,-9,-8,-19,-9,6,-20,-2,-13;
+MA /M: SY='I'; M=-8,-27,-21,-30,-22,3,-32,-21,28,-23,22,17,-25,-25,-19,-20,-19,-7,25,-20,1,-22;
+MA /M: SY='D'; M=-9,1,-27,4,4,-19,-21,-9,-10,3,-9,-7,-3,-14,0,0,-8,-9,-10,-24,-7,1;
+MA /M: SY='E'; M=-1,8,-23,5,13,-21,-12,6,-19,-1,-18,-12,10,-12,9,-2,2,-6,-20,-27,-12,10;
+MA /M: SY='F'; M=-19,-26,-24,-32,-26,57,-30,-5,1,-22,6,0,-20,-30,-28,-16,-20,-10,-2,16,48,-26;
+MA /M: SY='Y'; M=-15,-11,-22,-11,1,1,-25,9,-13,-3,-8,-3,-11,-20,5,-4,-13,-12,-17,-1,21,2;
+MA /M: SY='K'; M=-7,4,-26,3,17,-26,-16,-3,-25,18,-22,-13,6,-11,12,16,0,-5,-21,-26,-14,14;
+MA /M: SY='R'; M=-10,-3,-26,-1,14,-23,-17,-1,-25,16,-20,-12,0,-12,10,21,-1,-5,-20,-21,-11,11;
+MA /M: SY='R'; M=-13,2,-27,-1,4,-13,-17,11,-21,4,-16,-10,8,-18,6,13,-6,-10,-22,-15,-1,4;
+MA /M: SY='Q'; M=-8,-5,-27,-5,-2,-19,-14,-6,-12,0,-5,-3,-3,-13,4,-1,-10,-10,-14,-24,-10,0;
+MA /M: SY='S'; M=0,-4,-19,-6,-4,-16,-9,-8,-10,-8,-11,-3,-3,-14,-5,-10,7,7,-6,-29,-12,-5;
+MA /M: SY='W'; M=-10,-10,-28,-10,-4,-8,-17,-13,-17,3,-16,-11,-10,-18,-6,1,-9,-6,-13,9,1,-4;
+MA /M: SY='H'; M=-12,0,-29,3,9,-20,-18,11,-21,5,-18,-8,-2,-5,4,4,-6,-8,-20,-23,-3,4;
+MA /M: SY='E'; M=-2,-1,-21,-2,7,-21,-11,-10,-19,2,-18,-12,1,-5,2,0,7,6,-14,-28,-16,4;
+MA /M: SY='P'; M=-11,-3,-24,-1,0,-20,-16,-6,-21,-2,-22,-15,-2,12,1,-4,-5,-6,-23,-17,-9,-1;
+MA /M: SY='E'; M=-8,-2,-26,-1,5,-16,-18,-9,-11,-6,-14,-9,-2,5,-2,-8,-3,-6,-14,-28,-15,0;
+MA /M: SY='K'; M=-5,-1,-27,-1,9,-22,-10,-7,-23,14,-20,-12,1,-7,3,9,-4,-8,-20,-22,-11,5;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=21(13); /POSITIVE=21(13); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=0;
+CC /TAXO-RANGE=??E??; /MAX-REPEAT=2;
+DR P05205, HP1_DROME , T; P29227, HP1_DROVI , T; P45973, HP1_HUMAN , T;
+DR P23197, MOD1_MOUSE, T; P23198, MOD2_MOUSE, T; P40381, SWI6_SCHPO, T;
+DR P26017, PC_DROME , T; P30658, MOD3_MOUSE, T; P45975, SUV9_DROME, T;
+DR P40201, CHD1_MOUSE, T; P32657, YEZ4_YEAST, T; P34618, YO82_CAEEL, T;
+DR P45968, YNZ8_CAEEL, T;
+DO PDOC00517;
+//
+ID PROTEIN_KINASE_DOM; MATRIX.
+AC PS50011;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Protein kinase domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=259;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=254;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=2.2664; R2=0.014134; TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=434; N_SCORE=8.4; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=*; E1=*; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='Y'; M=-16,-25,-25,-29,-23,32,-29,-7,5,-19,8,3,-21,-29,-21,-15,-21,-10,1,15,35,-22;
+MA /M: SY='E'; M=-5,-2,-21,-2,11,-23,-18,-2,-17,8,-16,-8,0,-13,9,6,-1,-4,-14,-27,-12,9;
+MA /M: SY='L'; M=-10,-14,-23,-16,-8,-2,-23,-15,1,-9,7,2,-11,-17,-10,-6,-12,-6,-1,-22,-5,-10;
+MA /M: SY='L'; M=-6,-16,-22,-17,-15,-6,-14,-17,5,-16,7,3,-14,-22,-15,-15,-11,-6,7,-23,-7,-16;
+MA /M: SY='E'; M=-8,3,-25,6,12,-25,-16,-3,-23,10,-20,-12,1,-10,8,11,0,-4,-17,-28,-14,9;
+MA /M: SY='K'; M=-8,-11,-21,-13,-5,-8,-24,-15,-5,2,-5,-3,-10,-16,-7,1,-8,-1,0,-22,-6,-6;
+MA /M: SY='I'; M=-8,-29,-23,-33,-24,7,-33,-24,29,-27,29,17,-24,-25,-21,-23,-22,-9,19,-19,0,-24;
+MA /M: SY='G'; M=4,-10,-29,-11,-19,-29,63,-20,-37,-19,-28,-19,-1,-17,-19,-20,1,-18,-28,-20,-29,-19;
+MA /M: SY='Q'; M=0,-1,-20,-2,9,-24,-11,-5,-22,8,-22,-13,2,-12,10,9,8,-1,-17,-27,-14,9;
+MA /M: SY='G'; M=0,-10,-30,-10,-20,-30,70,-20,-40,-20,-30,-20,0,-20,-20,-20,0,-20,-30,-20,-30,-20;
+MA /M: SY='S'; M=9,-3,-16,-6,-2,-21,6,-13,-21,-6,-21,-15,2,-14,-5,-8,11,1,-13,-28,-19,-3;
+MA /M: SY='F'; M=-15,-22,-20,-30,-23,52,-21,-13,-4,-23,1,-2,-13,-26,-28,-17,-10,-6,-4,2,24,-23;
+MA /M: SY='G'; M=4,-8,-26,-9,-16,-27,51,-14,-34,-17,-28,-19,1,-18,-15,-18,6,-13,-25,-23,-26,-16;
+MA /M: SY='E'; M=-4,-4,-17,-4,4,-20,-18,-10,-14,4,-16,-8,-4,-14,1,1,2,1,-7,-27,-12,2;
+MA /M: SY='V'; M=0,-28,-7,-29,-29,-2,-29,-29,27,-20,8,8,-27,-29,-28,-20,-8,0,44,-30,-11,-29;
+MA /M: SY='Y'; M=-14,-22,-21,-25,-19,22,-28,-5,0,-10,1,1,-19,-27,-16,-7,-18,-10,-1,8,32,-19;
+MA /M: SY='K'; M=-10,-10,-26,-11,1,-15,-21,-11,-10,10,-3,0,-9,-16,3,9,-11,-7,-9,-21,-8,2;
+MA /M: SY='A'; M=19,-14,-1,-20,-15,-17,0,-21,-9,-15,-10,-8,-13,-19,-15,-20,1,-5,2,-25,-18,-15;
+MA /M: SY='K'; M=-10,-9,-25,-10,-2,-14,-22,-8,-7,6,-8,-2,-7,-16,2,5,-7,-2,-6,-20,-2,-2;
+MA /M: SY='H'; M=-13,4,-28,5,1,-17,-16,8,-21,2,-15,-10,5,-18,0,3,-8,-10,-21,-12,-3,0;
+MA /I: I=-2; MI=-12; MD=-12; IM=-12;
+MA /M: SY='K'; M=-7,-10,-24,-12,-6,-13,-22,-6,-3,3,-7,0,-6,-15,-5,2,-8,-6,-1,-23,-6,-7; D=-2;
+MA /I: I=-2; MI=-12; MD=-12; IM=-12; DM=-12;
+MA /M: SY='S'; M=-5,-1,-19,0,1,-15,-9,-6,-13,-5,-12,-9,-2,-5,-2,-7,2,2,-11,-23,-9,-1; D=-2;
+MA /I: I=-2; MI=0; MD=-12; IM=0; DM=-12;
+MA /M: SY='B'; M=-5,13,-18,13,2,-20,-9,-6,-18,-2,-17,-13,9,-11,-2,-6,6,9,-13,-28,-13,0; D=-2;
+MA /I: I=-2; MI=-12; MD=-12; IM=-12; DM=-12;
+MA /M: SY='G'; M=-4,1,-22,0,-6,-23,21,-12,-28,-5,-24,-16,6,-14,-8,-7,3,-6,-22,-24,-20,-7; D=-2;
+MA /I: I=-2; MI=-12; IM=-12; DM=-12;
+MA /M: SY='E'; M=-10,-3,-22,-3,10,-20,-19,-5,-16,8,-12,-6,-3,-14,9,8,-5,-6,-14,-25,-11,9;
+MA /M: M=-11,-11,-26,-11,-6,-12,-25,-7,-2,-3,-5,-1,-10,-11,-5,0,-10,-5,-2,-23,-4,-8;
+MA /M: SY='V'; M=-8,-26,-15,-27,-26,14,-29,-14,17,-18,10,9,-24,-29,-23,-17,-15,-5,24,-12,16,-25;
+MA /M: SY='A'; M=43,-12,-8,-21,-12,-18,-4,-21,-7,-11,-9,-8,-12,-11,-12,-20,7,0,4,-22,-19,-12;
+MA /M: SY='V'; M=-1,-26,-17,-31,-25,-3,-27,-24,26,-19,12,15,-22,-24,-19,-18,-14,-6,27,-24,-7,-24;
+MA /M: SY='K'; M=-10,0,-30,0,10,-30,-20,-10,-30,50,-30,-10,0,-10,10,30,-10,-10,-20,-20,-10,10;
+MA /M: SY='I'; M=-9,-17,-23,-20,-9,-10,-29,-15,11,-6,2,6,-13,-18,-6,-6,-12,-6,7,-22,-5,-10;
+MA /M: SY='I'; M=-8,-25,-22,-29,-19,5,-31,-21,24,-23,22,16,-22,-24,-17,-20,-18,-7,19,-21,-2,-19;
+MA /M: SY='K'; M=-10,4,-24,3,4,-22,-15,1,-23,13,-23,-13,8,-6,2,10,-3,-6,-21,-27,-10,2;
+MA /M: SY='K'; M=-8,-10,-25,-12,-5,-12,-22,-8,-7,6,-9,-3,-8,-12,-2,2,-8,-5,-6,-18,1,-5;
+MA /I: I=-2; MI=-13; MD=-13; IM=-13;
+MA /M: SY='E'; M=-5,1,-21,3,5,-21,-16,-9,-16,4,-16,-11,-3,-8,0,-1,-3,-4,-11,-23,-12,2; D=-2;
+MA /I: I=-2; MI=-13; MD=-13; IM=-13; DM=-13;
+MA /M: SY='S'; M=-3,-1,-19,-1,0,-14,-11,-8,-14,-2,-11,-8,-1,-11,-2,-2,1,1,-10,-22,-10,-1; D=-2;
+MA /I: I=-2; MI=-13; MD=-13; IM=-13; DM=-13;
+MA /M: SY='M'; M=-6,-8,-21,-9,-1,-10,-16,-7,-5,-2,-5,1,-7,-7,-1,-3,-6,-5,-6,-16,-6,-2; D=-2;
+MA /I: I=-2; MI=-13; MD=-13; IM=-13; DM=-13;
+MA /M: SY='N'; M=-1,0,-15,-3,-3,-13,-4,-7,-8,-2,-11,-6,4,-5,-3,-5,2,-1,-7,-20,-11,-4; D=-2;
+MA /I: I=-2; MI=-13; MD=-13; IM=-13; DM=-13;
+MA /M: SY='S'; M=-1,-1,-14,-1,2,-11,-10,-6,-10,1,-11,-6,-1,-4,0,-1,3,2,-7,-16,-7,0; D=-2;
+MA /I: I=-2; MI=-13; MD=-13; IM=-13; DM=-13;
+MA /M: SY='K'; M=-5,-1,-14,-1,1,-10,-8,-4,-11,4,-9,-5,-1,-7,1,3,-3,-3,-9,-11,-6,1; D=-2;
+MA /I: I=-2; MI=0; IM=0; DM=-13;
+MA /M: SY='E'; M=-7,2,-25,4,8,-20,-11,-5,-18,0,-14,-9,0,-13,6,-2,-1,-4,-16,-24,-9,6;
+MA /M: SY='R'; M=-10,-9,-18,-9,-2,-15,-20,-4,-13,1,-11,-6,-6,-11,-3,4,-7,-7,-10,-26,-9,-4;
+MA /M: SY='E'; M=-9,4,-27,4,15,-25,-15,-2,-22,8,-20,-12,4,-9,13,4,-1,-6,-22,-20,-12,14;
+MA /M: SY='R'; M=-5,-6,-19,-9,0,-16,-18,-3,-16,5,-13,-4,-3,-14,6,7,-4,-5,-13,-23,-9,2;
+MA /M: SY='I'; M=1,-18,-18,-24,-18,6,-22,-19,8,-19,8,3,-14,-20,-16,-17,-5,3,7,-19,-1,-17;
+MA /M: SY='M'; M=-9,-10,-25,-11,-1,-11,-21,-7,-5,-5,1,2,-10,-16,0,-2,-10,-6,-7,-18,-5,-2;
+MA /M: SY='R'; M=-5,-1,-22,-6,-3,-16,-14,-2,-14,5,-14,-6,5,-18,3,14,-1,-4,-12,-24,-8,-2;
+MA /M: SY='E'; M=-10,11,-30,21,59,-30,-20,0,-30,10,-20,-20,0,0,20,0,0,-10,-30,-30,-20,39;
+MA /M: SY='I'; M=1,-22,-18,-26,-18,-4,-25,-21,15,-15,10,7,-19,-22,-15,-13,-12,-6,15,-21,-5,-18;
+MA /M: SY='Q'; M=-6,0,-21,-2,1,-17,-14,-3,-17,5,-17,-8,2,-16,7,4,0,-4,-15,-21,-4,3;
+MA /M: SY='I'; M=-3,-25,-21,-29,-23,1,-29,-22,24,-20,15,11,-21,-23,-19,-19,-14,-6,21,-20,0,-23;
+MA /M: SY='L'; M=-10,-20,-17,-22,-16,-1,-22,-2,6,-20,23,16,-19,-26,-11,-14,-21,-11,2,-22,0,-14;
+MA /M: SY='K'; M=0,-4,-23,-8,0,-18,-14,-7,-14,6,-15,-7,0,-12,2,6,0,-2,-11,-23,-10,0;
+MA /I: I=-3; MI=-17; MD=-17; IM=-17;
+MA /M: SY='N'; M=-6,-2,-23,-5,-1,-15,-12,-4,-12,1,-11,-7,3,-16,-1,1,-2,-4,-11,-25,-8,-2; D=-3;
+MA /I: I=-3; MI=-17; MD=-17; IM=-17; DM=-17;
+MA /M: SY='L'; M=-6,-24,-16,-26,-19,3,-25,-19,16,-20,25,15,-23,-25,-17,-15,-18,-6,13,-22,-4,-19; D=-3;
+MA /I: I=-3; MI=0; IM=0; DM=-17;
+MA /M: SY='N'; M=-11,11,-27,10,2,-26,-1,0,-29,9,-27,-16,15,-12,3,11,-1,-8,-25,-28,-15,1;
+MA /M: SY='H'; M=-17,0,-26,-1,-2,-17,-14,72,-29,-10,-21,-4,9,-18,5,-2,-6,-16,-27,-29,11,-3;
+MA /M: SY='P'; M=-9,-8,-29,-1,7,-26,-18,-14,-18,-6,-22,-16,-10,38,-4,-12,-4,-7,-20,-31,-23,-1;
+MA /M: SY='N'; M=-13,18,-21,6,-5,-8,-6,17,-20,-5,-23,-14,32,-22,-4,-3,0,-7,-25,-25,-3,-5;
+MA /M: SY='I'; M=-8,-29,-24,-35,-27,1,-36,-28,39,-26,21,17,-22,-23,-21,-25,-18,-8,29,-22,-2,-27;
+MA /M: SY='V'; M=0,-26,-12,-29,-25,-3,-29,-27,24,-22,10,8,-24,-20,-23,-22,-11,-1,30,-27,-9,-26;
+MA /M: SY='R'; M=-9,-1,-24,-2,7,-23,-15,0,-22,11,-19,-9,3,-12,12,16,-2,-5,-20,-24,-11,8;
+MA /M: SY='L'; M=-13,-27,-22,-30,-22,22,-30,-15,14,-23,26,13,-24,-28,-21,-15,-22,-8,9,-9,15,-22;
+MA /M: SY='Y'; M=-13,-17,-21,-20,-15,6,-26,9,0,-13,4,4,-12,-25,-10,-9,-16,-11,-5,-7,21,-15;
+MA /M: SY='G'; M=-6,3,-24,6,-2,-19,11,-6,-28,-9,-22,-17,1,-17,-9,-11,-2,-10,-21,-18,-10,-6;
+MA /M: SY='A'; M=10,-15,-8,-21,-15,-6,-16,-16,-1,-14,-5,-1,-12,-19,-12,-16,0,0,3,-17,-4,-14;
+MA /M: SY='F'; M=-10,-19,-11,-23,-17,15,-22,-16,-2,-18,-2,-3,-16,-24,-19,-17,-13,-9,-2,-1,8,-17;
+MA /M: SY='E'; M=-7,-3,-22,-2,8,-17,-20,-1,-15,2,-12,-7,-3,-14,6,1,-2,-1,-13,-23,-5,6;
+MA /M: SY='E'; M=-6,2,-23,3,8,-19,-16,-9,-17,0,-14,-12,-1,-11,-1,-1,2,4,-12,-26,-13,3;
+MA /I: I=-3; MI=-17; MD=-17; IM=-17;
+MA /M: SY='P'; M=-7,0,-26,2,3,-23,-1,-11,-23,-1,-24,-16,1,4,-3,-5,1,-5,-21,-23,-18,-1; D=-3;
+MA /I: I=-3; MI=0; IM=0; DM=-17;
+MA /M: SY='D'; M=-9,10,-26,14,4,-26,2,-5,-27,-2,-22,-17,8,-11,-1,-4,2,-6,-22,-29,-17,1;
+MA /M: SY='H'; M=-11,1,-23,1,3,-13,-18,10,-19,0,-16,-8,2,-10,2,0,-3,-4,-19,-22,0,1;
+MA /M: SY='L'; M=-10,-22,-21,-25,-20,2,-27,-16,16,-23,19,10,-19,-18,-18,-19,-19,-9,9,-21,-1,-20;
+MA /M: SY='Y'; M=-12,-18,-19,-20,-16,11,-25,-2,-3,-15,-2,-3,-16,-26,-13,-14,-15,-8,-6,12,30,-16;
+MA /M: SY='I'; M=-9,-28,-23,-33,-24,7,-31,-21,29,-25,28,22,-24,-25,-18,-22,-22,-9,19,-19,0,-22;
+MA /M: SY='V'; M=-6,-24,-17,-27,-23,1,-30,-23,23,-21,11,9,-22,-25,-19,-20,-13,-5,27,-23,-4,-22;
+MA /M: SY='M'; M=-9,-17,-19,-24,-18,6,-20,-10,8,-16,14,23,-15,-21,-10,-13,-12,1,4,-19,1,-13;
+MA /M: SY='E'; M=-9,12,-30,21,42,-30,-17,-2,-29,6,-22,-19,2,-2,16,-3,0,-10,-28,-24,-18,29;
+MA /M: SY='Y'; M=-15,-23,-24,-25,-20,24,-28,2,0,-16,9,2,-21,-28,-16,-10,-21,-11,-6,13,38,-20;
+MA /M: SY='C'; M=-7,-21,30,-26,-24,-9,-21,-16,-4,-22,0,4,-19,-28,-19,-21,-12,-9,3,-31,-12,-22;
+MA /M: SY='E'; M=-4,4,-26,6,11,-25,-4,-7,-24,-1,-23,-17,4,4,0,-6,2,-5,-22,-30,-20,4;
+MA /I: I=-5; MI=-25; MD=-25; IM=-25;
+MA /M: SY='G'; M=-6,-1,-24,-4,-9,-19,19,-8,-24,-7,-20,-12,6,-17,-9,-9,-3,-11,-21,-22,-15,-10; D=-5;
+MA /I: I=-5; MI=0; MD=-25; IM=0; DM=-25;
+MA /M: SY='G'; M=-1,-8,-24,-8,-12,-24,41,-15,-29,-12,-23,-15,-1,-13,-12,-10,0,-13,-22,-18,-22,-12; D=-5;
+MA /I: I=-5; MI=-25; IM=-25; DM=-25;
+MA /M: SY='D'; M=-5,17,-17,23,13,-27,-10,-6,-26,-4,-26,-21,11,-8,2,-8,16,8,-19,-37,-19,7;
+MA /M: SY='L'; M=-8,-29,-19,-30,-21,11,-29,-20,18,-28,43,19,-28,-29,-20,-19,-26,-8,11,-19,0,-20;
+MA /M: SY='F'; M=-8,-11,-22,-13,-7,7,-20,-3,-8,-9,-2,-1,-9,-20,-7,-6,-8,-6,-8,-12,7,-7;
+MA /M: SY='D'; M=-7,14,-25,19,12,-26,-14,-3,-25,5,-21,-15,5,-11,7,1,2,-2,-20,-25,-12,9;
+MA /M: SY='Y'; M=-11,-20,-24,-23,-17,12,-25,-4,2,-14,5,4,-17,-25,-14,-8,-16,-9,0,-1,16,-16;
+MA /M: SY='L'; M=-9,-29,-23,-32,-24,7,-31,-20,24,-25,27,15,-25,-27,-20,-20,-23,-9,17,-12,4,-23;
+MA /I: I=-6; MI=-32; MD=-32; IM=-32;
+MA /M: SY='K'; M=-8,1,-23,-1,3,-18,-15,-1,-18,9,-18,-8,3,-14,3,8,1,0,-13,-25,-9,2; D=-6;
+MA /I: I=-6; MI=-32; IM=-32; DM=-32;
+MA /M: SY='E'; M=-3,2,-23,3,7,-22,-11,-3,-22,6,-20,-12,2,-13,6,6,3,-2,-16,-26,-12,6;
+MA /I: I=-2; MI=-8; MD=-8; IM=-8;
+MA /M: SY='H'; M=-9,-2,-17,-3,3,-17,-13,6,-20,1,-16,-9,2,-15,3,5,-5,-9,-18,-24,-7,2; D=-2;
+MA /I: I=-2; MI=-8; MD=-8; IM=-8; DM=-8;
+MA /M: SY='G'; M=-4,-1,-23,-2,-3,-20,5,-10,-21,4,-20,-12,3,-15,-5,-1,0,-6,-14,-24,-15,-4; D=-2;
+MA /I: I=-2; MI=-8; MD=-8; IM=-8; DM=-8;
+MA /M: M=-4,-7,-17,-8,-7,-11,-8,-8,-10,-3,-11,-6,-4,-12,-5,-1,-2,-3,-7,-19,-6,-7; D=-2;
+MA /I: I=-2; MI=-8; MD=-8; IM=-8; DM=-8;
+MA /M: SY='R'; M=-4,-2,-13,-5,-3,-6,-9,0,-7,-1,-4,-3,2,-10,-1,3,-3,-1,-7,-13,-3,-3; D=-2;
+MA /I: I=-2; MI=0; IM=0; DM=-8;
+MA /M: SY='L'; M=-9,-25,-22,-31,-21,18,-26,-17,15,-24,21,15,-21,-25,-18,-19,-19,-9,8,-13,6,-19;
+MA /M: SY='S'; M=-5,2,-22,1,3,-21,-11,-7,-20,1,-21,-13,4,-4,3,1,9,7,-16,-28,-13,2;
+MA /M: SY='E'; M=-8,-4,-29,0,20,-17,-19,-7,-17,-2,-13,-10,-8,-7,4,-7,-7,-10,-19,-6,-7,12;
+MA /M: SY='E'; M=-7,-2,-27,-1,4,-15,-10,-3,-19,-4,-16,-11,-3,-6,-1,-8,-5,-8,-18,-16,-7,1;
+MA /M: SY='E'; M=-10,2,-26,4,10,-17,-17,2,-16,-4,-10,-7,-2,-12,6,-5,-4,-4,-17,-24,-6,7;
+MA /M: SY='I'; M=2,-22,-15,-27,-20,-5,-25,-22,15,-18,10,7,-18,-19,-16,-15,-10,-3,14,-23,-7,-20;
+MA /M: SY='R'; M=-10,-16,-16,-18,-10,-10,-20,-14,-11,4,-7,-3,-12,-22,-6,11,-12,-9,-6,-13,-7,-9;
+MA /M: SY='K'; M=-11,-5,-21,-7,-6,0,-17,-6,-17,2,-14,-8,-2,-19,-8,2,-5,-5,-12,-15,1,-7;
+MA /M: SY='Y'; M=-13,-27,-20,-32,-26,19,-32,-13,18,-23,14,10,-23,-27,-21,-20,-21,-10,11,1,23,-25;
+MA /M: SY='A'; M=7,-19,-12,-25,-18,5,-17,-20,3,-20,7,3,-16,-21,-18,-19,-5,0,5,-16,-5,-18;
+MA /M: SY='Y'; M=-4,-12,-23,-13,-6,-6,-18,-5,-10,-3,-6,-5,-10,-19,-4,2,-7,-5,-7,-10,3,-7;
+MA /M: SY='Q'; M=-8,4,-26,6,21,-34,-12,5,-25,5,-21,-9,2,-10,32,4,1,-9,-27,-25,-14,26;
+MA /M: SY='I'; M=-7,-27,-21,-32,-26,1,-32,-25,32,-24,21,18,-22,-23,-20,-22,-16,-2,26,-23,-3,-25;
+MA /M: SY='L'; M=7,-22,-1,-27,-20,-4,-20,-23,8,-22,12,3,-20,-24,-19,-22,-10,-4,10,-25,-11,-20;
+MA /M: SY='R'; M=-9,0,-24,0,6,-20,-16,-6,-17,8,-13,-7,1,-14,5,10,-1,-3,-15,-27,-12,5;
+MA /M: SY='G'; M=17,-10,-21,-14,-16,-24,34,-20,-25,-15,-20,-15,-5,-16,-15,-17,4,-9,-14,-21,-24,-16;
+MA /M: SY='L'; M=-7,-28,-19,-31,-23,7,-29,-22,24,-25,30,19,-26,-27,-20,-20,-20,-6,20,-21,-2,-22;
+MA /M: SY='E'; M=-2,5,-22,5,7,-20,-14,-4,-18,2,-15,-11,4,-14,3,-2,-2,-6,-16,-24,-9,4;
+MA /M: SY='Y'; M=-17,-16,-27,-19,-15,24,-26,25,-7,-13,-3,-1,-12,-26,-11,-9,-15,-11,-12,7,47,-16;
+MA /M: SY='L'; M=-8,-28,-3,-31,-23,3,-30,-22,18,-28,31,16,-27,-29,-21,-22,-23,-9,14,-25,-5,-23;
+MA /M: SY='H'; M=-16,0,-29,0,1,-20,-19,84,-28,-8,-19,-2,9,-19,9,0,-8,-18,-28,-28,16,1;
+MA /M: SY='S'; M=0,3,-19,4,5,-23,-7,-3,-23,2,-25,-16,7,-12,5,3,16,5,-16,-31,-14,4;
+MA /M: SY='K'; M=-8,-2,-23,-5,0,-20,-16,-1,-15,9,-12,-1,1,-17,6,8,-8,-9,-14,-21,-9,2;
+MA /I: I=-3; MI=0; IM=0;
+MA /M: SY='G'; M=-6,1,-27,-2,-6,-24,16,-8,-29,0,-27,-17,9,-11,-6,1,0,-9,-25,-23,-19,-7;
+MA /M: SY='I'; M=-8,-29,-18,-35,-28,5,-35,-26,34,-26,19,14,-24,-26,-23,-25,-18,-7,28,-20,2,-28;
+MA /M: SY='I'; M=-5,-28,-18,-32,-26,1,-32,-25,31,-24,19,15,-24,-25,-22,-23,-16,-5,29,-23,-3,-26;
+MA /M: SY='H'; M=-20,-2,-30,-2,-2,-15,-21,92,-27,-10,-18,0,7,-21,8,-1,-11,-19,-28,-24,26,-2;
+MA /M: SY='R'; M=-17,-9,-25,-11,-3,-18,-18,0,-25,20,-15,-7,0,-21,6,52,-9,-8,-18,-22,-10,-3;
+MA /M: SY='D'; M=-20,50,-30,70,20,-40,-10,0,-40,0,-30,-30,20,-10,0,-10,0,-10,-30,-40,-20,10;
+MA /M: SY='L'; M=-9,-30,-23,-33,-24,6,-33,-24,31,-29,37,20,-26,-26,-20,-23,-25,-9,19,-21,-1,-24;
+MA /M: SY='K'; M=-8,-1,-29,-1,9,-29,-19,-10,-29,46,-29,-10,0,-10,9,29,-8,-9,-19,-20,-11,9;
+MA /M: SY='P'; M=-3,-17,-32,-11,-4,-24,-14,-19,-15,-13,-19,-15,-16,52,-10,-19,-5,-6,-21,-29,-24,-10;
+MA /M: SY='E'; M=0,8,-24,12,17,-28,-6,-3,-26,2,-23,-17,4,-9,8,-1,7,-4,-21,-29,-18,12;
+MA /M: SY='N'; M=-10,40,-20,20,0,-20,0,10,-20,0,-30,-20,60,-20,0,0,10,0,-30,-40,-20,0;
+MA /M: SY='I'; M=-9,-30,-21,-37,-29,6,-36,-28,38,-28,20,16,-23,-24,-23,-26,-19,-8,28,-21,-1,-29;
+MA /M: SY='L'; M=-11,-29,-19,-32,-23,19,-29,-19,18,-27,36,20,-27,-29,-22,-19,-25,-9,13,-16,4,-22;
+MA /M: SY='L'; M=-10,-30,-19,-34,-25,13,-32,-24,26,-28,30,17,-26,-27,-23,-23,-23,-9,19,-19,1,-25;
+MA /M: SY='D'; M=-8,18,-18,22,1,-26,-5,-6,-24,-3,-23,-17,12,-15,-5,-8,4,-2,-16,-35,-18,-2;
+MA /M: SY='E'; M=-9,4,-24,4,10,-19,-17,2,-19,2,-17,-10,5,-11,5,3,2,-1,-17,-27,-9,6;
+MA /I: I=-3; MI=-17; MD=-17; IM=-17;
+MA /M: SY='B'; M=-5,9,-18,8,8,-24,-7,-2,-24,1,-22,-16,9,-9,3,-1,4,-1,-21,-30,-17,5; D=-3;
+MA /I: I=-3; MI=0; IM=0; DM=-17;
+MA /M: SY='G'; M=-5,-8,-23,-10,-13,-17,14,-12,-18,-12,-12,-8,-2,-16,-11,-10,-5,-10,-16,-23,-16,-13;
+MA /M: SY='H'; M=-9,-2,-21,-4,1,-13,-20,6,-14,0,-11,-4,-1,-16,1,1,-4,-1,-11,-24,-3,0;
+MA /M: SY='V'; M=-2,-26,-9,-30,-24,-3,-27,-26,19,-23,11,7,-24,-18,-23,-23,-14,-6,21,-26,-9,-25;
+MA /M: SY='K'; M=-10,-6,-22,-6,3,-22,-22,-11,-22,32,-22,-7,-5,-15,4,21,-10,-9,-13,-21,-8,4;
+MA /M: SY='L'; M=-9,-30,-23,-34,-25,5,-34,-25,33,-29,34,19,-26,-26,-21,-24,-24,-9,22,-21,-1,-25;
+MA /M: SY='A'; M=7,-15,1,-21,-19,-15,-4,-23,-5,-19,-9,-7,-10,-20,-17,-21,2,1,2,-28,-17,-19;
+MA /M: SY='D'; M=-20,50,-30,70,20,-40,-10,0,-40,0,-30,-30,20,-10,0,-10,0,-10,-30,-40,-20,10;
+MA /M: SY='F'; M=-19,-30,-21,-39,-29,73,-30,-20,1,-30,12,1,-21,-30,-38,-20,-21,-10,0,11,28,-29;
+MA /M: SY='G'; M=0,-10,-30,-10,-20,-30,70,-20,-40,-20,-30,-20,0,-20,-20,-20,0,-20,-30,-20,-30,-20;
+MA /M: SY='L'; M=-7,-26,-17,-28,-20,8,-27,-17,15,-26,30,14,-23,-27,-18,-19,-19,-7,10,-21,-1,-19;
+MA /M: SY='A'; M=26,-10,4,-16,-11,-19,-5,-15,-13,-13,-15,-12,-7,-16,-11,-18,12,3,-1,-29,-19,-11;
+MA /M: SY='K'; M=-6,-4,-19,-7,0,-19,-17,-11,-18,14,-16,-9,-1,-15,0,14,-2,0,-11,-25,-12,-1;
+MA /M: SY='R'; M=-10,-7,-25,-7,1,-14,-22,-9,-10,6,-7,-3,-6,-17,3,9,-9,-7,-7,-22,-7,1;
+MA /M: SY='L'; M=-7,-21,-22,-24,-17,5,-24,-13,10,-18,14,10,-19,-23,-14,-16,-15,-7,6,-13,5,-16;
+MA /I: I=-2; MI=-11; MD=-11; IM=-11;
+MA /M: SY='D'; M=-8,5,-25,6,5,-23,-10,-1,-18,0,-19,-10,5,-5,2,-3,1,-4,-17,-29,-14,2; D=-2;
+MA /I: I=-2; MI=-11; MD=-11; IM=-11; DM=-11;
+MA /M: SY='D'; M=-5,3,-24,5,3,-19,-10,-5,-19,-1,-19,-13,2,-1,-1,-2,1,-4,-16,-25,-11,0; D=-2;
+MA /I: I=-2; MI=-11; MD=-11; IM=-11; DM=-11;
+MA /M: SY='D'; M=-7,6,-22,7,2,-20,1,-2,-22,-6,-18,-14,6,-7,-3,-7,2,-3,-19,-22,-12,-1; D=-2;
+MA /I: I=-2; MI=-11; MD=-11; IM=-11; DM=-11;
+MA /M: SY='E'; M=-5,-4,-18,-4,2,-13,-6,-6,-11,-2,-7,-4,-2,-12,0,-2,-3,-4,-9,-19,-10,1; D=-2;
+MA /I: I=-2; MI=-11; MD=-11; IM=-11; DM=-11;
+MA /M: SY='S'; M=-3,1,-11,1,2,-12,-6,-4,-13,-1,-12,-9,1,-5,-1,-3,4,2,-9,-17,-7,0; D=-2;
+MA /I: I=-2; MI=0; IM=0; DM=-11;
+MA /M: SY='K'; M=-7,-4,-24,-5,3,-15,-15,-2,-17,6,-16,-7,-1,-11,2,6,-3,-5,-13,-24,-9,1;
+MA /M: M=0,-10,-19,-12,-7,-12,-16,-10,-9,-5,-4,-4,-9,-12,-7,-3,-6,-2,-6,-20,-7,-8;
+MA /M: SY='N'; M=-7,1,-23,-2,-1,-16,-11,2,-19,-1,-17,-9,4,-16,2,-1,2,1,-16,-19,-5,0;
+MA /M: SY='T'; M=-2,-1,-19,-4,-4,-18,-6,-10,-16,-7,-18,-12,2,-8,-5,-8,8,10,-10,-29,-15,-5;
+MA /M: SY='F'; M=-7,-17,-17,-20,-12,3,-20,-14,-2,-12,0,0,-13,-18,-11,-8,-9,-6,-2,-18,-1,-12;
+MA /M: SY='V'; M=-4,-18,8,-21,-17,-8,-21,-23,-2,-13,-6,-4,-16,-25,-18,-14,-7,-4,10,-29,-13,-18;
+MA /M: SY='G'; M=1,-12,-25,-13,-20,-22,53,-20,-32,-20,-24,-17,-3,-21,-21,-20,-1,-17,-23,-20,-25,-20;
+MA /M: SY='T'; M=0,1,-10,-5,-7,-15,-16,-17,-14,-10,-16,-13,1,-5,-8,-11,21,37,-5,-33,-14,-8;
+MA /M: SY='P'; M=-5,-15,-25,-12,-3,-17,-21,-13,-9,-6,-9,-7,-13,12,-7,-4,-8,-7,-10,-26,-14,-8;
+MA /M: M=-10,-4,-23,-4,0,-11,-11,-5,-17,-2,-15,-10,-1,-13,-4,-1,-4,-6,-16,-16,-4,-3;
+MA /M: SY='Y'; M=-20,-24,-32,-26,-23,34,-28,7,-4,-15,-2,-3,-23,-30,-16,-13,-23,-13,-12,45,63,-21;
+MA /M: SY='M'; M=-7,-19,-19,-25,-16,-5,-23,-11,11,-8,13,26,-17,-21,-6,-3,-16,-7,7,-22,-5,-12;
+MA /M: SY='A'; M=37,-8,-12,-15,-7,-21,1,-18,-13,-10,-16,-13,-5,-6,-8,-18,16,4,-4,-25,-21,-8;
+MA /M: SY='P'; M=-10,-19,-38,-11,-1,-28,-20,-20,-17,-11,-27,-18,-18,80,-10,-20,-10,-9,-27,-30,-28,-11;
+MA /M: SY='E'; M=-10,11,-30,20,58,-30,-19,0,-30,10,-20,-20,2,-1,19,0,0,-10,-30,-30,-20,39;
+MA /M: SY='V'; M=-2,-26,-16,-29,-23,-1,-28,-24,21,-20,12,8,-23,-25,-19,-18,-13,-5,23,-18,-5,-22;
+MA /M: SY='L'; M=-8,-25,-12,-29,-22,0,-26,-20,17,-25,20,11,-21,-26,-18,-20,-18,-9,13,-23,-5,-22;
+MA /I: I=-4; MI=-21; MD=-21; IM=-21;
+MA /M: SY='M'; M=-5,-6,-12,-6,-1,-4,-12,-2,-2,-2,1,3,-6,-9,2,1,-5,-4,-2,-11,-3,0; D=-4;
+MA /I: I=-4; MI=0; MD=-21; IM=0; DM=-21;
+MA /M: M=-3,-3,-23,-5,-4,-13,-1,-11,-16,-5,-11,-8,-1,-16,-6,-6,-1,-5,-14,-22,-11,-5; D=-4;
+MA /I: I=-4; MI=-21; IM=-21; DM=-21;
+MA /M: SY='N'; M=-4,-1,-15,-6,-6,-14,-4,1,-19,-4,-19,-11,6,-19,-3,-2,1,-5,-16,-23,-7,-6;
+MA /M: SY='R'; M=-10,0,-25,0,5,-21,-12,-4,-21,7,-17,-10,2,-12,4,10,-2,-4,-17,-25,-12,3;
+MA /I: I=-6; MI=-32; MD=-32; IM=-32;
+MA /M: SY='G'; M=-3,-10,-27,-9,-8,-17,5,-8,-18,-9,-16,-9,-7,-3,-6,-10,-4,-8,-17,-19,-10,-8; D=-6;
+MA /I: I=-6; MI=-32; IM=-32; DM=-32;
+MA /M: SY='Y'; M=-12,-9,-26,-8,-11,5,-23,15,-7,-11,-6,-3,-9,-23,-7,-11,-11,-9,-9,-1,31,-11;
+MA /M: SY='S'; M=0,5,-18,4,-4,-21,2,-12,-21,-9,-21,-17,7,-11,-7,-10,16,12,-14,-32,-18,-6;
+MA /I: I=-6; MI=-29; MD=-29; IM=-29;
+MA /M: M=-7,-8,-24,-9,-3,-9,-15,-5,-15,-2,-14,-8,-4,-5,-5,-2,-3,-1,-12,-21,-6,-5; D=-6;
+MA /I: I=-6; MI=0; IM=0; DM=-29;
+MA /M: SY='K'; M=-5,-4,-26,-3,9,-25,-15,-7,-23,16,-22,-11,-2,-2,8,13,0,-5,-19,-25,-14,8;
+MA /M: SY='A'; M=11,-13,-7,-17,-15,-12,-14,-21,2,-16,-6,-4,-10,-19,-15,-18,6,4,11,-30,-15,-16;
+MA /M: SY='D'; M=-19,49,-30,68,19,-40,-10,0,-39,0,-30,-30,19,-10,0,-10,0,-10,-29,-40,-20,10;
+MA /M: SY='I'; M=-7,-29,-23,-34,-27,2,-31,-24,28,-22,14,17,-26,-25,-21,-21,-18,-7,26,-6,1,-25;
+MA /M: SY='W'; M=-20,-33,-42,-34,-25,21,-23,-18,-14,-18,-12,-14,-32,-29,-19,-17,-32,-23,-22,104,39,-20;
+MA /M: SY='S'; M=19,-3,-10,-6,-3,-19,-1,-13,-16,-11,-22,-16,4,-11,-3,-13,30,14,-7,-34,-19,-3;
+MA /M: SY='L'; M=-9,-26,-16,-29,-22,14,-28,-16,14,-24,28,15,-25,-28,-20,-18,-21,-7,10,-14,8,-21;
+MA /M: SY='G'; M=4,-11,-28,-12,-19,-28,60,-20,-35,-19,-27,-18,-2,-19,-19,-20,1,-18,-25,-20,-28,-19;
+MA /M: SY='V'; M=-4,-25,12,-31,-26,-4,-30,-26,16,-25,8,6,-23,-28,-23,-24,-12,-6,20,-29,-9,-26;
+MA /M: SY='I'; M=-5,-23,-19,-29,-23,0,-30,-24,25,-22,15,14,-19,-22,-19,-20,-10,5,23,-24,-4,-23;
+MA /M: SY='L'; M=-6,-26,-18,-30,-21,10,-27,-20,18,-25,33,18,-25,-26,-19,-19,-21,-5,13,-19,0,-20;
+MA /M: SY='Y'; M=-9,-24,-26,-28,-22,18,-26,-6,7,-18,6,3,-22,-26,-17,-17,-18,-9,1,17,32,-21;
+MA /M: SY='E'; M=-9,3,-18,7,27,-22,-20,2,-21,1,-17,-13,-2,-10,9,-5,-1,-6,-20,-27,-10,17;
+MA /M: SY='M'; M=-7,-25,-15,-30,-20,5,-25,-13,17,-21,29,30,-24,-25,-13,-17,-22,-9,9,-20,0,-17;
+MA /M: SY='L'; M=-2,-22,-11,-27,-20,6,-25,-19,11,-22,19,10,-19,-24,-18,-19,-14,-3,9,-20,-2,-19;
+MA /I: I=-4; MI=-23; MD=-23; IM=-23;
+MA /M: SY='T'; M=-1,-7,-8,-11,-7,-9,-15,-12,-11,-10,-8,-8,-6,-16,-8,-9,4,12,-4,-23,-6,-8; D=-4;
+MA /I: I=-4; MI=0; MD=-23; IM=0; DM=-23;
+MA /M: SY='G'; M=-3,-5,-25,-5,-11,-24,38,-14,-31,-6,-24,-15,2,-16,-11,-6,-1,-12,-23,-19,-21,-12; D=-4;
+MA /I: I=-4; MI=-23; MD=-23; IM=-23; DM=-23;
+MA /M: SY='R'; M=-8,-2,-23,-2,6,-15,-15,-2,-20,9,-17,-9,1,-13,7,13,-1,-4,-16,-20,-7,6; D=-4;
+MA /I: I=-4; MI=-23; MD=-23; IM=-23; DM=-23;
+MA /M: SY='P'; M=-7,-14,-26,-12,-3,-10,-21,-10,-8,-11,-7,-6,-12,15,-8,-12,-7,-3,-11,-24,-10,-7; D=-4;
+MA /I: I=-4; MI=-23; IM=-23; DM=-23;
+MA /M: SY='P'; M=-8,-21,-35,-14,-5,-23,-22,-21,-12,-10,-22,-14,-20,65,-12,-19,-11,-9,-18,-28,-24,-12;
+MA /M: SY='F'; M=-17,-25,-21,-32,-25,49,-27,-14,-1,-24,5,-1,-18,-28,-27,-17,-19,-10,-4,16,28,-24;
+MA /I: I=-4; MI=-18; MD=-18; IM=-18;
+MA /M: SY='P'; M=-9,-2,-26,1,3,-18,-12,-5,-21,-5,-20,-14,-4,7,0,-8,-4,-8,-21,-20,-11,0; D=-4;
+MA /I: I=-4; MI=-18; MD=-18; IM=-18; DM=-18;
+MA /M: SY='G'; M=-2,4,-24,6,1,-25,9,-5,-25,-6,-20,-15,3,-9,-3,-7,1,-7,-20,-25,-17,-2; D=-4;
+MA /I: I=-4; MI=-18; MD=-18; IM=-18; DM=-18;
+MA /M: SY='H'; M=-6,-2,-16,-1,0,-9,-11,1,-5,-5,-5,-1,-1,-4,-3,-6,-5,-5,-6,-17,-5,-2; D=-4;
+MA /I: I=-4; MI=0; IM=0; DM=-18;
+MA /M: SY='D'; M=-10,7,-27,10,8,-24,-4,-6,-24,3,-21,-14,5,-10,2,4,-2,-8,-21,-28,-17,4;
+MA /M: SY='Q'; M=-6,6,-24,7,5,-25,-12,-1,-20,0,-19,-11,5,-7,8,-3,3,0,-18,-28,-13,6;
+MA /M: M=-6,-7,-21,-8,-4,-15,-15,-7,-10,-5,-8,-3,-6,-8,-1,-3,-4,-3,-10,-24,-9,-4;
+MA /M: SY='E'; M=-6,-4,-24,-3,1,-13,-17,-2,-14,-1,-12,-6,-4,-14,-1,-2,-4,-7,-12,-17,-5,0;
+MA /M: SY='Q'; M=-9,1,-26,0,10,-24,-16,8,-21,8,-18,-7,4,-11,13,9,-2,-6,-19,-26,-10,10;
+MA /M: SY='I'; M=-7,-23,-23,-29,-19,3,-30,-22,22,-22,17,12,-19,-18,-17,-21,-15,-3,14,-20,-2,-20;
+MA /M: SY='Y'; M=-9,-20,-20,-24,-19,10,-27,-6,11,-21,10,6,-16,-24,-16,-18,-14,-8,6,-13,12,-19;
+MA /M: SY='R'; M=-8,2,-22,2,8,-20,-13,-6,-22,6,-18,-13,2,-12,4,9,-1,-3,-18,-25,-12,5;
+MA /M: M=-3,-7,-22,-10,-6,-14,-15,-9,-5,-2,-8,-1,-3,-17,-3,-4,-3,-3,-4,-24,-8,-5;
+MA /M: SY='I'; M=-6,-20,-22,-23,-16,-6,-19,-19,13,-19,10,8,-17,-19,-13,-19,-13,-9,8,-21,-5,-16;
+MA /M: SY='R'; M=-9,-9,-25,-10,-5,-15,-11,-11,-13,1,-9,-2,-8,-12,-3,3,-8,-6,-10,-20,-10,-5;
+MA /M: SY='R'; M=-5,-3,-22,-3,1,-18,-15,-5,-18,2,-16,-11,-1,-7,0,3,1,-2,-15,-25,-10,-1;
+MA /M: M=-6,-10,-18,-11,-10,-13,-1,-9,-16,-13,-14,-10,-7,-10,-11,-12,-4,-6,-13,-19,-9,-12;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6;
+MA /M: M=-9,-4,-25,-2,-4,-13,-18,-8,-10,-2,-12,-7,-7,-11,-7,-5,-7,-5,-6,-16,-3,-7; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: SY='Y'; M=-9,-12,-24,-14,-7,-5,-22,-4,-3,-5,-3,1,-9,-16,-5,1,-10,-8,-4,-14,2,-7; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: SY='E'; M=-9,-5,-24,-4,3,-13,-18,-3,-10,-1,-8,-1,-5,-5,0,-2,-7,-7,-10,-22,-7,1; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: SY='P'; M=-7,-7,-23,-5,2,-12,-15,-8,-11,-4,-12,-9,-7,14,-3,-5,-5,-6,-13,-17,-10,-2; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: SY='S'; M=-6,-3,-17,-2,-1,-16,-14,-10,-13,-6,-12,-9,-2,-8,-2,-6,1,-1,-10,-27,-12,-2; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: SY='P'; M=-6,-15,-19,-15,-9,-6,-16,-14,-5,-12,-4,-3,-11,2,-11,-11,-7,-4,-8,-19,-8,-11; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: SY='P'; M=-7,-7,-26,-2,2,-19,-14,-8,-17,0,-18,-12,-7,18,-2,-3,-4,-6,-17,-20,-13,-2; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: M=-6,-7,-17,-7,-2,-11,-14,-7,-10,-3,-6,-5,-6,-6,-3,-3,-5,-2,-9,-19,-6,-3; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: M=-6,-8,-16,-8,-5,-2,-15,-6,-7,-7,-6,-6,-8,-6,-7,-7,-6,-5,-6,-6,0,-7; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: SY='D'; M=-3,3,-13,4,2,-11,-7,-1,-9,-2,-8,-6,2,-5,-1,-3,0,-2,-8,-15,-6,0; D=-1;
+MA /I: I=-1; MI=-6; MD=-6; IM=-6; DM=-6;
+MA /M: M=-3,-3,-13,-5,-2,-7,-7,-7,-4,-2,-5,-3,-2,-5,-3,-1,-3,-3,-4,-12,-6,-4; D=-1;
+MA /I: I=-1; MI=0; IM=0; DM=-6;
+MA /M: SY='L'; M=-6,-20,-11,-23,-19,3,-19,-17,2,-19,6,2,-19,-23,-18,-17,-13,-6,4,-14,2,-19;
+MA /M: SY='S'; M=1,-2,-16,-2,0,-20,-9,-7,-16,-8,-20,-12,2,-3,-1,-9,16,8,-12,-33,-16,-1;
+MA /M: SY='E'; M=-5,0,-23,1,6,-23,-15,-8,-19,4,-19,-11,-1,-1,4,-1,2,-1,-17,-26,-13,4;
+MA /M: SY='E'; M=-6,4,-23,7,20,-22,-12,-6,-23,1,-18,-13,0,-7,5,-4,-1,-7,-20,-23,-14,12;
+MA /M: SY='L'; M=6,-20,-7,-25,-18,-2,-17,-18,3,-19,9,4,-18,-23,-16,-19,-11,-6,5,-18,-6,-17;
+MA /M: SY='R'; M=-9,-5,-19,-8,-3,-15,-18,-6,-16,7,-14,-7,-2,-17,1,9,-6,-4,-12,-21,-6,-3;
+MA /M: SY='D'; M=-10,16,-26,22,13,-28,-9,2,-28,3,-23,-17,10,-12,4,0,4,-5,-22,-32,-15,8;
+MA /M: SY='L'; M=-9,-28,-19,-32,-23,21,-30,-22,18,-26,27,13,-24,-27,-23,-20,-20,-6,14,-15,4,-23;
+MA /M: SY='I'; M=-7,-28,-17,-32,-25,1,-30,-24,27,-25,25,17,-24,-26,-20,-21,-20,-8,21,-23,-4,-24;
+MA /M: SY='R'; M=-5,0,-20,-1,3,-19,-12,-9,-18,4,-17,-11,2,-14,2,5,3,0,-13,-28,-14,2;
+MA /M: SY='K'; M=-9,0,-25,2,8,-25,-13,-5,-26,13,-22,-13,0,-14,8,13,-4,-9,-21,-16,-12,8;
+MA /M: SY='C'; M=-7,-21,26,-27,-21,-5,-26,-19,1,-23,10,9,-19,-28,-17,-21,-15,-8,2,-31,-12,-19;
+MA /M: SY='L'; M=-10,-29,-20,-32,-23,13,-28,-23,12,-27,26,10,-27,-28,-21,-21,-25,-10,5,5,5,-22;
+MA /M: SY='E'; M=-6,0,-20,3,8,-23,-16,-5,-17,1,-15,-10,-3,-11,3,0,-2,-5,-12,-28,-14,4;
+MA /I: I=-6; MI=-32; MD=-32; IM=-32;
+MA /M: SY='K'; M=-11,-10,-25,-9,-4,-12,-23,-3,-9,5,-8,-3,-9,-10,-4,5,-10,-7,-6,-20,-1,-6; D=-6;
+MA /I: I=-6; MI=-32; IM=-32; DM=-32;
+MA /M: SY='D'; M=-12,28,-25,30,11,-27,-10,2,-27,3,-26,-21,23,-12,2,-1,4,-4,-25,-34,-15,6;
+MA /M: SY='P'; M=-2,-17,-32,-13,-3,-22,-18,-15,-14,-8,-20,-11,-17,48,-8,-15,-8,-8,-18,-26,-20,-9;
+MA /M: SY='E'; M=-2,6,-24,6,13,-23,-11,-3,-21,2,-18,-13,4,-12,7,-1,3,-4,-18,-26,-12,10;
+MA /M: SY='E'; M=-5,6,-21,7,9,-23,-15,-3,-22,7,-19,-13,5,-13,4,4,2,-3,-17,-29,-12,6;
+MA /M: SY='R'; M=-20,-10,-30,-10,0,-20,-20,0,-30,30,-20,-10,0,-20,10,70,-10,-10,-20,-20,-10,0;
+MA /M: SY='P'; M=-7,-22,-29,-20,-11,-13,-22,-19,0,-17,-3,-3,-20,26,-12,-20,-13,-9,-9,-21,-13,-14;
+MA /M: SY='S'; M=1,2,-17,0,-4,-19,0,-12,-19,-9,-19,-14,5,-11,-6,-9,17,14,-12,-32,-17,-5;
+MA /M: SY='A'; M=9,-17,-13,-24,-17,2,-17,-19,3,-18,1,1,-12,-17,-16,-18,-4,-2,4,-18,-6,-17;
+MA /M: SY='E'; M=-5,-2,-25,-3,3,-21,-8,-5,-18,2,-14,-8,1,-9,1,2,-3,-6,-16,-26,-14,1;
+MA /M: SY='E'; M=-5,2,-22,5,23,-28,-15,-3,-23,3,-20,-13,-2,-2,16,-3,-1,-7,-23,-27,-16,19;
+MA /M: SY='L'; M=4,-20,-17,-25,-18,-4,-21,-20,13,-21,18,8,-18,-22,-16,-19,-14,-7,11,-23,-8,-18;
+MA /I: I=-4; MI=-18; MD=-18; IM=-18;
+MA /M: SY='L'; M=-7,-20,-17,-22,-17,2,-12,-15,5,-19,18,11,-18,-23,-15,-13,-16,-9,4,-18,-4,-16; D=-4;
+MA /I: I=-4; MI=-18; MD=-18; IM=-18; DM=-18;
+MA /M: SY='E'; M=0,0,-18,-1,8,-20,-14,-5,-17,7,-14,-9,0,-12,3,4,-1,-4,-11,-24,-12,5; D=-4;
+MA /I: I=-4; MI=0; IM=0; DM=-18;
+MA /M: SY='H'; M=-14,0,-26,1,0,-17,-20,47,-19,-9,-14,-2,3,-18,4,-5,-6,-10,-17,-28,7,-1;
+MA /M: SY='P'; M=-5,-13,-29,-9,0,-20,-18,-14,-10,-9,-14,-10,-14,23,-6,-14,-6,-7,-12,-26,-16,-5;
+MA /M: SY='F'; M=-13,-24,-23,-29,-21,28,-24,-14,-7,-20,-1,-5,-20,-26,-22,-15,-17,-8,-7,27,19,-20;
+MA /M: SY='F'; M=-12,-27,-22,-32,-24,26,-29,-20,15,-26,21,11,-22,-25,-25,-19,-21,-9,10,-9,8,-24;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=709(701); /POSITIVE=690(682); /UNKNOWN=16(16); /FALSE_POS=3(3);
+NR /FALSE_NEG=3; /PARTIAL=13;
+CC /TAXO-RANGE=??EPV; /MAX-REPEAT=2;
+DR P13368, 7LES_DROME, T; P20806, 7LES_DROVI, T; Q02066, AAIP_WHEAT, T;
+DR Q09136, AAKA_PIG , T; Q09137, AAKA_RAT , T; P03949, ABL1_CAEEL, T;
+DR P00519, ABL1_HUMAN, T; P42684, ABL2_HUMAN, T; P11681, ABL_CALVI , T;
+DR P00522, ABL_DROME , T; P10447, ABL_FSVHY , T; P00521, ABL_MLVAB , T;
+DR P00520, ABL_MOUSE , T; P16066, ANPA_HUMAN, T; P18293, ANPA_MOUSE, T;
+DR P18910, ANPA_RAT , T; P46197, ANPB_BOVIN, T; P20594, ANPB_HUMAN, T;
+DR P16067, ANPB_RAT , T; Q06548, APKA_ARATH, T; P46573, APKB_ARATH, T;
+DR P21146, ARK1_BOVIN, T; P25098, ARK1_HUMAN, T; P26817, ARK1_RAT , T;
+DR P26818, ARK2_BOVIN, T; P35626, ARK2_HUMAN, T; P26819, ARK2_RAT , T;
+DR P43291, ASK1_ARATH, T; P43292, ASK2_ARATH, T; P27037, AVR2_HUMAN, T;
+DR P27038, AVR2_MOUSE, T; P38444, AVR2_RAT , T; P27039, AVR2_XENLA, T;
+DR P27040, AVRB_MOUSE, T; P38445, AVRB_RAT , T; P27041, AVRB_XENLA, T;
+DR Q01389, BCK1_YEAST, T; Q01742, BFR2_HUMAN, T; P16277, BLK_MOUSE , T;
+DR Q06187, BTK_HUMAN , T; P35991, BTK_MOUSE , T; P41695, BUB1_YEAST, T;
+DR P10506, BYR1_SCHPO, T; P28829, BYR2_SCHPO, T; Q08345, CAK_HUMAN , T;
+DR P27636, CC15_YEAST, T; P24923, CC21_MEDSA, T; P29618, CC21_ORYSA, T;
+DR P19026, CC21_PEA , T; P35567, CC21_XENLA, T; Q05006, CC22_MEDSA, T;
+DR P29619, CC22_ORYSA, T; P28567, CC22_PEA , T; P24033, CC22_XENLA, T;
+DR P43063, CC28_CANAL, T; P00546, CC28_YEAST, T; P24100, CC2A_ARATH, T;
+DR P25859, CC2B_ARATH, T; P23573, CC2C_DROME, T; Q01917, CC2H_CRIFA, T;
+DR P34117, CC2H_DICDI, T; Q07785, CC2H_PLAFK, T; P38973, CC2H_TRYBB, T;
+DR P34556, CC2_CAEEL , T; P13863, CC2_CHICK , T; P34112, CC2_DICDI , T;
+DR P23572, CC2_DROME , T; P06493, CC2_HUMAN , T; P23111, CC2_MAIZE , T;
+DR P11440, CC2_MOUSE , T; P43290, CC2_PETHY , T; P39951, CC2_RAT , T;
+DR P04551, CC2_SCHPO , T; P32562, CC5_YEAST , T; P41892, CC7_SCHPO , T;
+DR P06243, CC7_YEAST , T; P46551, CDK2_CAEEL, T; P43450, CDK2_CARAU, T;
+DR Q04770, CDK2_ENTHI, T; P24941, CDK2_HUMAN, T; P23437, CDK2_XENLA, T;
+DR Q00526, CDK3_HUMAN, T; P11802, CDK4_HUMAN, T; P30285, CDK4_MOUSE, T;
+DR P35426, CDK4_RAT , T; Q02399, CDK5_BOVIN, T; Q00535, CDK5_HUMAN, T;
+DR Q03114, CDK5_RAT , T; Q00534, CDK6_HUMAN, T; Q06850, CDP1_ARATH, T;
+DR P28582, CDPK_DAUCA, T; P28583, CDPK_SOYBN, T; P07334, CDR1_SCHPO, T;
+DR Q09170, CDS1_SCHPO, T; P38938, CEK1_SCHPO, T; P18460, CEK2_CHICK, T;
+DR P18461, CEK3_CHICK, T; P34208, CHK1_SCHPO, T; P23291, CK11_YEAST, T;
+DR P23292, CK12_YEAST, T; P39962, CK13_YEAST, T; P40233, CKI1_SCHPO, T;
+DR P40234, CKI2_SCHPO, T; P38679, COT1_NEUCR, T; Q06309, CRK1_LEIME, T;
+DR P36615, CSK1_SCHPO, T; P41239, CSK_CHICK , T; P41240, CSK_HUMAN , T;
+DR P41241, CSK_MOUSE , T; P32577, CSK_RAT , T; Q03957, CTK1_YEAST, T;
+DR P42679, CTK_HUMAN , T; P41242, CTK_MOUSE , T; P41243, CTK_RAT , T;
+DR Q05609, CTR1_ARATH, T; Q09435, CYG3_CAEEL, T; P11528, CYGR_ARBPU, T;
+DR Q02846, CYGR_HUMAN, T; P16065, CYGS_STRPU, T; P20792, DAF1_CAEEL, T;
+DR P22204, DBF2_YEAST, T; P32328, DBFB_YEAST, T; P36616, DSK1_SCHPO, T;
+DR P39009, DUN1_YEAST, T; P00533, EGFR_HUMAN, T; P32801, ELM1_YEAST, T;
+DR P04626, ERB2_HUMAN, T; P21860, ERB3_HUMAN, T; P28869, ERK1_CANAL, T;
+DR P42525, ERK1_DICDI, T; P27361, ERK1_HUMAN, T; P21708, ERK1_RAT , T;
+DR P46196, ERK2_BOVIN, T; P28482, ERK2_HUMAN, T; P27703, ERK2_RAT , T;
+DR P26696, ERK2_XENLA, T; P31152, ERK3_HUMAN, T; P27704, ERK3_RAT , T;
+DR P40417, ERKA_DROME, T; P35761, ESK_MOUSE , T; Q00944, FAK_CHICK , T;
+DR Q05397, FAK_HUMAN , T; P34152, FAK_MOUSE , T; P16591, FER_HUMAN , T;
+DR P14238, FES_FELCA , T; P00542, FES_FSVGA , T; P00543, FES_FSVST , T;
+DR P07332, FES_HUMAN , T; P16879, FES_MOUSE , T; P21804, FGR1_CHICK, T;
+DR Q07407, FGR1_DROME, T; P11362, FGR1_HUMAN, T; P16092, FGR1_MOUSE, T;
+DR Q04589, FGR1_RAT , T; P22182, FGR1_XENLA, T; Q09147, FGR2_DROME, T;
+DR P21802, FGR2_HUMAN, T; Q03364, FGR2_XENLA, T; P22607, FGR3_HUMAN, T;
+DR P22455, FGR4_HUMAN, T; P00544, FGR_FSVGR , T; P09769, FGR_HUMAN , T;
+DR P14234, FGR_MOUSE , T; P09760, FLK_RAT , T; P36888, FLT3_HUMAN, T;
+DR Q00342, FLT3_MOUSE, T; P35916, FLT4_HUMAN, T; P35917, FLT4_MOUSE, T;
+DR P00541, FPS_AVISP , T; P18106, FPS_DROME , T; P00530, FPS_FUJSV , T;
+DR P42685, FRK_HUMAN , T; P16057, FRT_HUMAN , T; P16892, FUS3_YEAST, T;
+DR P23647, FUSE_DROME, T; Q05876, FYN_CHICK , T; P06241, FYN_HUMAN , T;
+DR P39688, FYN_MOUSE , T; P13406, FYN_XENLA , T; P27446, FYN_XIPHE , T;
+DR P15442, GCN2_YEAST, T; P32865, GPK1_DROME, T; P32866, GPK2_DROME, T;
+DR P32298, GRK4_HUMAN, T; P43249, GRK5_BOVIN, T; P34947, GRK5_HUMAN, T;
+DR P43250, GRK6_HUMAN, T; P38970, HAL5_YEAST, T; P08631, HCK_HUMAN , T;
+DR P08103, HCK_MOUSE , T; P40235, HHP1_SCHPO, T; P40236, HHP2_SCHPO, T;
+DR P32485, HOG1_YEAST, T; P29295, HR25_YEAST, T; P25092, HSER_HUMAN, T;
+DR P23897, HSER_RAT , T; P46599, HST7_CANAL, T; P08069, IG1R_HUMAN, T;
+DR P09208, INSR_DROME, T; P06213, INSR_HUMAN, T; P15208, INSR_MOUSE, T;
+DR P15127, INSR_RAT , T; P38991, IPL1_YEAST, T; P32361, IRE1_YEAST, T;
+DR P14617, IRR_CAVPO , T; P14616, IRR_HUMAN , T; Q08881, ITK_HUMAN , T;
+DR Q03526, ITK_MOUSE , T; P23458, JAK1_HUMAN, T; P45985, JKK1_HUMAN, T;
+DR P45983, JNK1_HUMAN, T; P45984, JNK2_HUMAN, T; Q09690, KA23_SCHPO, T;
+DR Q09792, KAA8_SCHPO, T; Q09815, KAB7_SCHPO, T; P31374, KAB7_YEAST, T;
+DR P31748, KAKT_MLVAT, T; P00517, KAPA_BOVIN, T; P25321, KAPA_CRIGR, T;
+DR P17612, KAPA_HUMAN, T; P05132, KAPA_MOUSE, T; P36887, KAPA_PIG , T;
+DR P27791, KAPA_RAT , T; P06244, KAPA_YEAST, T; P05131, KAPB_BOVIN, T;
+DR P22694, KAPB_HUMAN, T; P05206, KAPB_MOUSE, T; P05383, KAPB_PIG , T;
+DR P40376, KAPB_SCHPO, T; P06245, KAPB_YEAST, T; P21137, KAPC_CAEEL, T;
+DR P34099, KAPC_DICDI, T; P12370, KAPC_DROME, T; P05986, KAPC_YEAST, T;
+DR P22612, KAPG_HUMAN, T; P24256, KAPI_BOVIN, T; P21901, KAPL_APLCA, T;
+DR P38147, KB9S_YEAST, T; P38070, KBN8_YEAST, T; P38080, KBQ9_YEAST, T;
+DR P35506, KC1A_BOVIN, T; P35507, KC1B_BOVIN, T; P42158, KC1D_ARATH, T;
+DR Q06486, KC1D_RAT , T; P35509, KC1G_BOVIN, T; Q08467, KC21_ARATH, T;
+DR P21868, KC21_CHICK, T; P19138, KC21_HUMAN, T; P33674, KC21_RABIT, T;
+DR P19139, KC21_RAT , T; P40231, KC21_SCHPO, T; P15790, KC21_YEAST, T;
+DR Q08466, KC22_ARATH, T; P20427, KC22_BOVIN, T; P21869, KC22_CHICK, T;
+DR P19784, KC22_HUMAN, T; P28020, KC22_XENLA, T; P19454, KC22_YEAST, T;
+DR P18334, KC2A_CAEEL, T; Q02720, KC2A_DICDI, T; P08181, KC2A_DROME, T;
+DR P28523, KC2A_MAIZE, T; P28547, KC2A_THEPA, T; P29620, KC47_ORYSA, T;
+DR P27466, KCC1_YEAST, T; P22517, KCC2_YEAST, T; P08414, KCC4_MOUSE, T;
+DR P13234, KCC4_RAT , T; P25389, KCC4_YEAST, T; P11798, KCCA_MOUSE, T;
+DR P11275, KCCA_RAT , T; P28652, KCCB_MOUSE, T; P08413, KCCB_RAT , T;
+DR P15791, KCCD_RAT , T; P11730, KCCG_RAT , T; Q07250, KCCS_MALDO, T;
+DR P22518, KCLK_MOUSE, T; P41279, KCOT_HUMAN, T; Q07174, KCOT_MOUSE, T;
+DR P25333, KCR8_YEAST, T; P25390, KCW3_YEAST, T; P16912, KDC2_DROME, T;
+DR P16910, KDCA_DROME, T; P16911, KDCB_DROME, T; P29317, KECK_HUMAN, T;
+DR P29321, KEEK_RAT , T; P33279, KEI2_RABIT, T; P29318, KEK4_CHICK, T;
+DR P29319, KEK4_MOUSE, T; P28693, KEK5_CHICK, T; P09759, KELK_RAT , T;
+DR Q05512, KEMK_MOUSE, T; P21709, KEPH_HUMAN, T; P00534, KER1_CHICK, T;
+DR P11273, KER2_CHICK, T; P00535, KERB_AVIER, T; P29323, KERK_HUMAN, T;
+DR P43568, KFC9_YEAST, T; P43565, KFD3_YEAST, T; P13369, KFMS_FELCA, T;
+DR P00545, KFMS_FSVMD, T; P07333, KFMS_HUMAN, T; P09581, KFMS_MOUSE, T;
+DR Q00495, KFMS_RAT , T; P43637, KG18_YEAST, T; P18265, KG3A_RAT , T;
+DR P18266, KG3B_RAT , T; P21803, KGFR_MOUSE, T; Q03042, KGP1_DROME, T;
+DR Q03043, KGP2_DROME, T; P32023, KGP3_DROME, T; P00516, KGPA_BOVIN, T;
+DR P14619, KGPB_HUMAN, T; P29320, KHEK_HUMAN, T; P38692, KHQ2_YEAST, T;
+DR P34891, KI15_CAEEL, T; P34892, KI16_CAEEL, T; P06242, KI28_YEAST, T;
+DR P25341, KI82_YEAST, T; P40494, KIJ5_YEAST, T; P22987, KIN1_SCHPO, T;
+DR P13185, KIN1_YEAST, T; P13186, KIN2_YEAST, T; P22209, KIN3_YEAST, T;
+DR P20911, KIN4_XENLA, T; Q01919, KIN4_YEAST, T; Q04771, KIR1_HUMAN, T;
+DR P37172, KIR1_MOUSE, T; P80201, KIR1_RAT , T; P36896, KIR2_HUMAN, T;
+DR P80202, KIR2_RAT , T; P37023, KIR3_HUMAN, T; P80203, KIR3_RAT , T;
+DR P36897, KIR4_HUMAN, T; P80204, KIR4_RAT , T; P36894, KIR5_HUMAN, T;
+DR P36895, KIR5_MOUSE, T; P36898, KIR6_MOUSE, T; Q00532, KKIA_HUMAN, T;
+DR P43481, KKIT_BOVIN, T; Q08156, KKIT_CHICK, T; P04048, KKIT_FSVHZ, T;
+DR P10721, KKIT_HUMAN, T; P05532, KKIT_MOUSE, T; P34244, KKK1_YEAST, T;
+DR P28708, KKL6_YEAST, T; P36005, KKQ1_YEAST, T; P36004, KKQ8_YEAST, T;
+DR P36003, KKR1_YEAST, T; P36002, KKT8_YEAST, T; P29376, KLTK_HUMAN, T;
+DR P08923, KLTK_MOUSE, T; P00531, KMIL_AVIMH, T; P05625, KMIL_CHICK, T;
+DR P19038, KML2_CHICK, T; P11799, KMLC_CHICK, T; P25323, KMLC_DICDI, T;
+DR P07313, KMLC_RABIT, T; P20689, KMLC_RAT , T; P10650, KMOS_CERAE, T;
+DR P10741, KMOS_CHICK, T; P00540, KMOS_HUMAN, T; P00536, KMOS_MOUSE, T;
+DR P07331, KMOS_MSVMH, T; P00537, KMOS_MSVMM, T; P00538, KMOS_MSVMO, T;
+DR P32593, KMOS_MSVMT, T; P10421, KMOS_MSVTS, T; P00539, KMOS_RAT , T;
+DR P12965, KMOS_XENLA, T; P32350, KNS1_YEAST, T; P21127, KP58_HUMAN, T;
+DR P24788, KP58_MOUSE, T; P46892, KP58_RAT , T; P19525, KP68_HUMAN, T;
+DR P27448, KP78_HUMAN, T; P35465, KPAK_RAT , T; P07934, KPBG_MOUSE, T;
+DR P00518, KPBG_RABIT, T; P13286, KPBG_RAT , T; P15735, KPBH_HUMAN, T;
+DR P31325, KPBH_RAT , T; P34722, KPC1_CAEEL, T; P43057, KPC1_CANAL, T;
+DR P05130, KPC1_DROME, T; P05771, KPC1_HUMAN, T; P05772, KPC1_RABIT, T;
+DR P04410, KPC1_RAT , T; P24583, KPC1_YEAST, T; P05126, KPC2_BOVIN, T;
+DR P34885, KPC2_CAEEL, T; P13677, KPC2_DROME, T; P05127, KPC2_HUMAN, T;
+DR P05773, KPC2_RABIT, T; P04411, KPC2_RAT , T; P13678, KPC3_DROME, T;
+DR P04409, KPCA_BOVIN, T; P17252, KPCA_HUMAN, T; P20444, KPCA_MOUSE, T;
+DR P10102, KPCA_RABIT, T; P05696, KPCA_RAT , T; Q05655, KPCD_HUMAN, T;
+DR P28867, KPCD_MOUSE, T; P09215, KPCD_RAT , T; Q02156, KPCE_HUMAN, T;
+DR P16054, KPCE_MOUSE, T; P10830, KPCE_RABIT, T; P09216, KPCE_RAT , T;
+DR P05128, KPCG_BOVIN, T; P05129, KPCG_HUMAN, T; P10829, KPCG_RABIT, T;
+DR P05697, KPCG_RAT , T; P41743, KPCI_HUMAN, T; P24723, KPCL_HUMAN, T;
+DR P23298, KPCL_MOUSE, T; Q04759, KPCT_HUMAN, T; Q02111, KPCT_MOUSE, T;
+DR Q05513, KPCZ_HUMAN, T; Q02956, KPCZ_MOUSE, T; P09217, KPCZ_RAT , T;
+DR Q05652, KPEL_DROME, T; P11309, KPIM_HUMAN, T; P06803, KPIM_MOUSE, T;
+DR P26794, KPIM_RAT , T; P42818, KPK1_ARATH, T; P15792, KPK1_PHAVU, T;
+DR Q02595, KPK2_PLAFK, T; Q05999, KPK7_ARATH, T; P07557, KPKS_HUMAN, T;
+DR P17801, KPRO_MAIZE, T; P11800, KPSC_HUMAN, T; P11801, KPSH_HUMAN, T;
+DR Q00536, KPT1_HUMAN, T; Q04735, KPT1_MOUSE, T; Q00537, KPT2_HUMAN, T;
+DR Q07002, KPT3_HUMAN, T; Q04899, KPT3_MOUSE, T; P15443, KR14_HSVI1, T;
+DR Q00097, KR15_HSVI1, T; Q00098, KR16_HSVI1, T; P04413, KR1_HSV11 , T;
+DR P13287, KR1_HSV2 , T; Q08097, KR1_HSVBS , T; P28926, KR1_HSVEB , T;
+DR P32516, KR1_HSVEK , T; P17613, KR1_PRVKA , T; P24381, KR1_PRVN3 , T;
+DR Q04543, KR1_SVVD , T; P09251, KR1_VZVD , T; P13288, KR2_EBV , T;
+DR P04290, KR2_HSV11 , T; P28966, KR2_HSVEB , T; P30662, KR2_PRVN3 , T;
+DR P09296, KR2_VZVD , T; Q00094, KR73_HSVI1, T; Q00095, KR74_HSVI1, T;
+DR P10398, KRAA_HUMAN, T; P04627, KRAA_MOUSE, T; P14056, KRAA_RAT , T;
+DR P15056, KRAB_HUMAN, T; P28028, KRAB_MOUSE, T; Q01314, KRAC_BOVIN, T;
+DR P31749, KRAC_HUMAN, T; P31750, KRAC_MOUSE, T; Q07292, KRAF_CAEEL, T;
+DR P11346, KRAF_DROME, T; P04049, KRAF_HUMAN, T; P00532, KRAF_MSV36, T;
+DR P11345, KRAF_RAT , T; P09560, KRAF_XENLA, T; P20505, KRB1_VACCC, T;
+DR P16913, KRB1_VACCV, T; P33800, KRB1_VARV , T; P21098, KRB2_VACCC, T;
+DR P24362, KRB2_VACCV, T; P31751, KRCB_HUMAN, T; Q04859, KRCK_MOUSE, T;
+DR P21095, KRF1_VACCC, T; P29884, KRF1_VACCP, T; P33801, KRF1_VARV , T;
+DR P00529, KROS_AVISU, T; P08941, KROS_CHICK, T; P08922, KROS_HUMAN, T;
+DR P18653, KS61_MOUSE, T; P18654, KS62_MOUSE, T; P18652, KS6A_CHICK, T;
+DR P10665, KS6A_XENLA, T; P10666, KS6B_XENLA, T; P23443, KS6_HUMAN , T;
+DR P21425, KS6_RAT , T; Q03137, KSEK_MOUSE, T; P43288, KSGA_ARATH, T;
+DR P43289, KSGG_ARATH, T; P23646, KSGM_DROME, T; P18431, KSGZ_DROME, T;
+DR P38691, KSP1_YEAST, T; P14681, KSS1_YEAST, T; Q03963, KTIK_MOUSE, T;
+DR P18160, KYK1_DICDI, T; P18161, KYK2_DICDI, T; P42683, LCK_CHICK , T;
+DR P06239, LCK_HUMAN , T; P06240, LCK_MOUSE , T; P24348, LT23_CAEEL, T;
+DR P07948, LYN_HUMAN , T; P25911, LYN_MOUSE , T; Q07014, LYN_RAT , T;
+DR P20794, MAK_HUMAN , T; P20793, MAK_RAT , T; Q06060, MAPK_PEA , T;
+DR P21965, MCK1_YEAST, T; P38615, MDS1_YEAST, T; P24719, MEK1_YEAST, T;
+DR P08581, MET_HUMAN , T; P16056, MET_MOUSE , T; P43294, MHK_ARATH , T;
+DR P30290, MIK1_SCHPO, T; P43068, MKC1_CANAL, T; P32490, MKK1_YEAST, T;
+DR P32491, MKK2_YEAST, T; P46734, MKK3_HUMAN, T; P80192, MLK1_HUMAN, T;
+DR Q02779, MLK2_HUMAN, T; Q02750, MPK1_HUMAN, T; P31938, MPK1_MOUSE, T;
+DR P29678, MPK1_RABIT, T; Q01986, MPK1_RAT , T; Q05116, MPK1_XENLA, T;
+DR P36507, MPK2_HUMAN, T; Q03143, MPK2_MOUSE, T; P36506, MPK2_RAT , T;
+DR Q07192, MPK2_XENLA, T; P39746, MPK3_XENLA, T; Q03145, MPK5_MOUSE, T;
+DR Q03140, MPK9_MOUSE, T; Q03141, MPKA_MOUSE, T; Q03142, MPKB_MOUSE, T;
+DR Q07176, MSK7_MEDSA, T; P43293, NAK_ARATH , T; P06494, NEU_RAT , T;
+DR P11837, NIMA_EMENI, T; P10676, NINL_DROME, T; P10677, NINS_DROME, T;
+DR P22211, NPR1_YEAST, T; Q08942, NRKA_TRYBB, T; Q03428, NRKB_TRYBB, T;
+DR P38990, PAK1_YEAST, T; P08018, PBS2_YEAST, T; P36582, PCK1_SCHPO, T;
+DR P36583, PCK2_SCHPO, T; P09619, PGDR_HUMAN, T; P05622, PGDR_MOUSE, T;
+DR P16234, PGDS_HUMAN, T; P26618, PGDS_MOUSE, T; P20786, PGDS_RAT , T;
+DR P26619, PGDS_XENLA, T; P17157, PH85_YEAST, T; P25848, PHY_CERPU , T;
+DR P42493, PK1_ASFB7 , T; P34206, PK1_ASFM2 , T; P34101, PK1_DICDI , T;
+DR P41415, PK1_NPVAC , T; P41719, PK1_NPVHZ , T; P41720, PK1_NPVLD , T;
+DR P28178, PK2_DICDI , T; P41676, PK2_NPVAC , T; P34102, PK3_DICDI , T;
+DR P34103, PK4_DICDI , T; P34104, PK5_DICDI , T; P34100, PKD1_DICDI, T;
+DR P33973, PKN1_MYXXA, T; Q07832, PLK_MOUSE , T; Q07538, PRP4_SCHPO, T;
+DR P40230, RAG8_KLULA, T; P08092, RAN1_SCHPO, T; P38622, RCK1_YEAST, T;
+DR P38623, RCK2_YEAST, T; P07949, RET_HUMAN , T; P35546, RET_MOUSE , T;
+DR Q02723, RKI1_SECCE, T; P28327, RK_BOVIN , T; P27966, RMIL_AVEVR, T;
+DR P10533, RMIL_AVII1, T; Q04982, RMIL_CHICK, T; P34908, RMIL_COTJA, T;
+DR Q05823, RN5A_HUMAN, T; Q05921, RN5A_MOUSE, T; Q04912, RON_HUMAN , T;
+DR P42159, RTK2_GEOCY, T; P34925, RYK1_HUMAN, T; Q04696, RYK2_HUMAN, T;
+DR P33497, RYK_AVIR3 , T; Q01887, RYK_MOUSE , T; P11792, SCH9_YEAST, T;
+DR P23049, SEA_AVIET , T; Q06226, SGK_RAT , T; P23293, SGV1_YEAST, T;
+DR Q00772, SLT2_YEAST, T; P32581, SME1_YEAST, T; P41808, SMK1_YEAST, T;
+DR P06782, SNF1_YEAST, T; P42687, SPK1_DUGTI, T; P27638, SPK1_SCHPO, T;
+DR P22216, SPK1_YEAST, T; P08458, SPS1_YEAST, T; P00528, SRC1_DROME, T;
+DR P13115, SRC1_XENLA, T; P08630, SRC2_DROME, T; P13116, SRC2_XENLA, T;
+DR P05480, SRCN_MOUSE, T; P15054, SRC_AVIS2 , T; P00525, SRC_AVISR , T;
+DR P14084, SRC_AVISS , T; P14085, SRC_AVIST , T; P00523, SRC_CHICK , T;
+DR P12931, SRC_HUMAN , T; P25020, SRC_RSVH1 , T; P00526, SRC_RSVP , T;
+DR P31693, SRC_RSVPA , T; P00524, SRC_RSVSR , T; P42686, SRK1_SPOLA, T;
+DR P42688, SRK2_SPOLA, T; P42689, SRK3_SPOLA, T; P42690, SRK4_SPOLA, T;
+DR Q09092, SRK6_BRAOL, T; P23561, ST11_YEAST, T; Q03497, ST20_YEAST, T;
+DR P06784, STE7_YEAST, T; P17713, STK_HYDAT , T; P39745, SUR1_CAEEL, T;
+DR P32944, SWE1_YEAST, T; P43405, SYK_HUMAN , T; Q00655, SYK_PIG , T;
+DR P42680, TEC_HUMAN , T; P24604, TEC_MOUSE , T; P37173, TGR2_HUMAN, T;
+DR P38551, TGR2_PIG , T; P38438, TGR2_RAT , T; Q06805, TIE1_BOVIN, T;
+DR P35590, TIE1_HUMAN, T; Q06806, TIE1_MOUSE, T; Q06807, TIE2_BOVIN, T;
+DR Q02763, TIE2_HUMAN, T; Q02858, TIE2_MOUSE, T; P43298, TMK1_ARATH, T;
+DR P33543, TML1_ARATH, T; P04412, TOP_DROME , T; P18475, TOR_DROME , T;
+DR P04629, TRKA_HUMAN, T; P35739, TRKA_RAT , T; P15209, TRKB_MOUSE, T;
+DR P24786, TRKC_PIG , T; Q03351, TRKC_RAT , T; P33981, TTK_HUMAN , T;
+DR P42681, TXK_HUMAN , T; P42682, TXK_MOUSE , T; P29597, TYK2_HUMAN, T;
+DR Q05101, U120_HSVMG, T; P30530, UFO_HUMAN , T; Q00993, UFO_MOUSE , T;
+DR P39073, UME5_YEAST, T; Q01015, VG36_HSVSA, T; P17948, VGR1_HUMAN, T;
+DR P35969, VGR1_MOUSE, T; P35968, VGR2_HUMAN, T; P35918, VGR2_MOUSE, T;
+DR P22219, VP15_YEAST, T; P30291, WEE1_HUMAN, T; P07527, WEE1_SCHPO, T;
+DR P33886, WIS1_SCHPO, T; P13388, XMRK_XIPMA, T; P14680, YAK1_YEAST, T;
+DR P00527, YES_AVISY , T; P09324, YES_CHICK , T; P07947, YES_HUMAN , T;
+DR Q04736, YES_MOUSE , T; P10936, YES_XENLA , T; P27447, YES_XIPHE , T;
+DR P34336, YK11_CAEEL, T; Q03563, YKD5_CAEEL, T; P34265, YKF1_CAEEL, T;
+DR P42168, YKL1_CAEEL, T; P42169, YKL2_CAEEL, T; P34314, YKT3_CAEEL, T;
+DR P41951, YLK3_CAEEL, T; P34509, YMX1_CAEEL, T; P45894, YNA3_CAEEL, T;
+DR P32742, YNH4_CAEEL, T; P34633, YOO1_CAEEL, T; P46549, YP51_CAEEL, T;
+DR P12688, YPK1_YEAST, T; P18961, YPK2_YEAST, T; Q05608, YPKA_YERPS, T;
+DR Q09503, YQI1_CAEEL, T; Q09639, YR22_CAEEL, T; Q02977, YRK_CHICK , T;
+DR P43403, ZA70_HUMAN, T; P43404, ZA70_MOUSE, T;
+DR P13387, EGFR_CHICK, P; P21136, KGPB_BOVIN, P; P24062, IG1R_RAT , P;
+DR P29322, KEEK_HUMAN, P; P35508, KC1D_BOVIN, P; P80197, KAFK_PHYPO, P;
+DR P80385, AAKG_RAT , P; P80386, AAKB_RAT , P; P80387, AAKB_PIG , P;
+DR Q01621, LCK_RAT , P; Q03146, MPK6_MOUSE, P; Q03147, MPK7_MOUSE, P;
+DR Q09138, AAKG_PIG , P;
+DR P32216, KRF1_SPVKA, N; P16788, UL97_HCMVA, N; P24446, U15R_HSV6U, N;
+DR P27450, CX32_ARATH, F; P37562, YABT_BACSU, F; P36102, YKC5_YEAST, F;
+DO PDOC00100;
+//
+ID PIPLC_X_DOMAIN; MATRIX.
+AC PS50007;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Phosphatidylinositol-specific phospholipase X-box domain profile.
+MA /GENERAL_SPEC: ALPHABET='ARNDCQEGHILKMFPSTWYVBZX';LENGTH=145;TOPOLOGY=LINEAR;
+MA /DISJOINT: DEFINITION=PROTECT;N1=5;N2=140;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=1.2066; R2=0.0157; TEXT='NScore';
+MA /CUT_OFF: LEVEL=0; SCORE=465; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: MI=-105; MD=-105; IM=-105; DM=-105; I=-20; D=-20;
+MA /M: SY='Q'; M=-6,1,3,7,-16,19,10,-9,11,-15,-13,1,-5,-20,-6,2,-4,-17,-5,-16,5,14,-5;
+MA /M: SY='D'; M=-11,-7,10,30,-19,0,10,-10,-3,-17,-15,-2,-14,-22,-7,0,-3,-25,-12,-14,23,4,-6;
+MA /M: SY='M'; M=-7,-6,-12,-16,-16,0,-7,-15,0,8,9,-5,31,-1,-13,-11,-4,-13,2,2,-11,-3,-7;
+MA /M: SY='S'; M=-4,0,14,11,-17,0,3,-5,-5,-21,-23,5,-15,-20,-10,10,5,-28,-14,-15,12,1,-5;
+MA /M: SY='Q'; M=-5,8,2,-4,-22,17,4,-15,0,-12,-13,9,-2,-21,-11,-3,-7,-18,-7,-14,0,9,-7;
+MA /M: SY='P'; M=-8,-17,-16,-10,-19,-10,-2,-17,-17,-17,-24,-10,-16,-24,64,-8,-8,-26,-25,-23,-16,-10,-9;
+MA /M: SY='L'; M=-9,-18,-25,-27,-18,-17,-18,-27,-18,20,41,-26,19,7,-25,-25,-9,-18,0,10,-26,-18,-9;
+MA /M: SY='S'; M=12,-10,10,-2,-12,-4,-4,4,-9,-17,-22,-8,-15,-18,-11,21,10,-30,-18,-10,2,-4,-2;
+MA /M: SY='H'; M=-10,3,3,0,-25,11,6,-16,48,-22,-16,-2,-4,-18,-14,-5,-12,-21,8,-22,-1,6,-8;
+MA /M: SY='Y'; M=-15,-13,-21,-23,-26,-13,-21,-30,5,10,7,-14,4,21,-27,-19,-8,13,53,2,-22,-21,-9;
+MA /M: SY='F'; M=-13,-14,-13,-24,-22,-20,-20,-23,-9,-3,2,-19,-3,33,-25,-12,-5,13,26,-6,-19,-19,-9;
+MA /M: SY='I'; M=-8,-26,-20,-36,-25,-18,-28,-35,-26,43,18,-26,21,0,-20,-18,-8,-20,-1,29,-28,-27,-9;
+MA /M: SY='N'; M=-1,-9,13,0,-20,-5,-4,-8,-5,-13,-22,-7,-14,-16,4,8,1,-30,-13,-14,4,-6,-6;
+MA /M: SY='S'; M=6,-12,6,-3,-15,-6,-6,19,-13,-24,-27,-12,-18,-21,-12,25,9,-32,-21,-14,-2,-6,-2;
+MA /M: SY='S'; M=11,-11,5,-3,-11,-3,-3,1,-12,-18,-24,-10,-17,-18,-10,30,19,-34,-18,-8,-1,-3,0;
+MA /M: SY='H'; M=-19,0,9,0,-29,9,0,-19,97,-29,-19,-9,0,-19,-19,-9,-19,-29,19,-29,0,0,-9;
+MA /M: SY='N'; M=-11,-2,50,29,-21,0,4,-2,7,-23,-29,0,-21,-23,-17,7,-2,-38,-19,-29,40,2,-9;
+MA /I: MI=0; MD=-32; IM=0; DM=-32; I=-5;
+MA /M: SY='T'; M=-1,-12,-5,-13,-12,-11,-11,-19,-18,-4,0,-14,-4,-6,-14,11,33,-28,-8,1,-6,-11,-2;
+MA /M: SY='Y'; M=-16,-7,-17,-18,-30,-4,-15,-26,8,-6,-6,-5,-3,15,-25,-16,-6,30,55,-13,-17,-12,-10;
+MA /M: SY='L'; M=-8,-16,-17,-18,-18,-17,-15,-25,-17,11,29,-23,10,1,-26,-18,-2,-24,-4,7,-17,-16,-9;
+MA /M: SY='T'; M=-3,-15,-11,-15,-18,-13,-11,-13,-19,-5,2,-17,-3,-9,-3,0,14,-26,-12,-4,-12,-13,-5;
+MA /M: SY='G'; M=4,-18,-7,-14,-22,-17,-15,25,-21,-16,-15,-16,-10,-20,-18,0,-6,-23,-21,-7,-12,-16,-7;
+MA /M: SY='K'; M=-11,10,10,13,-27,3,5,-5,7,-31,-27,14,-15,-28,-13,-1,-9,-28,-11,-24,10,3,-9;
+MA /M: SY='Q'; M=-6,4,0,0,-26,44,15,-16,4,-20,-22,5,-4,-35,-4,7,-4,-24,-13,-26,-1,29,-8;
+MA /M: SY='L'; M=-10,-13,-24,-31,-19,-23,-23,-30,-21,16,24,-22,11,18,-28,-21,-7,-15,3,15,-28,-23,-10;
+MA /M: SY='A'; M=5,-10,-7,-16,-17,-10,-13,-2,-18,-20,-19,-8,-15,-13,-18,-1,-2,11,-8,-15,-11,-11,-8;
+MA /M: SY='G'; M=3,-14,0,-6,-25,-6,-7,40,-14,-32,-27,-13,-17,-28,-15,6,-10,-23,-25,-25,-6,-6,-7;
+MA /M: SY='K'; M=-9,12,-1,-4,-24,5,6,-19,-7,-17,-12,11,-4,-19,-7,-3,1,-24,-11,-14,-2,4,-8;
+MA /M: SY='S'; M=3,-10,3,-4,-2,1,-1,-8,-11,-19,-25,-9,-16,-21,-7,26,16,-36,-19,-11,-2,0,-3;
+MA /M: SY='S'; M=3,-3,6,-1,-15,12,3,-7,-6,-19,-25,-2,-14,-23,-10,26,15,-33,-16,-13,0,8,-2;
+MA /M: SY='V'; M=-3,-14,-10,-12,-16,-13,-11,-21,-16,8,0,-13,4,-8,-18,-3,1,-29,-11,15,-10,-13,-8;
+MA /M: SY='E'; M=-8,-1,-3,9,-27,11,38,-19,-1,-22,-14,5,-14,-21,-6,0,-7,-25,-10,-22,2,24,-9;
+MA /M: SY='M'; M=1,-15,-8,-8,-21,-9,-10,-2,-12,-6,-3,-13,5,-15,-10,-4,-7,-25,-14,-4,-7,-10,-7;
+MA /M: SY='Y'; M=-18,-14,-20,-25,-28,-15,-22,-31,7,7,4,-15,3,31,-28,-20,-10,19,61,-2,-22,-22,-10;
+MA /M: SY='R'; M=-10,18,-9,-19,-25,0,-9,-25,-11,0,-2,1,1,-13,-19,-10,-5,-21,-7,0,-16,-7,-8;
+MA /M: SY='Q'; M=-12,21,1,-3,-28,35,9,-19,6,-20,-18,11,-4,-27,-14,-2,-5,-18,-4,-24,-1,20,-9;
+MA /I: MI=-32; MD=-32; IM=-32; I=-6;
+MA /M: SY='v'; D=-6; M=6,-13,-12,-17,4,-6,-12,-17,-16,-2,-3,-12,-2,-12,-18,0,2,-25,-13,5,-13,-9,-6;
+MA /I: DM=-32;
+MA /M: SY='L'; M=-10,-18,-28,-29,-20,-17,-20,-28,-17,20,45,-27,25,8,-28,-28,-10,-20,0,10,-28,-18,-10;
+MA /M: SY='L'; M=-13,10,-5,1,-18,4,5,-21,-6,-17,-4,4,-5,-19,-18,-11,-10,-25,-11,-15,-2,4,-10;
+MA /M: SY='A'; M=5,1,-2,-9,-21,6,-1,-12,7,-17,-16,2,-4,-20,-13,2,-2,-20,-7,-13,-5,1,-5;
+MA /M: SY='G'; M=0,-15,0,-10,-30,-18,-19,65,-19,-39,-29,-17,-19,-29,-20,0,-19,-20,-29,-29,-10,-19,-10;
+MA /M: SY='C'; M=-3,-27,-21,-30,67,-27,-28,-28,-29,-7,-8,-26,-8,-13,-33,-9,-7,-40,-21,7,-22,-28,-15;
+MA /M: SY='R'; M=-18,63,0,-8,-30,10,1,-20,-1,-30,-21,33,-10,-21,-18,-10,-10,-20,-10,-20,-8,1,-10;
+MA /M: SY='C'; M=-11,-24,-19,-28,58,-24,-26,-29,-19,-12,-9,-24,-10,-1,-34,-11,-8,-27,-1,-2,-21,-26,-15;
+MA /M: SY='V'; M=-7,-23,-25,-34,-19,-26,-28,-33,-26,30,20,-26,13,12,-26,-18,-6,-19,0,29,-30,-28,-10;
+MA /M: SY='E'; M=-13,-3,6,36,-30,13,47,-16,0,-33,-23,6,-23,-33,-3,0,-10,-33,-20,-30,22,30,-10;
+MA /M: SY='L'; M=-9,-23,-26,-33,-22,-20,-23,-33,-23,30,37,-29,19,6,-26,-25,-9,-20,0,18,-30,-23,-10;
+MA /M: SY='D'; M=-20,15,13,44,-30,3,13,-13,0,-36,-26,9,-23,-33,-13,-3,-10,-33,-16,-26,30,6,-10;
+MA /M: SY='C'; M=-1,-23,-16,-26,35,-22,-24,-12,-23,-10,-5,-23,-3,-10,-28,-8,-6,-31,-17,0,-19,-23,-12;
+MA /M: SY='W'; M=-18,-1,-21,-26,-42,-11,-19,-18,-20,-22,-21,-4,-17,0,-25,-28,-22,93,16,-27,-25,-12,-16;
+MA /M: SY='D'; M=-10,-7,7,29,-26,-3,8,-14,-6,-23,-19,0,-17,-28,-6,-3,-7,-33,-17,-17,20,2,-9;
+MA /M: SY='G'; M=0,-14,9,-1,-24,-12,-12,41,-13,-32,-28,-14,-19,-26,-17,8,-6,-27,-25,-24,0,-12,-7;
+MA /M: SY='P'; M=-8,0,-6,-2,-31,-2,3,-17,-12,-19,-18,3,-13,-24,26,-8,-8,-27,-19,-21,-6,-2,-9;
+MA /M: SY='D'; M=-11,-7,19,33,-26,0,8,-4,-2,-29,-28,-1,-22,-30,-4,4,-2,-35,-20,-26,27,3,-8;
+MA /M: SY='G'; M=-3,-11,4,-4,-28,1,-1,17,-9,-21,-21,-9,-12,-27,-9,0,-12,-24,-20,-23,-2,0,-9;
+MA /I: MI=0; MD=-10; IM=0; DM=-32; I=-5;
+MA /M: SY='e'; D=-4; M=-3,-2,-1,7,-19,7,24,-13,-3,-16,-11,4,-5,-18,-4,0,-2,-22,-12,-14,4,16,-6;
+MA /I: MD=-23; DM=-10;
+MA /M: SY='p'; D=-4; M=-4,-17,-10,-11,-30,-9,-4,-17,-16,-7,-18,-10,-11,-21,50,-7,-7,-25,-21,-16,-13,-10,-8;
+MA /I: MD=-23; DM=-10;
+MA /M: SY='v'; D=-4; M=-4,-14,-16,-22,-17,-16,-15,-26,-21,18,3,-12,5,-1,-19,-8,-3,-22,-5,21,-19,-16,-8;
+MA /I: MD=-23; DM=-10;
+MA /M: SY='i'; D=-4; M=-5,-23,-21,-32,-19,-21,-26,-32,-26,36,16,-23,14,0,-21,-15,-5,-21,-3,31,-27,-26,-9;
+MA /I: DM=-10;
+MA /M: SY='Y'; M=-13,-6,-10,-17,-8,-10,-15,-25,11,-10,-7,-10,-4,7,-24,-7,2,-6,28,-8,-13,-15,-8;
+MA /M: SY='H'; M=-18,0,9,0,-28,8,0,-20,89,-28,-19,-10,0,-19,-19,-7,-13,-29,17,-27,0,0,-9;
+MA /M: SY='G'; M=0,-19,0,-10,-28,-19,-19,62,-20,-37,-28,-19,-19,-28,-19,1,-13,-20,-28,-27,-9,-19,-9;
+MA /M: SY='H'; M=-16,-1,-6,-15,-29,-8,-10,-21,15,-15,-11,-7,-3,5,-4,-13,-12,-6,11,-17,-13,-10,-10;
+MA /I: MI=-32; MD=-32; IM=-32; I=-6;
+MA /M: SY='t'; D=-6; M=3,-6,0,-6,-6,-6,-6,-11,-12,-6,-6,-6,-6,-6,-6,11,27,-18,-6,0,0,-6,0;
+MA /I: DM=-32;
+MA /M: SY='L'; M=-12,-15,-23,-32,-21,-20,-23,-28,-15,16,24,-22,20,22,-26,-22,-9,-11,8,10,-26,-21,-10;
+MA /M: SY='T'; M=-7,-12,-7,-15,-1,-12,-14,-23,-3,-10,-8,-13,-7,0,-19,3,21,-19,8,-3,-8,-14,-5;
+MA /M: SY='S'; M=0,-14,-6,-13,-15,-9,-10,-17,-17,-1,0,-16,-4,-8,-11,10,18,-30,-10,0,-10,-10,-3;
+MA /M: SY='E'; M=-8,3,4,7,-26,9,13,-15,12,-23,-19,7,-9,-22,-12,-1,-7,-24,-4,-21,5,10,-8;
+MA /M: SY='I'; M=-2,-22,-18,-29,-23,-16,-20,-31,-18,29,9,-21,10,-5,-19,-12,-7,-23,-4,23,-23,-21,-9;
+MA /M: SY='L'; M=-7,-6,-8,-5,-25,-6,0,-19,-14,-13,-8,-1,-8,-12,4,-4,-1,-25,-11,-12,-8,-3,-7;
+MA /M: SY='F'; M=-12,-20,-24,-34,-19,-29,-24,-28,-20,9,28,-29,9,43,-29,-23,-9,-5,14,4,-29,-24,-9;
+MA /M: SY='K'; M=-7,9,5,1,-17,10,4,-10,0,-27,-26,15,-11,-28,-13,1,-6,-27,-12,-21,2,7,-9;
+MA /M: SY='D'; M=-13,-2,8,32,-28,4,21,-6,1,-34,-25,5,-21,-32,-9,0,-8,-31,-16,-27,22,12,-9;
+MA /M: SY='V'; M=-2,-21,-27,-31,2,-30,-29,-29,-28,18,6,-22,5,8,-30,-10,-2,-26,-6,35,-28,-29,-10;
+MA /M: SY='L'; M=-8,-23,-26,-33,-14,-21,-24,-33,-24,28,32,-28,16,4,-27,-23,-8,-22,-2,19,-29,-24,-10;
+MA /M: SY='E'; M=-8,8,6,12,-26,13,22,-16,2,-26,-21,9,-14,-27,-9,0,-2,-28,-13,-23,9,17,-8;
+MA /M: SY='A'; M=20,-14,-3,-1,-14,-7,-1,-9,-16,-13,-12,-7,-12,-20,-10,9,10,-26,-16,-3,1,-4,-2;
+MA /M: SY='I'; M=0,-26,-19,-34,-24,-19,-25,-32,-27,36,15,-25,13,-2,-19,-13,-5,-21,-3,25,-25,-25,-8;
+MA /M: SY='K'; M=3,17,-3,-8,-23,1,0,-12,-12,-21,-21,24,-9,-23,-12,-3,-4,-20,-13,-11,-5,0,-7;
+MA /M: SY='D'; M=-10,0,6,24,-28,15,24,-15,1,-27,-22,8,-16,-29,-9,-1,-8,-26,-10,-26,17,19,-9;
+MA /M: SY='Y'; M=-13,-7,-5,-17,-12,-14,-15,-22,5,-10,-8,-13,-6,20,-24,-5,-2,-6,24,-10,-12,-15,-8;
+MA /M: SY='A'; M=28,-20,-15,-22,-14,-13,-13,-5,-20,-2,8,-16,0,-10,-16,-3,-4,-20,-14,1,-16,-13,-3;
+MA /M: SY='F'; M=-14,-9,-12,-28,-20,-26,-19,-25,-17,-7,-1,-13,-3,47,-23,-11,-2,-1,16,-4,-20,-19,-8;
+MA /M: SY='K'; M=-4,0,-5,-3,-22,0,1,-21,-6,-10,-13,8,-5,-20,-14,-4,-2,-26,-9,-2,-4,0,-8;
+MA /M: SY='T'; M=1,-11,0,-9,-16,-10,-10,-15,-9,-6,-12,-10,-8,-11,-7,8,15,-27,-7,-1,-3,-11,-4;
+MA /M: SY='S'; M=8,-13,1,-4,-17,-3,0,-4,-13,-19,-28,-10,-19,-22,13,25,11,-35,-22,-13,-5,-3,-2;
+MA /M: SY='P'; M=-7,-7,2,11,-28,0,13,-13,-8,-25,-28,1,-20,-28,24,4,-3,-33,-22,-25,5,5,-8;
+MA /M: SY='Y'; M=-11,-9,-14,-12,-27,-5,-1,-25,7,-7,-4,-7,-5,16,-21,-12,-9,9,43,-12,-13,-6,-9;
+MA /M: SY='P'; M=-7,-15,-8,-7,-31,-9,-2,-18,-17,-17,-25,-9,-17,-24,57,-1,4,-30,-24,-22,-10,-9,-7;
+MA /I: MI=0; MD=-32; IM=0; DM=-32; I=-5;
+MA /M: SY='V'; M=-4,-22,-27,-32,-17,-25,-28,-32,-28,34,19,-24,14,1,-27,-15,-4,-25,-5,38,-30,-28,-10;
+MA /M: SY='I'; M=-9,-28,-20,-39,-27,-21,-29,-38,-29,45,19,-29,18,4,-21,-19,-9,-19,0,29,-30,-29,-9;
+MA /M: SY='L'; M=-10,-19,-25,-31,-21,-15,-21,-29,-17,25,37,-25,29,5,-25,-25,-10,-20,0,13,-27,-19,-10;
+MA /M: SY='S'; M=3,-2,9,4,-13,0,1,-4,-8,-22,-27,-5,-19,-21,-10,30,16,-37,-18,-12,3,0,-1;
+MA /M: SY='L'; M=-13,-20,-25,-34,-20,-25,-24,-30,-19,15,31,-28,15,32,-28,-25,-10,-9,10,8,-29,-23,-10;
+MA /M: SY='E'; M=-10,4,-1,13,-29,13,39,-20,-4,-26,-16,15,-14,-26,-5,-4,-10,-27,-15,-24,5,26,-10;
+MA /M: SY='N'; M=-12,-2,23,17,-25,0,3,-13,6,-16,-21,1,-13,-22,-16,-1,-6,-33,-12,-17,20,0,-9;
+MA /I: MD=-26;
+MA /M: SY='h'; D=-5; M=-16,-1,7,1,-26,6,7,-18,61,-24,-16,-7,-4,-11,-16,-7,-15,-25,10,-25,1,4,-9;
+MA /I: MD=-26;
+MA /M: SY='c'; D=-5; M=-8,-19,-14,-21,53,-18,-20,-23,-17,-11,-7,-19,-8,-8,-29,-9,-6,-29,-10,-1,-15,-20,-13;
+MA /I: MI=0; MD=-32; IM=0; DM=-32; I=-5;
+MA /M: SY='S'; M=0,-8,10,3,-9,-4,-2,0,-9,-21,-25,-6,-17,-20,-6,16,7,-32,-18,-15,5,-3,-4;
+MA /M: SY='P'; M=-7,-8,-11,-15,-24,-12,-11,-19,-13,-3,-7,-7,-5,-2,3,-10,-6,-10,-2,-4,-14,-13,-8;
+MA /M: SY='D'; M=-7,2,6,17,-25,2,13,-12,-3,-25,-22,8,-16,-25,0,-2,-7,-25,-13,-21,13,7,-8;
+MA /M: SY='Q'; M=-7,6,2,0,-24,34,15,-15,3,-16,-14,4,-3,-28,-10,1,-5,-21,-10,-22,0,24,-8;
+MA /M: SY='Q'; M=-10,11,0,1,-25,39,13,-17,5,-18,-16,8,-2,-27,-10,-1,-8,-17,-7,-24,0,26,-8;
+MA /M: SY='A'; M=1,10,-2,-6,-20,0,-2,-13,2,-15,-14,6,-7,-15,-13,-2,-5,-17,-2,-10,-4,-3,-5;
+MA /M: SY='K'; M=-7,4,-3,-7,-20,4,-1,-18,-2,-9,-7,8,0,-13,-14,-5,0,-18,-2,-7,-4,1,-7;
+MA /M: SY='M'; M=-4,-8,-18,-25,-16,-6,-17,-19,-7,15,15,-10,34,-1,-18,-14,-6,-18,-2,12,-18,-12,-8;
+MA /M: SY='A'; M=26,-12,-6,-14,-11,-7,-8,-6,-16,-6,-9,-4,-7,-15,-10,7,3,-20,-14,1,-8,-8,-1;
+MA /M: SY='K'; M=-9,17,4,0,-23,13,10,-15,2,-20,-17,16,-7,-21,-11,-2,-6,-21,-9,-19,1,11,-8;
+MA /M: SY='Y'; M=-12,-9,-10,-16,-23,-8,-13,-22,17,-2,-2,-11,3,11,-16,-11,-6,0,30,-6,-14,-13,-7;
+MA /M: SY='C'; M=-9,-18,-20,-27,19,-20,-22,-24,-17,2,11,-22,9,9,-27,-16,-7,-21,-4,5,-22,-20,-11;
+MA /M: SY='R'; M=-11,19,0,0,-24,6,10,-18,0,-18,-15,14,-7,-19,-11,-5,-5,-21,-8,-14,-1,6,-8;
+MA /M: SY='E'; M=-3,0,3,10,-22,9,24,-13,-3,-21,-16,7,-13,-23,-6,1,-3,-25,-14,-19,8,17,-7;
+MA /M: SY='I'; M=-1,-18,-17,-26,-18,-14,-19,-25,-21,22,13,-19,9,0,-18,-11,-2,-18,-3,17,-21,-18,-7;
+MA /M: SY='F'; M=-14,-13,-18,-26,-19,-18,-18,-25,-10,2,14,-20,4,37,-24,-18,-8,1,21,-1,-22,-16,-8;
+MA /M: SY='G'; M=4,-3,-1,-9,-23,-10,-12,35,-14,-28,-22,-6,-14,-23,-15,0,-12,-17,-21,-20,-8,-12,-7;
+MA /M: SY='D'; M=-9,-9,3,27,-25,0,17,-7,-5,-25,-16,-2,-17,-26,-3,-2,-8,-28,-16,-21,17,8,-8;
+MA /M: SY='M'; M=-3,-9,-12,-16,-18,0,-5,-18,-5,2,7,-9,13,-2,-15,-8,-1,-14,0,-1,-12,-2,-6;
+MA /M: SY='L'; M=-9,-15,-22,-21,-18,-14,-10,-25,-13,10,32,-21,11,9,-23,-22,-8,-13,4,3,-22,-12,-8;
+MA /M: SY='L'; M=-11,-15,-22,-25,-19,-18,-18,-25,-11,9,22,-21,8,20,-19,-20,-8,-5,15,3,-24,-18,-8;
+MA /M: SY='T'; M=-8,-1,2,-1,-18,-4,-5,-16,-5,-9,-9,-2,-3,-5,-14,0,6,-18,0,-7,1,-6,-6;
+MA /M: SY='K'; M=-8,8,0,-2,-23,3,5,-18,-8,-12,-15,10,-7,-19,-5,-3,-2,-22,-11,-10,-1,3,-7;
+MA /M: SY='P'; M=-2,-17,-15,-11,-27,-11,-5,-12,-18,-11,-16,-11,-12,-20,46,-6,-5,-24,-21,-15,-16,-11,-7;
+MA /M: SY='L'; M=-4,-11,-13,-16,-16,-8,-10,-21,-15,4,9,-12,3,-5,-11,-6,5,-22,-6,4,-14,-10,-6;
+MA /M: SY='E'; M=-9,-1,2,17,-22,4,21,-15,-2,-22,-17,2,-16,-20,-3,2,0,-24,-9,-19,11,12,-6;
+MA /M: SY='G'; M=1,-6,-1,-1,-18,-2,-1,0,-11,-14,-16,-2,-9,-20,-12,4,-1,-23,-14,-8,-1,-2,-5;
+MA /M: SY='S'; M=-5,-4,5,-2,-17,-3,-5,-12,7,-12,-13,-7,-8,-4,-16,4,1,-19,1,-10,0,-4,-5;
+MA /M: SY='P'; M=-1,-6,-12,-10,-23,-5,0,-16,-14,-9,-6,-1,-6,-15,13,-6,-3,-22,-13,-10,-11,-4,-7;
+MA /I: MD=-26;
+MA /M: SY='l'; D=-5; M=-8,-10,-4,-2,-17,-8,-3,-17,-3,-4,4,-12,-1,-3,-15,-5,0,-21,-3,-4,-2,-6,-6;
+MA /I: MD=-26;
+MA /M: SY='k'; D=-5; M=-3,-1,0,3,-16,2,5,-8,-4,-13,-12,2,-8,-14,-8,1,0,-16,-4,-9,1,3,-5;
+MA /I: MI=0; MD=-32; IM=0; DM=-32; I=-5;
+MA /M: SY='L'; M=-9,-15,-19,-24,-17,-17,-17,-23,-14,12,32,-23,14,14,-25,-22,-8,-15,2,5,-21,-16,-8;
+MA /M: SY='P'; M=-8,-18,-17,-10,-21,-10,-2,-18,-18,-18,-25,-10,-17,-25,67,-8,-8,-27,-26,-24,-17,-10,-9;
+MA /M: SY='S'; M=3,-8,8,-1,-11,-2,-2,-5,-9,-15,-22,-7,-15,-16,-2,24,19,-32,-16,-9,1,-2,-1;
+MA /M: SY='P'; M=-8,-17,-19,-13,-29,-11,-5,-19,-17,-7,-6,-13,-7,-16,48,-13,-8,-23,-18,-16,-19,-11,-8;
+MA /M: SY='E'; M=-7,2,0,2,-19,6,12,-14,-3,-20,-17,5,-11,-17,-11,-4,-8,-7,-6,-19,1,9,-9;
+MA /M: SY='Q'; M=-9,0,4,18,-24,22,24,-14,1,-23,-18,6,-10,-29,-6,1,-7,-25,-13,-23,12,23,-8;
+MA /M: SY='L'; M=-6,-15,-20,-22,-15,-15,-15,-22,-16,12,33,-23,12,4,-23,-17,-2,-19,-2,6,-21,-15,-7;
+MA /M: SY='K'; M=-11,27,2,-4,-24,5,1,-16,-4,-18,-15,25,-2,-18,-14,-8,-7,-19,-8,-14,-2,2,-8;
+MA /M: SY='G'; M=-9,10,1,-5,-25,-3,-5,14,0,-26,-20,1,-11,-17,-17,-4,-12,-15,-7,-21,-5,-6,-8;
+MA /M: SY='K'; M=-9,30,0,-1,-26,8,7,-17,-7,-26,-25,41,-8,-25,-9,-8,-8,-17,-8,-17,-1,7,-8;
+MA /M: SY='I'; M=-8,-26,-17,-34,-26,-17,-26,-34,-26,43,17,-26,17,0,-17,-17,-8,-17,0,26,-26,-26,-8;
+MA /M: SY='L'; M=-8,-18,-24,-27,-17,-19,-19,-27,-18,18,35,-25,15,13,-25,-23,-8,-15,1,11,-26,-19,-8;
+MA /M: SY='L'; M=-7,-20,-22,-29,-19,-18,-22,-29,-22,28,28,-24,16,4,-22,-20,-7,-18,-1,20,-26,-22,-8;
+MA /M: SY='K'; M=-6,14,-3,-5,-21,1,1,-16,-10,-17,-18,26,-6,-14,-11,-5,-5,-16,-6,-8,-4,1,-7;
+MA /M: SY='N'; M=-4,-6,14,0,-16,-6,-7,3,2,-13,-17,-6,-9,-15,-16,3,0,-26,-12,-10,5,-7,-7;
+MA /M: SY='K'; M=-9,28,0,-1,-23,9,6,-15,-5,-22,-21,34,-7,-22,-9,-7,-7,-15,-7,-15,-1,7,-7;
+NR /RELEASE=32,49340;
+NR /TOTAL=21(21); /POSITIVE=21(21); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=1;
+CC /TAXO-RANGE=??EP?; /MAX-REPEAT=1;
+DR P09194, PHLC_TRYBB, T; P14262, PLC_BACCE , T; P08954, PLC_BACTU , T;
+DR P34024, PLC_LISMO , T; P45723, PLC_STAAU , T; P10894, PIP1_BOVIN, T;
+DR P10687, PIP1_RAT , T; Q00722, PIP2_HUMAN, T; Q01970, PIP3_HUMAN, T;
+DR P08487, PIP4_BOVIN, T; P19174, PIP4_HUMAN, T; P10686, PIP4_RAT , T;
+DR P16885, PIP5_HUMAN, T; P24135, PIP5_RAT , T; P10895, PIP6_BOVIN, T;
+DR P10688, PIP6_RAT , T; Q02158, PIPA_DICDI, T; P13217, PIPA_DROME, T;
+DR P25455, PIP1_DROME, T; P40977, PIP1_SCHPO, T; P32383, PIP1_YEAST, T;
+DR P21671, PIP7_BOVIN, P;
+DO PDOC50007;
+//
+ID PIPLC_Y_DOMAIN; MATRIX.
+AC PS50008;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Phosphatidylinositol-specific phospholipase Y-box domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=117;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=112;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=-1.2648; R2=0.0161; TEXT='NScore';
+MA /CUT_OFF: LEVEL=1; SCORE=606; N_SCORE=8.5; MODE=1;
+MA /CUT_OFF: LEVEL=0; SCORE=544; N_SCORE=7.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=0; E1=0; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='L'; M=-10,-28,-20,-30,-20,7,-28,-16,21,-25,42,29,-27,-27,-15,-18,-27,-10,11,-20,0,-18;
+MA /M: SY='S'; M=8,0,-12,0,2,-22,-2,-8,-20,-8,-29,-18,9,-10,7,-8,36,17,-12,-38,-19,4;
+MA /M: SY='B'; M=2,15,-20,15,10,-26,-9,-5,-22,-2,-22,-17,12,-10,6,-7,11,5,-18,-32,-18,8;
+MA /M: SY='L'; M=-10,-27,-20,-30,-20,7,-27,-14,20,-24,42,31,-27,-27,-14,-17,-27,-10,10,-20,0,-17;
+MA /M: SY='V'; M=2,-28,-14,-31,-27,-1,-29,-28,29,-22,13,11,-26,-26,-26,-22,-12,-3,39,-26,-8,-27;
+MA /M: SY='N'; M=-5,0,-20,-8,-12,-13,-16,-12,4,-12,-12,-6,11,-10,-11,-13,3,0,1,-33,-15,-13;
+MA /M: SY='Y'; M=-17,-20,-30,-20,-21,22,-21,13,0,-12,-1,-1,-18,-28,-12,-12,-18,-11,-9,22,64,-21;
+MA /M: SY='C'; M=4,-22,26,-30,-24,-9,-26,-26,6,-25,4,0,-20,-26,-22,-26,-11,-7,9,-30,-15,-24;
+MA /M: SY='Q'; M=-12,-4,-28,-4,10,-28,-21,9,-21,17,-19,-4,-2,-14,26,23,-6,-10,-19,-22,-8,16;
+MA /M: SY='P'; M=3,-10,-25,-7,-3,-25,-3,-17,-21,-11,-28,-19,-6,32,-7,-16,11,3,-19,-32,-25,-7;
+MA /M: SY='V'; M=-2,-25,-17,-28,-25,-2,-29,-17,24,-21,11,10,-22,-25,-22,-20,-11,-2,30,-26,-5,-25;
+MA /M: SY='K'; M=-11,-5,-32,-3,4,-29,-13,9,-28,18,-27,-10,-2,8,7,9,-8,-13,-25,-24,-10,4;
+MA /M: SY='F'; M=-20,-29,-21,-39,-29,77,-30,-17,0,-29,9,0,-20,-30,-38,-19,-20,-10,-1,11,33,-29;
+MA /M: SY='R'; M=-12,2,-19,4,4,-27,-12,-6,-27,12,-22,-13,1,-16,7,19,-3,-6,-19,-27,-15,4;
+MA /I: MD=-29;
+MA /M: SY='N'; M=-1,9,-19,7,1,-23,13,-7,-25,-7,-26,-19,16,-13,-3,-9,16,2,-20,-31,-21,-1; D=-6;
+MA /I: I=-7; MI=-29; MD=-29; IM=-29; DM=-29;
+MA /M: SY='F'; M=-16,-23,-20,-30,-20,56,-19,-17,-6,-24,4,-3,-15,-25,-31,-17,-15,-10,-5,4,19,-21; D=-6;
+MA /I: DM=-29;
+MA /M: SY='E'; M=-6,9,-24,13,18,-26,-12,-1,-25,2,-26,-19,8,1,5,-4,10,1,-22,-34,-18,11;
+MA /M: SY='L'; M=0,-13,-19,-18,-12,-5,-20,-11,2,-13,5,2,-9,-19,-9,-12,-5,1,2,-24,-5,-11;
+MA /M: SY='P'; M=11,-9,-21,-9,-5,-23,-2,-9,-19,-11,-23,-15,-5,15,-7,-15,11,3,-15,-29,-20,-8;
+MA /M: SY='E'; M=-5,-5,-27,-5,10,-22,-12,-11,-13,6,-13,-4,-5,-11,4,-1,-4,-6,-13,-24,-13,6;
+MA /M: SY='E'; M=-6,3,-25,6,25,-23,-17,-4,-24,12,-22,-15,0,-7,11,4,5,1,-20,-25,-10,18;
+MA /M: SY='K'; M=-10,2,-26,-2,1,-22,-15,-6,-20,21,-24,-11,10,-11,4,21,-1,-4,-17,-27,-13,1;
+MA /I: I=-7; MI=0; MD=-23; IM=0;
+MA /M: SY='N'; M=-4,13,-19,10,4,-19,-7,2,-15,0,-18,-11,16,-4,8,-3,2,-4,-19,-21,-9,5; D=-6;
+MA /I: DM=-23;
+MA /M: SY='T'; M=-1,-3,-12,-7,-7,-19,-18,-9,-14,-3,-15,-10,-1,-8,-6,-1,-1,2,-10,-28,-13,-8;
+MA /M: SY='Y'; M=-8,-18,-14,-23,-19,19,-24,0,-1,-19,-3,-2,-12,-24,-16,-16,-7,-5,-3,-6,23,-19;
+MA /M: SY='Y'; M=-11,-16,-27,-18,-14,12,-22,11,-10,-6,-8,-5,-13,-24,-7,1,-11,-9,-13,14,39,-14;
+MA /M: SY='E'; M=-13,14,-28,19,30,-27,-17,16,-27,6,-22,-16,10,-9,10,0,-2,-10,-26,-32,-12,19;
+MA /M: SY='M'; M=-10,-23,-11,-33,-24,-2,-28,-13,26,-18,16,40,-20,-22,-9,-18,-19,-10,15,-23,-3,-18;
+MA /M: SY='S'; M=1,-9,2,-13,-10,-3,-12,-6,-19,-13,-19,-14,-1,-19,-10,-8,14,4,-10,-29,-9,-10;
+MA /M: SY='S'; M=10,0,-10,0,0,-20,0,-10,-20,-10,-30,-20,10,-10,0,-10,40,20,-10,-40,-20,0;
+MA /M: SY='F'; M=-18,-30,-20,-38,-28,65,-30,-19,4,-29,17,6,-22,-30,-35,-20,-22,-10,2,4,24,-28;
+MA /M: SY='S'; M=3,-5,-14,-8,-11,-14,-13,-16,-3,-12,-14,-9,-1,-10,-12,-14,11,7,7,-34,-17,-12;
+MA /M: SY='E'; M=-10,9,-30,18,57,-28,-20,1,-29,9,-19,-19,-1,-1,19,0,-1,-10,-29,-28,-16,38;
+MA /M: SY='T'; M=-4,-1,-18,-5,-1,-16,-11,-11,-17,-1,-14,-11,3,-14,-3,5,9,15,-11,-29,-13,-3;
+MA /I: MD=-29;
+MA /M: SY='K'; M=-8,-2,-26,-2,10,-26,-18,-7,-23,33,-23,-8,-2,-10,11,24,-7,-8,-16,-19,-10,10; D=-6;
+MA /I: I=-7; MI=0; IM=0; DM=-29;
+MA /M: SY='A'; M=25,-10,-15,-15,-6,-19,0,-18,-11,-11,-8,-8,-10,-13,-8,-16,4,0,-3,-22,-18,-7;
+MA /M: SY='Y'; M=-10,-6,-24,-4,-3,-8,-22,-8,-4,-6,2,0,-9,-18,-6,-8,-9,-5,-6,-19,3,-5;
+MA /M: SY='R'; M=-9,4,-25,2,7,-24,-11,-3,-23,14,-22,-8,7,-13,9,15,1,-4,-19,-27,-14,7;
+MA /M: SY='L'; M=-11,-23,-26,-25,-16,2,-31,-13,16,-14,20,12,-20,-24,-8,-13,-21,-10,5,-13,10,-14;
+MA /M: SY='L'; M=-2,-20,-19,-21,-17,-4,-25,-12,11,-16,16,8,-19,-24,-16,-15,-15,-7,13,-24,-5,-17;
+MA /M: SY='R'; M=-10,8,-26,8,12,-28,-9,-2,-27,13,-24,-14,10,-12,13,14,1,-4,-24,-27,-15,11;
+MA /M: SY='K'; M=-7,4,-25,6,19,-28,-18,-7,-26,21,-24,-13,2,-8,13,10,3,1,-20,-26,-14,16;
+MA /M: SY='A'; M=7,-4,-20,-6,0,-19,-6,5,-21,0,-20,-12,2,-14,0,2,6,-3,-15,-24,-8,-2;
+MA /I: MD=-25;
+MA /M: SY='P'; M=-3,-14,-28,-12,-8,-22,6,-16,-18,-9,-17,-8,-11,20,-10,-14,-5,-10,-19,-24,-21,-11; D=-5;
+MA /I: I=-7; MI=0; MD=-25; IM=0; DM=-25;
+MA /M: SY='M'; M=-8,-8,-23,-11,-5,-12,-20,-12,0,-4,-5,1,-5,-4,-6,-4,-8,-4,-1,-26,-12,-7; D=-5;
+MA /I: DM=-25;
+MA /M: SY='D'; M=-11,19,-26,28,22,-31,-8,-2,-31,6,-25,-20,10,-9,9,2,3,-7,-25,-31,-18,15; D=-5;
+MA /I: DM=-25;
+MA /M: SY='F'; M=-14,-30,-21,-36,-27,42,-31,-22,15,-29,24,10,-24,-29,-30,-21,-23,-9,10,-6,14,-27;
+MA /M: SY='V'; M=-3,-23,-15,-22,-23,-2,-28,-25,22,-21,12,8,-23,-26,-23,-20,-10,-2,32,-29,-9,-24;
+MA /M: SY='R'; M=-11,9,-27,8,13,-27,-14,-1,-27,17,-26,-15,11,-7,12,18,1,-5,-24,-28,-16,11;
+MA /M: SY='Y'; M=-16,-17,-26,-20,-17,28,-26,27,-8,-15,-3,-1,-12,-26,-13,-11,-16,-12,-12,7,46,-17;
+MA /M: SY='N'; M=-7,29,-17,12,-2,-18,-4,2,-18,-3,-26,-18,44,-17,-2,-3,14,12,-22,-38,-18,-2;
+MA /M: SY='Q'; M=-7,-6,-26,-6,6,-26,-20,-5,-17,18,-16,-4,-4,-14,21,17,-5,-7,-15,-22,-10,13;
+MA /M: SY='R'; M=-14,-4,-28,-6,1,-21,-16,3,-24,22,-18,-6,3,-18,7,36,-8,-9,-19,-23,-9,1;
+MA /M: SY='Q'; M=-13,-1,-24,-5,1,-16,-14,15,-20,3,-18,-6,4,-18,18,8,-5,-10,-24,-16,4,8;
+MA /M: SY='L'; M=-11,-29,-20,-31,-21,16,-29,-18,18,-28,42,23,-28,-29,-19,-19,-28,-10,9,-17,3,-20;
+MA /M: SY='S'; M=0,-12,1,-14,-11,-10,-15,-15,-6,-17,-3,-3,-7,-19,-10,-15,10,10,-1,-34,-14,-11;
+MA /M: SY='R'; M=-20,-10,-30,-10,0,-20,-20,0,-30,30,-20,-10,0,-20,10,70,-10,-10,-20,-20,-10,0;
+MA /M: SY='I'; M=-5,-27,-21,-33,-28,-1,-34,-29,37,-24,13,13,-22,-23,-23,-24,-12,0,34,-25,-5,-28;
+MA /M: SY='Y'; M=-20,-19,-30,-20,-18,27,-29,16,-3,-7,-2,-1,-18,-29,-9,-3,-19,-10,-11,24,69,-18;
+MA /M: SY='P'; M=-10,-20,-40,-10,0,-30,-20,-20,-20,-10,-30,-20,-20,90,-10,-20,-10,-10,-30,-30,-30,-10;
+MA /M: SY='K'; M=-2,0,-26,-2,4,-27,-9,-1,-26,22,-26,-10,3,-12,9,15,-1,-7,-20,-23,-12,6;
+MA /M: SY='G'; M=0,-12,-27,-12,-16,-26,41,-19,-30,-14,-24,-16,-4,-13,-16,-11,-1,-13,-21,-22,-25,-17;
+MA /M: SY='T'; M=-5,-10,-20,-14,-8,-11,-17,-15,-9,-6,-4,-2,-9,-16,-2,-7,0,13,-7,-12,-6,-4;
+MA /M: SY='R'; M=-19,-12,-29,-12,-2,-17,-21,-2,-25,24,-13,-7,-3,-21,7,61,-12,-10,-17,-20,-9,-2;
+MA /M: SY='V'; M=-4,-24,-17,-29,-24,12,-28,-21,17,-21,14,9,-22,-25,-23,-19,-12,1,21,-17,4,-24;
+MA /M: SY='D'; M=-15,30,-28,42,9,-32,-9,-7,-28,-2,-23,-21,12,-12,-3,-10,-1,-5,-21,-34,-17,2;
+MA /M: SY='S'; M=7,-2,-12,-2,-2,-15,-3,-7,-18,-10,-27,-18,7,-12,-1,-10,34,17,-10,-33,-10,-2;
+MA /M: SY='S'; M=12,1,-10,-2,-2,-19,-1,-11,-18,-10,-27,-18,10,-10,-2,-10,34,19,-9,-37,-19,-2;
+MA /M: SY='N'; M=-10,34,-22,17,0,-21,-2,7,-20,-1,-30,-20,52,-9,-1,-2,8,-1,-30,-39,-21,-1;
+MA /M: SY='Y'; M=-20,-23,-27,-25,-22,40,-30,9,1,-15,5,1,-20,-30,-17,-13,-20,-10,-7,23,65,-22;
+MA /M: SY='B'; M=-10,18,-22,16,1,-21,-10,-1,-16,1,-18,-3,17,-15,0,-4,2,-3,-15,-33,-14,0;
+MA /M: SY='P'; M=-10,-20,-40,-10,0,-30,-20,-20,-20,-10,-30,-20,-20,90,-10,-20,-10,-10,-30,-30,-30,-10;
+MA /M: SY='Q'; M=-10,-13,-25,-15,-2,-15,-25,-1,0,-7,1,9,-11,-18,20,-4,-10,-9,-6,-20,-4,9;
+MA /M: SY='P'; M=-10,-16,-26,-12,-4,-15,-24,-16,-2,-7,-5,-2,-16,6,-9,-3,-11,-8,0,-27,-14,-9;
+MA /M: SY='F'; M=-7,-20,-22,-27,-22,22,-7,-8,-5,-20,3,8,-15,-24,-20,-16,-14,-11,-5,-5,11,-20;
+MA /M: SY='W'; M=-20,-40,-50,-40,-30,10,-20,-30,-20,-20,-20,-20,-40,-30,-20,-20,-40,-30,-30,150,30,-20;
+MA /M: SY='N'; M=-8,11,-21,-1,-6,-14,-11,-2,-7,-2,-14,-4,23,-19,-2,0,2,0,-13,-32,-13,-5;
+MA /M: SY='A'; M=10,-13,4,-19,-15,-17,-10,4,-13,-17,-9,-6,-9,-21,-12,-18,-3,-8,-6,-28,-11,-15;
+MA /M: SY='G'; M=0,-10,-30,-10,-20,-30,70,-20,-40,-20,-30,-20,0,-20,-20,-20,0,-20,-30,-20,-30,-20;
+MA /M: SY='C'; M=7,-17,58,-24,-22,-17,-20,-25,-16,-22,-15,-14,-16,-28,-22,-24,0,-3,0,-40,-24,-22;
+MA /M: SY='Q'; M=-10,0,-30,0,19,-39,-20,14,-20,9,-20,0,0,-10,58,10,0,-10,-30,-20,-9,38;
+MA /M: SY='M'; M=-10,-24,-21,-31,-21,3,-25,-10,24,-18,29,43,-23,-23,-8,-15,-23,-10,13,-20,0,-15;
+MA /M: SY='V'; M=2,-29,-12,-30,-29,-1,-29,-29,30,-20,10,10,-28,-28,-28,-21,-10,-1,45,-28,-10,-29;
+MA /M: SY='A'; M=46,-9,-10,-18,-9,-20,0,-19,-11,-10,-12,-11,-8,-10,-9,-19,13,2,-1,-22,-20,-9;
+MA /M: SY='L'; M=-11,-27,-19,-30,-21,16,-28,-18,16,-27,38,19,-26,-28,-20,-18,-24,-6,8,-17,3,-20;
+MA /M: SY='N'; M=-8,36,-19,18,0,-20,0,8,-20,-1,-30,-20,55,-19,0,-1,13,2,-28,-40,-20,0;
+MA /M: SY='F'; M=-18,-25,-26,-31,-22,37,-25,-11,-4,-16,2,6,-20,-26,-18,-7,-21,-13,-7,21,23,-17;
+MA /M: SY='Q'; M=-10,0,-30,0,19,-39,-20,8,-21,14,-21,-1,0,-10,55,12,-1,-10,-29,-20,-10,37;
+MA /M: SY='T'; M=0,0,-9,-7,-4,-15,-11,-17,-16,-9,-15,-13,0,-11,-8,-10,17,34,-7,-31,-14,-6;
+MA /M: SY='P'; M=-6,-5,-26,-4,-6,-13,-12,0,-15,-11,-15,-9,-4,8,-8,-13,-3,-6,-16,-23,-5,-9;
+MA /M: SY='D'; M=-11,25,-29,36,6,-35,13,-7,-38,-1,-30,-25,12,-13,-5,-9,1,-11,-28,-32,-22,1;
+MA /M: SY='E'; M=-8,-11,-25,-10,3,-16,-23,-14,-8,3,-5,-4,-10,-5,-3,2,-8,-4,-8,-25,-12,-1;
+MA /M: SY='P'; M=2,-11,-28,-10,-1,-20,-4,-11,-19,-3,-20,-10,-10,15,-4,-11,-3,-8,-19,-19,-11,-4;
+MA /M: SY='M'; M=-10,-21,-21,-28,-17,0,-23,-5,17,-14,26,44,-21,-22,-2,-11,-21,-10,7,-20,-1,-9;
+MA /M: SY='Q'; M=-14,-3,-31,0,4,-25,-19,-4,-24,-1,-22,-11,-8,-17,25,-3,-11,-16,-29,23,-1,16;
+MA /M: SY='L'; M=-9,-27,-22,-31,-22,3,-30,-19,27,-24,31,25,-25,-25,-15,-20,-23,-9,18,-21,-1,-20;
+MA /M: SY='N'; M=-11,18,-16,3,-7,-12,-9,11,-11,-5,-16,0,31,-22,-1,-4,-1,-4,-19,-30,-6,-5;
+MA /M: SY='Q'; M=-11,1,-26,3,7,-26,-20,6,-13,-2,-7,2,-3,-15,24,-2,-6,-7,-18,-25,-8,15;
+MA /M: SY='G'; M=14,-8,-24,-11,-16,-27,47,-19,-31,-17,-24,-17,-2,-17,-17,-20,3,-14,-21,-21,-27,-16;
+MA /M: SY='M'; M=-10,-21,-19,-26,-17,-3,-24,-12,10,-7,14,26,-20,-23,-8,-5,-20,-10,6,-13,-2,-13;
+MA /M: SY='F'; M=-20,-30,-20,-39,-30,78,-30,-19,0,-29,10,0,-20,-30,-39,-20,-20,-10,0,11,32,-30;
+MA /M: SY='E'; M=-10,-7,-26,-5,12,-19,-20,-5,-13,5,-7,-3,-5,-14,11,11,-4,-6,-14,-25,-11,10;
+MA /M: SY='A'; M=7,-6,-22,-8,-8,-7,-13,-7,-8,-11,-6,-6,-9,-17,-5,-14,-4,-6,-7,-11,7,-8;
+MA /M: SY='N'; M=-10,33,-21,18,-1,-20,2,5,-20,-3,-25,-18,48,-20,-3,-3,6,-3,-27,-37,-19,-2;
+MA /M: SY='G'; M=-1,-7,-30,-5,-15,-30,53,-18,-37,-15,-29,-20,0,-12,-16,-15,-1,-18,-29,-22,-28,-16;
+MA /M: SY='G'; M=-5,-9,-24,-9,-9,-26,22,0,-32,-6,-25,-14,-1,-12,-6,1,-2,-14,-25,-24,-18,-9;
+MA /I: I=-5; MI=0; IM=0; MD=-25; DM=-25;
+MA /M: SY='C'; M=-3,-12,68,-19,-19,-19,-21,-23,-25,-22,-21,-19,-9,-28,-19,-22,7,6,-9,-45,-25,-19;
+MA /M: SY='G'; M=0,-10,-30,-10,-20,-30,70,-20,-40,-20,-30,-20,0,-20,-20,-20,0,-20,-30,-20,-30,-20;
+MA /M: SY='Y'; M=-20,-20,-30,-20,-20,30,-30,20,0,-10,0,0,-20,-30,-10,-10,-20,-10,-10,30,80,-20;
+MA /M: SY='V'; M=-4,-29,-15,-30,-26,3,-30,-26,26,-22,23,13,-29,-29,-25,-18,-17,-4,34,-26,-6,-26;
+MA /M: SY='L'; M=-10,-23,-22,-23,-13,1,-28,-18,9,-12,32,13,-23,-26,-13,-9,-26,-10,3,-20,-2,-13;
+MA /M: SY='K'; M=-10,0,-30,0,11,-31,-20,-7,-29,44,-28,-9,0,-10,16,30,-9,-10,-21,-20,-10,13;
+MA /M: SY='P'; M=-10,-19,-40,-10,0,-30,-20,-16,-20,-10,-30,-19,-19,86,-9,-19,-10,-10,-30,-30,-28,-10;
+MA /M: SY='D'; M=-7,15,-28,24,22,-31,-13,-6,-29,4,-25,-21,4,5,4,-4,3,-6,-24,-32,-20,12;
+MA /M: SY='F'; M=-13,-23,-3,-30,-24,33,-28,-20,0,-21,2,-2,-17,-27,-27,-17,-13,-5,3,-10,11,-24;
+MA /M: SY='M'; M=-10,-23,-21,-28,-17,2,-25,-9,17,-18,31,38,-23,-24,-5,-13,-23,-10,7,-20,-1,-11;
+MA /M: SY='R'; M=-20,-10,-30,-10,0,-20,-20,0,-30,30,-20,-10,0,-20,10,70,-10,-10,-20,-20,-10,0;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=17(17); /POSITIVE=17(17); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=0;
+CC /TAXO-RANGE=??E??; /MAX-REPEAT=1;
+DR P10894, PIP1_BOVIN, T; P10687, PIP1_RAT , T; Q00722, PIP2_HUMAN, T;
+DR Q01970, PIP3_HUMAN, T; P08487, PIP4_BOVIN, T; P19174, PIP4_HUMAN, T;
+DR P10686, PIP4_RAT , T; P16885, PIP5_HUMAN, T; P24135, PIP5_RAT , T;
+DR P10895, PIP6_BOVIN, T; P10688, PIP6_RAT , T; P21671, PIP7_BOVIN, T;
+DR Q02158, PIPA_DICDI, T; P13217, PIPA_DROME, T; P25455, PIP1_DROME, T;
+DR P40977, PIP1_SCHPO, T; P32383, PIP1_YEAST, T;
+DO PDOC50007;
+//
+ID GLOBIN; MATRIX.
+AC PS01033;
+DT JUN-1994 (CREATED); JUN-1994 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Globins profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=154;
+MA /DISJOINT: DEFINITION=PROTECT; N1=1; N2=154;
+MA /NORMALIZATION: MODE=1; FUNCTION=GLE_ZSCORE;
+MA R1=200.0; R2=-0.0041; R3=0.9030; R4=1.011; R5=0.149;
+MA /CUT_OFF: LEVEL=0; SCORE=0; N_SCORE=7.0; MODE=1;
+MA /DEFAULT: MI=-210; MD=-210; IM=0; DM=0; I=-20; D=-20;
+MA /I: MI=-59; MD=-59; I=-6;
+MA /M: SY='A'; D=-6; M=7,-7,-8,-10,-10,-8,3,-12,-4,-8,-6,-4,-6,-10,-10,-10,3,4,3,-14,-10,-10;
+MA /I: MI=-59; MD=-59; I=-6;
+MA /M: SY='H'; D=-6; M=1,-3,-21,0,-6,-20,0,2,-16,-10,-16,-10,-4,0,-8,-12,-2,-9,-11,-23,-13,-8;
+MA /M: SY='L'; M=-10,-27,-2,-30,-21,4,-28,-18,13,-26,36,22,-27,-30,-18,-20,-26,-10,7,-24,-4,-20;
+MA /M: SY='T'; M=2,-7,-14,-9,-9,-13,-2,-16,-13,-15,-10,-10,-1,-15,-9,-13,17,18,-6,-31,-15,-9;
+MA /M: SY='P'; M=-5,8,-30,15,10,-28,-17,-12,-18,-6,-19,-17,-3,16,-4,-15,-4,-9,-18,-31,-20,1;
+MA /M: SY='A'; M=10,-7,-21,-8,4,-23,1,-10,-17,-8,-11,-9,-5,-13,5,-10,4,-5,-14,-24,-17,4;
+MA /M: SY='E'; M=-11,10,-30,17,37,-36,-19,5,-27,9,-21,-12,2,-6,36,3,0,-10,-30,-27,-15,36;
+MA /M: SY='K'; M=-2,-9,-27,-12,-4,-18,-17,-15,-22,17,-21,-12,-8,-14,-1,13,-6,-1,-15,4,-5,-2;
+MA /M: SY='T'; M=1,-5,-21,-15,-10,-14,-20,-14,5,-12,-5,-1,1,-14,-1,-13,2,8,0,-25,-10,-7;
+MA /M: SY='N'; M=-2,1,-21,-6,-5,-14,-14,-8,-9,3,-3,-4,7,-19,-5,-1,-7,-6,-11,-26,-11,-5;
+MA /M: SY='V'; M=-3,-30,-16,-33,-30,0,-33,-30,36,-23,13,13,-27,-27,-27,-23,-13,-3,44,-27,-7,-30;
+MA /M: SY='K'; M=-10,-11,-26,-14,-6,-14,-25,-15,-5,13,-5,0,-8,-16,-3,12,-11,-2,-4,-21,-7,-6;
+MA /M: SY='S'; M=4,5,-18,-1,2,-23,-9,-7,-19,5,-24,-13,11,-12,7,0,15,10,-15,-30,-16,4;
+MA /M: SY='A'; M=20,-13,-14,-17,-9,-15,-11,-16,-2,-12,-3,-3,-12,-16,-4,-15,4,0,4,-24,-14,-7;
+MA /M: SY='W'; M=-16,-33,-43,-35,-26,6,-20,-28,-18,-18,-18,-18,-33,-26,-18,-18,-29,-16,-25,118,23,-18;
+MA /M: SY='G'; M=12,-11,-21,-12,-7,-22,21,-19,-18,-13,-16,-12,-8,-16,-13,-17,1,-10,-8,-23,-22,-10;
+MA /M: SY='P'; M=-10,-5,-33,0,15,-31,-20,-9,-26,20,-27,-13,-6,23,12,7,-7,-10,-26,-25,-18,12;
+MA /M: SY='V'; M=-3,-30,-11,-31,-30,12,-30,-29,26,-21,10,9,-29,-30,-31,-20,-11,-1,43,-24,-4,-30;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='L'; D=-5; M=-2,-5,-4,-5,-4,2,-5,-4,4,-5,9,4,-5,-5,-4,-4,-5,-2,2,-4,0,-4;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='K'; D=-5; M=-7,3,-20,2,6,-12,-2,0,-18,7,-16,-10,6,-11,1,2,-3,-7,-17,-12,0,3;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='A'; D=-5; M=18,-5,-15,-7,4,-12,-7,-7,-12,-5,-12,-10,-5,-9,-2,-11,7,0,-8,-15,-4,0;
+MA /M: SY='H'; M=-11,19,-22,15,2,-22,-10,28,-25,-6,-24,-14,24,-16,2,-4,8,2,-23,-36,-7,0;
+MA /M: SY='V'; M=0,-23,-22,-27,-24,-4,-12,-20,15,-20,2,4,-18,-23,-20,-22,-10,-8,16,-16,1,-24;
+MA /M: SY='P'; M=-7,-5,-29,2,1,-26,2,-16,-20,-10,-22,-16,-8,15,-11,-16,-5,-11,-16,-29,-24,-6;
+MA /M: SY='E'; M=-5,2,-24,3,19,-24,-6,-11,-25,5,-20,-15,0,-8,3,-2,5,7,-19,-27,-17,11;
+MA /M: SY='H'; M=-7,-12,-22,-14,-12,-8,-21,20,-1,-15,-9,0,-4,-20,-6,-12,0,-4,-1,-24,9,-12;
+MA /M: SY='G'; M=-3,-7,-24,-10,-14,-22,29,-17,-29,-10,-22,-15,0,-17,-13,-5,5,4,-19,-23,-21,-14;
+MA /M: SY='T'; M=2,-7,-19,-11,-8,-19,-6,1,-13,-10,-13,-6,-4,-16,0,-9,4,8,-6,-26,-10,-5;
+MA /M: SY='E'; M=-12,16,-26,24,28,-28,-17,-4,-29,7,-21,-19,5,-7,8,6,2,1,-23,-31,-17,17;
+MA /M: SY='F'; M=3,-25,-17,-33,-25,31,-24,-23,9,-23,6,2,-19,-23,-28,-21,-11,-6,12,-8,7,-25;
+MA /M: SY='L'; M=-5,-26,-20,-28,-20,20,-26,-13,10,-24,28,10,-24,-27,-20,-18,-22,-9,4,-7,16,-20;
+MA /M: SY='I'; M=-7,-17,-27,-20,-11,-13,-17,-22,11,-8,-2,3,-13,-17,-11,-13,-12,-10,8,-23,-10,-13;
+MA /M: SY='R'; M=-15,5,-27,4,1,-20,-17,-3,-22,15,-14,-10,9,-19,3,29,-8,-8,-19,-26,-12,0;
+MA /M: SY='L'; M=-9,-29,-17,-31,-24,16,-29,-20,20,-25,30,19,-27,-29,-23,-19,-22,-7,20,-19,1,-23;
+MA /M: SY='F'; M=-17,-30,-20,-37,-27,60,-30,-20,6,-30,21,6,-23,-30,-34,-20,-23,-10,3,1,21,-27;
+MA /M: SY='E'; M=2,-3,-20,-7,2,-14,-16,-12,-10,-2,-2,-5,-2,-15,-4,-5,-4,1,-9,-25,-12,-1;
+MA /M: SY='S'; M=-2,-5,-21,-9,-10,-18,-3,-15,-8,-4,-17,-8,3,-17,-8,-8,5,-1,-3,-29,-15,-10;
+MA /M: SY='H'; M=-7,-12,-22,-17,-13,13,-21,25,-13,-15,-7,-3,-6,-21,-11,-11,-7,-4,-11,-10,21,-13;
+MA /M: SY='P'; M=-11,-21,-37,-14,-4,-16,-21,-20,-17,-13,-25,-17,-20,74,-14,-20,-11,-10,-26,-25,-22,-13;
+MA /M: SY='E'; M=5,-6,-25,-7,12,-18,-14,-12,-21,0,-16,-15,-8,-11,1,0,-2,-3,-17,-1,-11,6;
+MA /M: SY='T'; M=14,-8,-10,-16,-14,-11,-16,-22,-3,-12,-6,-6,-8,-14,-14,-15,12,27,9,-27,-13,-14;
+MA /M: SY='R'; M=-12,-1,-27,-4,5,-24,-19,-2,-18,17,-13,-4,3,-16,18,20,-8,-9,-19,-23,-10,11;
+MA /M: SY='P'; M=-12,3,-31,10,19,-28,-19,-9,-26,3,-23,-19,-3,22,3,1,-2,-3,-25,-30,-20,9;
+MA /M: SY='F'; M=-15,-14,-24,-14,-13,19,-26,-11,-3,-11,10,1,-15,-24,-17,-10,-19,-10,-5,-8,14,-14;
+MA /M: SY='F'; M=-20,-27,-21,-36,-26,67,-29,-17,-4,-22,6,-1,-17,-29,-33,-8,-19,-10,-3,6,25,-26;
+MA /M: SY='D'; M=-8,13,-27,23,15,-31,-11,-8,-28,-4,-29,-23,4,17,0,-11,8,-2,-24,-36,-23,6;
+MA /M: SY='M'; M=-10,-12,-23,-15,-8,-1,-20,2,-9,2,-4,7,-8,-18,-4,0,-9,-7,-8,-20,1,-6;
+MA /M: SY='F'; M=-15,-26,-22,-33,-27,50,-12,-20,-4,-28,9,-1,-18,-28,-34,-20,-18,-12,-4,0,15,-27;
+MA /I: MI=-42; MD=-42; I=-4;
+MA /M: SY='K'; D=-4; M=-9,2,-25,-1,2,-23,-3,-6,-27,24,-25,-12,8,-13,3,23,-5,-9,-20,-20,-13,2;
+MA /I: MI=-42; MD=-42; I=-4;
+MA /M: SY='G'; D=-4; M=-8,3,-21,6,-3,-20,13,10,-25,-3,-18,-11,4,-13,-3,2,-3,-11,-20,-18,-9,-4;
+MA /I: MI=-42; MD=-42; I=-4;
+MA /M: SY='L'; D=-4; M=-4,-17,-11,-18,-14,3,-20,-15,11,-17,21,8,-17,-18,-14,-13,-11,3,11,-17,-3,-14;
+MA /I: MI=-42; MD=-42; I=-4;
+MA /M: SY='S'; D=-4; M=0,5,-11,1,0,-14,-6,-6,-14,4,-18,-11,11,-8,0,0,14,11,-10,-24,-11,0;
+MA /I: MI=-42; MD=-42; I=-4;
+MA /M: SY='S'; D=-4; M=3,-1,-8,-3,-4,-11,6,-8,-12,-7,-14,-10,3,-7,-4,-7,14,10,-7,-18,-11,-4;
+MA /I: MI=-42; MD=-42; I=-4;
+MA /M: SY='P'; D=-4; M=4,-3,-12,-1,8,-12,-6,-6,-9,-1,-9,-7,-4,11,0,-6,0,-3,-9,-12,-10,3;
+MA /I: MI=-42; MD=-42; I=-4;
+MA /M: SY='D'; D=-4; M=-14,29,-26,41,23,-33,-12,2,-30,3,-23,-19,11,-7,13,-4,0,-9,-26,-30,-16,18;
+MA /M: SY='E'; M=-2,0,-23,5,17,-22,-19,-8,-12,-3,-7,-8,-7,-12,7,-8,-4,-7,-9,-27,-15,12;
+MA /M: SY='S'; M=-3,-9,-19,-12,-10,-12,-14,-11,-1,-13,-6,2,-3,-4,-8,-13,3,2,-1,-31,-14,-10;
+MA /M: SY='M'; M=-10,-12,-24,-13,-4,-15,-23,3,-5,6,-1,10,-11,-19,5,3,-13,-10,-4,-22,-3,0;
+MA /M: SY='G'; M=1,1,-25,-2,3,-19,8,-6,-24,1,-21,-14,5,-15,-3,-5,-1,-10,-21,-18,-8,-1;
+MA /M: SY='S'; M=1,11,-16,6,4,-24,-4,-1,-20,-4,-28,-16,22,-13,11,-4,24,9,-19,-36,-18,7;
+MA /M: SY='P'; M=5,-13,-31,-8,7,-27,-15,-17,-19,-7,-23,-17,-14,51,-5,-17,-3,-7,-22,-27,-26,-2;
+MA /M: SY='E'; M=-13,17,-30,26,28,-34,-17,-2,-32,20,-26,-17,6,-7,16,8,-3,-10,-27,-29,-16,22;
+MA /M: SY='V'; M=3,-26,-14,-30,-23,10,-25,-24,16,-23,18,8,-25,-26,-25,-20,-14,-4,23,-20,-4,-23;
+MA /M: SY='K'; M=-11,-7,-28,-7,5,-23,-22,-7,-20,27,-13,-3,-5,-15,12,24,-12,-10,-16,-20,-8,8;
+MA /M: SY='A'; M=25,-13,-21,-18,-11,-19,3,-20,-18,-3,-17,-13,-11,-14,-9,-12,-1,-8,-11,3,-13,-9;
+MA /M: SY='H'; M=-18,-4,-28,-5,-4,-16,-20,82,-21,-10,-13,11,5,-20,8,-2,-12,-18,-23,-28,16,-2;
+MA /M: SY='G'; M=13,-10,-20,-15,-15,-20,23,-17,-18,-14,-14,-5,-5,-15,-13,-17,4,-1,-11,-22,-20,-14;
+MA /M: SY='A'; M=4,-11,-21,-11,-3,-19,-7,-18,-10,4,-13,-7,-11,-16,-8,-4,-4,-7,2,-24,-16,-6;
+MA /M: SY='R'; M=-11,-8,-25,-9,-1,-17,-22,-11,-18,21,-10,-5,-5,-16,2,26,-9,-1,-12,-22,-8,-1;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='V'; D=-4; M=-1,-25,-11,-26,-25,0,-26,-25,27,-18,10,10,-23,-23,-23,-18,-10,-1,38,-23,-7,-25;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='F'; D=-4; M=-4,-22,-17,-28,-19,23,-23,-18,11,-22,19,7,-18,-21,-21,-18,-16,-7,7,-8,6,-19;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='N'; D=-4; M=1,9,-18,6,-2,-20,3,-9,-20,2,-19,-13,9,-11,-4,-4,4,2,-15,-23,-15,-3;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='A'; D=-4; M=26,-11,-12,-17,-11,-13,5,-16,-8,-12,-2,-5,-10,-12,-11,-16,1,-4,-2,-16,-15,-11;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='F'; D=-4; M=-8,-25,-14,-27,-22,24,-25,-19,14,-22,19,8,-22,-25,-25,-16,-16,-5,17,-11,5,-22;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='N'; D=-4; M=-5,8,-18,6,-5,-12,3,-3,-18,-7,-18,-14,9,-14,-6,-8,6,3,-15,-19,-2,-6;
+MA /M: SY='D'; M=-1,13,-25,14,5,-26,0,-9,-19,-7,-19,-16,8,-13,-5,-13,0,-9,-17,-29,-19,0;
+MA /M: SY='A'; M=26,-16,-17,-23,-16,-14,0,-22,-1,-17,0,-3,-13,-16,-14,-22,-1,-6,2,-20,-16,-16;
+MA /M: SY='V'; M=12,-24,-16,-28,-21,-3,-22,-24,17,-21,17,8,-22,-22,-19,-21,-11,-4,20,-23,-9,-21;
+MA /M: SY='A'; M=8,-1,-21,-8,-2,-22,-12,-9,-9,1,-16,-7,4,-13,7,-4,5,-2,-9,-25,-14,2;
+MA /M: SY='H'; M=-9,3,-23,0,1,-22,-15,22,-18,3,-21,-6,11,-17,9,2,2,-5,-15,-30,-5,3;
+MA /M: SY='L'; M=-9,-24,-22,-27,-18,0,-29,-19,19,-14,24,20,-22,-24,-14,-13,-21,-9,14,-21,-3,-17;
+MA /M: SY='D'; M=-14,28,-30,42,27,-35,-1,-3,-37,0,-27,-25,10,-8,3,-8,0,-12,-30,-34,-22,15;
+MA /I: MI=-46; MD=-46; I=-4;
+MA /M: SY='D'; D=-4; M=-7,16,-13,18,1,-14,-7,-3,-10,-3,-12,-10,12,-11,-4,-6,0,-3,-6,-22,-10,-2;
+MA /I: MI=-46; MD=-46; I=-4;
+MA /M: SY='T'; D=-4; M=-3,-5,-10,-8,-5,-5,-14,-10,-3,-2,2,-1,-5,-9,-5,-2,-1,11,-1,-15,-4,-5;
+MA /I: MI=-46; MD=-46; I=-4;
+MA /M: SY='P'; D=-4; M=-4,-6,-21,-2,5,-18,1,-9,-16,-5,-16,-12,-6,25,-3,-9,-3,-7,-18,-16,-16,-1;
+MA /I: MI=-46; MD=-46; I=-4;
+MA /M: SY='V'; D=-4; M=0,-4,-1,-4,-4,0,-4,-4,4,-3,1,1,-4,-4,-4,-3,-1,0,7,-4,-1,-4;
+MA /I: MI=-46; MD=-46; I=-4;
+MA /M: SY='V'; D=-4; M=0,-4,-1,-4,-4,0,-4,-4,4,-3,1,1,-4,-4,-4,-3,-1,0,7,-4,-1,-4;
+MA /M: SY='H'; M=1,1,-20,-1,-6,-18,-15,4,-10,-2,-14,-7,2,-18,-7,-6,-3,-6,-1,-29,-10,-7;
+MA /M: SY='M'; M=-9,-18,-22,-23,-16,-3,-23,3,12,-19,15,21,-14,-21,-7,-15,-12,-7,4,-24,0,-13;
+MA /M: SY='D'; M=-10,8,-27,16,13,-24,-16,-9,-21,1,-14,-14,-1,0,0,-6,-2,-6,-19,-31,-16,6;
+MA /M: SY='A'; M=9,-6,-23,-11,-6,-23,1,-10,-14,-8,-16,-4,-2,4,0,-12,0,-7,-16,-24,-19,-4;
+MA /M: SY='A'; M=18,-3,-16,-8,4,-20,-11,-16,-16,1,-14,-12,-4,-8,-3,-7,9,11,-7,-24,-16,0;
+MA /M: SY='L'; M=-10,-30,-20,-33,-25,16,-32,-23,24,-28,33,15,-27,-28,-25,-22,-24,-8,19,-18,2,-25;
+MA /M: SY='K'; M=7,-4,-22,-7,2,-25,-12,-11,-23,24,-23,-11,-2,-11,3,17,1,-4,-13,-22,-14,2;
+MA /M: SY='Q'; M=-6,8,-28,9,6,-29,-13,9,-25,6,-25,-13,8,3,9,0,-2,-9,-25,-28,-13,6;
+MA /M: SY='L'; M=-11,-29,-23,-30,-22,11,-32,-17,23,-27,38,17,-27,-28,-19,-20,-27,-10,11,-13,10,-22;
+MA /M: SY='A'; M=27,-6,-13,-11,-8,-21,10,-16,-18,-11,-21,-15,-1,-11,-8,-16,20,5,-8,-28,-21,-8;
+MA /M: SY='S'; M=3,-1,-21,2,5,-25,-3,-11,-16,-6,-17,-12,-3,-13,3,-10,5,-4,-9,-28,-18,4;
+MA /M: SY='V'; M=-7,-16,-20,-17,-10,1,-22,-17,-3,-1,2,0,-13,-21,-12,-3,-9,-4,2,-21,-4,-10;
+MA /M: SY='H'; M=-20,0,-30,0,0,-20,-20,100,-30,-10,-20,0,10,-20,10,0,-10,-20,-30,-30,20,0;
+MA /M: SY='C'; M=16,-15,28,-22,-17,-18,-16,-23,-13,-10,-13,-10,-15,-22,-17,-17,-2,-4,2,-31,-20,-17;
+MA /M: SY='Q'; M=-8,7,-24,8,9,-29,-16,9,-24,6,-23,-10,5,-11,19,3,6,2,-21,-28,-9,13;
+MA /M: SY='K'; M=2,-6,-22,-9,0,-13,-15,-13,-21,21,-21,-10,-3,-13,-1,9,-1,-4,-13,-19,-8,0;
+MA /M: SY='G'; M=-8,-16,-26,-18,-18,-3,17,-1,-18,-22,-2,-4,-9,-24,-18,-17,-12,-16,-16,-17,-6,-18;
+MA /M: SY='R'; M=-8,-11,-21,-12,-7,-17,-23,1,-7,4,-11,-1,-8,-19,1,7,-5,0,2,-26,-6,-4;
+MA /M: SY='V'; M=13,-24,-16,-30,-24,-6,-23,-27,23,-20,6,6,-21,-21,-21,-23,-6,-3,28,-24,-10,-24;
+MA /M: SY='D'; M=-5,20,-29,31,9,-34,-11,-9,-29,-5,-26,-24,3,18,-5,-15,-1,-8,-25,-34,-23,1;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='P'; D=-5; M=-4,-13,-17,-9,-5,-12,-13,-13,-3,-7,-10,-6,-13,31,-9,-11,-5,-4,-4,-16,-13,-9;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='A'; D=-5; M=12,-5,-17,-7,6,-21,-12,-10,-11,5,-12,-6,-7,-10,6,-3,0,-4,-5,-20,-13,6;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='H'; D=-5; M=-15,5,-24,-1,-6,-3,-15,41,-15,-6,-14,-5,13,-20,0,-3,-6,-9,-20,-11,24,-6;
+MA /M: SY='F'; M=-18,-28,-22,-35,-27,60,-30,-13,3,-26,14,3,-22,-30,-32,-18,-22,-10,0,9,34,-27;
+MA /M: SY='K'; M=-10,-5,-33,0,15,-30,-20,-12,-27,25,-28,-15,-6,24,5,9,-8,-10,-25,-25,-18,8;
+MA /M: SY='V'; M=-1,-27,-18,-32,-25,12,-28,-25,21,-25,19,10,-24,-26,-25,-22,-16,-6,22,-18,-1,-25;
+MA /M: SY='L'; M=-8,-30,-18,-33,-26,14,-32,-25,25,-27,27,14,-27,-28,-26,-22,-21,-7,25,-19,1,-26;
+MA /M: SY='G'; M=8,-6,-22,-7,-9,-26,28,-16,-29,-6,-27,-17,1,-14,-9,-10,11,-5,-19,-25,-23,-9;
+MA /M: SY='Q'; M=-3,7,-26,6,23,-29,-14,14,-23,4,-20,-10,8,-10,24,0,2,-8,-26,-27,-12,23;
+MA /M: SY='C'; M=3,-13,22,-17,-9,-15,-23,-22,-8,-15,-9,-9,-15,-22,-16,-18,-1,2,6,-34,-19,-12;
+MA /M: SY='I'; M=-10,-29,-24,-34,-24,4,-33,-22,33,-27,33,25,-24,-24,-17,-23,-24,-10,19,-20,0,-23;
+MA /M: SY='L'; M=-2,-27,-19,-31,-23,12,-27,-23,19,-26,26,12,-24,-26,-23,-22,-19,-7,16,-17,0,-23;
+MA /M: SY='Q'; M=-8,-1,-7,0,-1,-29,-5,-10,-23,0,-21,-11,-4,-18,7,-4,-4,-11,-16,-28,-18,3;
+MA /M: SY='T'; M=9,-11,-10,-18,-16,-9,-19,-23,2,-13,-4,-4,-11,-16,-16,-15,9,27,15,-28,-12,-16;
+MA /M: SY='I'; M=-9,-30,-23,-35,-26,4,-35,-26,35,-29,31,19,-25,-25,-21,-25,-23,-9,24,-21,-1,-26;
+MA /M: SY='A'; M=21,-5,-20,-10,1,-26,-10,-12,-18,12,-18,-8,-5,-10,7,1,2,-5,-11,-20,-15,4;
+MA /M: SY='E'; M=7,2,-22,4,25,-25,-12,7,-23,-1,-19,-15,0,-7,8,-7,7,-4,-19,-29,-14,16;
+MA /M: SY='H'; M=-9,-11,-24,-11,-11,-16,-11,25,-12,-5,-13,-1,-6,-22,-7,-5,-9,-12,-3,-27,-1,-11;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='L'; D=-4; M=-10,-21,-19,-24,-18,11,-26,-2,12,-21,17,10,-17,-23,-17,-15,-17,-9,10,-16,6,-18;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='G'; D=-4; M=-5,-10,-29,-7,-9,-25,24,-2,-28,-13,-25,-15,-4,13,-11,-15,-4,-15,-26,-21,-19,-12;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='G'; D=-4; M=8,3,-21,4,-3,-25,15,-12,-25,-1,-21,-15,1,-11,-7,-9,1,-9,-17,-21,-19,-5;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='E'; D=-4; M=2,9,-18,12,18,-22,-10,-5,-20,8,-16,-13,1,-5,5,-1,0,-6,-15,-20,-13,12;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='F'; D=-4; M=-2,-20,-17,-26,-18,31,-15,-16,-5,-17,-1,-5,-16,-18,-21,-15,-12,-8,-4,22,13,-17;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='T'; D=-4; M=1,-2,-10,-6,-7,-12,2,-13,-13,-9,-13,-10,1,-9,-7,-9,14,22,-6,-22,-12,-7;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='P'; D=-4; M=0,4,-22,10,11,-22,-10,-8,-18,-3,-17,-15,-3,20,-1,-10,-1,-6,-17,-22,-17,3;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='D'; D=-4; M=3,15,-21,21,16,-28,-9,-4,-23,0,-18,-15,4,-7,9,-7,2,-6,-18,-25,-16,12;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='V'; D=-4; M=2,-12,-16,-13,-15,-7,-20,-19,13,-16,8,4,-15,-18,-16,-18,-9,-5,16,-22,-8,-16;
+MA /M: SY='Q'; M=-13,3,-27,2,1,-21,-20,9,-8,-7,-5,-1,5,-17,13,-6,-8,-10,-15,-27,-6,6;
+MA /M: SY='G'; M=18,2,-19,2,-6,-26,18,-15,-25,-11,-22,-18,1,-13,-10,-17,10,-5,-15,-26,-23,-8;
+MA /M: SY='A'; M=38,-9,-13,-16,-10,-21,10,-19,-15,-11,-15,-13,-6,-11,-10,-19,12,0,-5,-22,-21,-10;
+MA /M: SY='W'; M=-17,-32,-35,-34,-26,21,-24,-16,-4,-20,1,3,-30,-28,-18,-17,-30,-19,-12,68,29,-20;
+MA /M: SY='N'; M=-9,10,-26,10,8,-27,0,-3,-27,2,-23,-16,12,-13,7,4,3,-1,-24,-28,-18,7;
+MA /M: SY='K'; M=-2,-6,-27,-8,2,-24,-20,-14,-16,31,-20,-6,-4,-11,3,15,-9,-9,-10,-20,-10,2;
+MA /M: SY='A'; M=19,-19,4,-26,-19,-1,-16,-23,-2,-19,2,-3,-18,-22,-20,-21,-4,-4,7,-22,-11,-19;
+MA /M: SY='Y'; M=-13,-24,-23,-25,-21,16,-29,-1,12,-17,18,15,-24,-29,-14,-14,-21,-9,7,1,35,-20;
+MA /M: SY='A'; M=16,3,-20,4,5,-26,8,-13,-24,-7,-21,-18,0,-10,-4,-14,9,-4,-16,-27,-22,0;
+MA /M: SY='E'; M=-4,-11,-21,-10,3,-13,-8,-12,-5,-11,-1,2,-11,-17,-6,-12,-4,-6,-2,-27,-14,-1;
+MA /M: SY='I'; M=-9,-26,-22,-31,-22,9,-32,-22,24,-22,15,12,-21,-24,-15,-19,-16,-7,20,-18,1,-19;
+MA /M: SY='A'; M=18,-13,2,-20,-13,-17,-12,-18,-9,-9,-11,-9,-9,-17,-10,-8,4,-2,-2,-26,-17,-13;
+MA /M: SY='V'; M=-9,2,-24,-1,-8,-16,-22,-15,2,-5,-8,-4,2,-17,-9,-9,-5,0,2,-29,-10,-10;
+MA /M: SY='V'; M=3,-11,-14,-11,-16,-9,-21,-21,7,-16,4,0,-16,-22,-19,-17,-4,4,19,-29,-12,-17;
+MA /M: SY='L'; M=-10,-26,-23,-31,-23,14,-17,-18,13,-26,24,17,-21,-26,-20,-20,-21,-11,6,-15,1,-22;
+MA /M: SY='A'; M=7,-13,-22,-21,-12,-14,-20,-19,3,-2,-5,-1,-9,-14,-7,-2,-4,0,4,-21,-10,-12;
+MA /I: MI=-50; MD=-50; I=-5;
+MA /M: SY='Q'; D=-5; M=-3,0,-18,-1,4,-21,-12,9,-19,4,-20,-8,4,-10,12,2,11,6,-15,-25,-7,7;
+MA /I: MI=-50; MD=-50; I=-5;
+MA /M: SY='K'; D=-5; M=-6,2,-17,1,6,-15,-13,-6,-10,11,-14,-7,4,-11,0,4,-3,-4,-5,-21,-10,3;
+MA /I: MI=-50; MD=-50; I=-5;
+MA /M: SY='Y'; D=-5; M=-11,-9,-21,-9,-1,7,-19,8,-2,-4,-1,5,-11,-15,-1,-6,-11,-7,-8,4,29,-3;
+MA /I: MI=-50; MD=-50; I=-5;
+MA /M: SY='H'; D=-5; M=-1,4,-18,5,3,-19,-10,9,-20,8,-16,-9,3,-10,2,8,-2,-7,-14,-19,-6,1;
+MA /I: MI=*; MD=*; I=0;
+NR /RELEASE=32,49340;
+NR /TOTAL=684(682); /POSITIVE=684(682); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=3;
+CC /TAXO-RANGE=??EP?; /MAX-REPEAT=9;
+DR P01922, HBA_HUMAN , T; P01923, HBA_GORGO , T; P01924, HBA_PREEN , T;
+DR P01925, HBA_MACMU , T; P01926, HBA_CERAE , T; P01927, HBA_ATEGE , T;
+DR P01928, HBA_CEBAP , T; P01929, HBA_SAGFU , T; P01930, HBA_COLBA , T;
+DR P01931, HBA_PAPCY , T; P01932, HBA_THEGE , T; P01933, HBA_CERTO , T;
+DR P01934, HBA3_GORGO, T; P01935, HBA3_PANTR, T; P01936, HBA_EULFU , T;
+DR P01937, HBA_NYCCO , T; P01938, HBA_LORTA , T; P01939, HBA2_GALCR, T;
+DR P01940, HBA_TARBA , T; P01941, HBA_TUPGL , T; P01942, HBA_MOUSE , T;
+DR P01943, HBA_SPAEH , T; P01944, HBA_ONDZI , T; P01945, HBA_MESAU , T;
+DR P01946, HBA_RAT , T; P01947, HBA_CAVPO , T; P01948, HBA_RABIT , T;
+DR P01949, HBA_ERIEU , T; P01950, HBA_SUNMU , T; P01951, HBA_TALEU , T;
+DR P01952, HBA_CANFA , T; P01953, HBA_MELME , T; P01954, HBA_ELEMA , T;
+DR P01955, HBA_LOXAF , T; P01956, HBA_ROUAE , T; P01957, HBA_PROHA , T;
+DR P01958, HBA_HORSE , T; P01959, HBA_EQUAS , T; P01960, HBA_EQUZE , T;
+DR P01961, HBA_EQUHE , T; P01962, HBA_TAPTE , T; P01963, HBA_CERSI , T;
+DR P01964, HBA_DASNO , T; P01965, HBA_PIG , T; P01966, HBA_BOVIN , T;
+DR P01967, HBA1_BOSMU, T; P01968, HBA2_BOSMU, T; P01969, HBA_BOSGA , T;
+DR P01970, HBA_CAPHI , T; P01971, HBA_ALCAA , T; P01972, HBA_ODOVI , T;
+DR P01973, HBA_LAMGL , T; P01974, HBA_CAMDR , T; P01975, HBA_MACGI , T;
+DR P01976, HBA_DIDMA , T; P01977, HBA1_TACAC, T; P01978, HBA2_TACAC, T;
+DR P01979, HBA_ORNAN , T; P01980, HBA_APTFO , T; P01981, HBA_STRCA , T;
+DR P01982, HBA_RHEAM , T; P01983, HBA_CICCI , T; P01984, HBA_PHORU , T;
+DR P01985, HBA_ANSSE , T; P01986, HBA_ANAPL , T; P01987, HBA_CAIMO , T;
+DR P01988, HBA_ANAPP , T; P01989, HBA_ANSAN , T; P01990, HBA_ANSIN , T;
+DR P01991, HBA_BRACA , T; P01992, HBA_CYGOL , T; P01993, HBA_AQUCH , T;
+DR P01994, HBA_CHICK , T; P01995, HBA_PHACO , T; P01996, HBA_ARAAR , T;
+DR P01997, HBA_STUVU , T; P01998, HBA_CRONI , T; P01999, HBA_ALLMI , T;
+DR P02000, HBA_CAICR , T; P02001, HBAD_CHICK, T; P02002, HBAD_PHACO, T;
+DR P02003, HBAD_CAIMO, T; P02004, HBAD_STUVU, T; P02005, HBAD_CHRPI, T;
+DR P02006, HBAD_PHRHI, T; P02007, HBPI_CHICK, T; P02008, HBAZ_HUMAN, T;
+DR P02009, HBAZ_PIG , T; P02010, HBA_VIPAS , T; P02011, HBA3_RANCA, T;
+DR P02012, HBA1_XENLA, T; P02013, HBA2_XENLA, T; P02014, HBA_TARGR , T;
+DR P02015, HBA_AMBME , T; P02016, HBA_CYPCA , T; P02017, HBA_CATCL , T;
+DR P02018, HBA_CARAU , T; P02019, HBA1_SALIR, T; P02020, HBA_LEPPA , T;
+DR P02021, HBA_HETPO , T; P02022, HBAM_RANCA, T; P02023, HBB_HUMAN , T;
+DR P02024, HBB_GORGO , T; P02025, HBB_HYLLA , T; P02026, HBB_MACMU , T;
+DR P02027, HBB_MACFU , T; P02028, HBB_CERAE , T; P02029, HBB_THEGE , T;
+DR P02030, HBB_PAPCY , T; P02031, HBB_CERTO , T; P02032, HBB_PREEN , T;
+DR P02033, HBB_COLBA , T; P02034, HBB_ATEGE , T; P02035, HBB_AOTTR , T;
+DR P02036, HBB_SAISC , T; P02037, HBB_SAGNI , T; P02038, HBB_SAGMY , T;
+DR P02039, HBB_SAGFU , T; P02040, HBB_CEBAL , T; P02041, HBB_CEBAP , T;
+DR P02042, HBD_HUMAN , T; P02043, HBD_PANTR , T; P02044, HBD_ATEGE , T;
+DR P02045, HBD_SAGMY , T; P02046, HBD_AOTTR , T; P02047, HBD_SAISC , T;
+DR P02048, HBB_LORTA , T; P02049, HBB_NYCCO , T; P02050, HBB_GALCR , T;
+DR P02051, HBB_TARBA , T; P02052, HBB_TUPGL , T; P02053, HBB_EULFU , T;
+DR P02054, HBB_LEMCA , T; P02055, HBB_MELME , T; P02056, HBB_CANFA , T;
+DR P02057, HBB_RABIT , T; P02058, HBB_ROUAE , T; P02059, HBB_ERIEU , T;
+DR P02060, HBB_SUNMU , T; P02061, HBB_TALEU , T; P02062, HBB_HORSE , T;
+DR P02063, HBB_EQUHE , T; P02064, HBB1_TAPTE, T; P02065, HBB2_TAPTE, T;
+DR P02066, HBB_CERSI , T; P02067, HBB_PIG , T; P02068, HBB_LAMGL , T;
+DR P02069, HBB_CAMDR , T; P02070, HBB_BOVIN , T; P02071, HBB_BOSGA , T;
+DR P02072, HBB_BOSMU , T; P02073, HBB_ALCAA , T; P02074, HBB_ODOVI , T;
+DR P02075, HBB_SHEEP , T; P02076, HBB_OVIMU , T; P02077, HBBA_CAPHI, T;
+DR P02078, HBBC_CAPHI, T; P02079, HBBC_SHEEP, T; P02080, HBBN_AMMLE, T;
+DR P02081, HBBF_BOVIN, T; P02082, HBBF_CAPHI, T; P02083, HBBF_SHEEP, T;
+DR P02084, HBB_ELEMA , T; P02085, HBB_LOXAF , T; P02086, HBB_PROHA , T;
+DR P02087, HBB_DASNO , T; P02088, HBB1_MOUSE, T; P02089, HBB2_MOUSE, T;
+DR P02090, HBB_SPAEH , T; P02091, HBB1_RAT , T; P02092, HBB_MICXA , T;
+DR P02093, HBB_ONDZI , T; P02094, HBB_MESAU , T; P02095, HBB_CAVPO , T;
+DR P02096, HBG_HUMAN , T; P02097, HBG_MACNE , T; P02098, HBG_MACMU , T;
+DR P02099, HBG_RABIT , T; P02100, HBE_HUMAN , T; P02101, HBE_PIG , T;
+DR P02102, HBE1_CAPHI, T; P02103, HBE_RABIT , T; P02104, HBE_MOUSE , T;
+DR P02105, HBE2_CAPHI, T; P02106, HBB_MACGI , T; P02107, HBB_MACRU , T;
+DR P02108, HBB_POTTR , T; P02109, HBB_DIDMA , T; P02110, HBB_TACAC , T;
+DR P02111, HBB_ORNAN , T; P02112, HBB_CHICK , T; P02113, HBB_PHACO , T;
+DR P02114, HBB_ANAPL , T; P02115, HBB_ANAPP , T; P02116, HBB_ARAAR , T;
+DR P02117, HBB_ANSAN , T; P02118, HBB_ANSIN , T; P02119, HBB_BRACA , T;
+DR P02120, HBB_ANSSE , T; P02121, HBB_PHORU , T; P02122, HBB_AQUCH , T;
+DR P02123, HBB_STRCA , T; P02124, HBB_RHEAM , T; P02125, HBB_CICCI , T;
+DR P02126, HBB_STUVU , T; P02127, HBRH_CHICK, T; P02128, HBE_CHICK , T;
+DR P02129, HBB_CRONI , T; P02130, HBB_ALLMI , T; P02131, HBB_CAICR , T;
+DR P02132, HBB1_XENLA, T; P02133, HBB2_XENLA, T; P02134, HBB_RANES , T;
+DR P02135, HBBC_RANCA, T; P02136, HBBL_RANCA, T; P02137, HBBL_XENLA, T;
+DR P02138, HBB_LEPPA , T; P02139, HBB_CYPCA , T; P02140, HBB_CARAU , T;
+DR P02141, HBB4_SALIR, T; P02142, HBB1_SALIR, T; P02143, HBB_HETPO , T;
+DR P02144, MYG_HUMAN , T; P02145, MYG_PANTR , T; P02146, MYG_HYLAG , T;
+DR P02147, MYG_GORBE , T; P02148, MYG_PONPY , T; P02149, MYG_PAPAN , T;
+DR P02150, MYG_MACFA , T; P02151, MYG_AOTTR , T; P02152, MYG_CALJA , T;
+DR P02153, MYG_CEBAP , T; P02154, MYG_LAGLA , T; P02155, MYG_SAISC , T;
+DR P02156, MYG_ERIEU , T; P02157, MYG_MELME , T; P02158, MYG_CANFA , T;
+DR P02159, MYG_LYCPI , T; P02160, MYG_VULCH , T; P02161, MYG_ZALCA , T;
+DR P02162, MYG_HALGR , T; P02163, MYG_ROUAE , T; P02164, MYG_ORYAF , T;
+DR P02165, MYG_TUPGL , T; P02166, MYG_PERPO , T; P02167, MYG_NYCCO , T;
+DR P02168, MYG_GALCR , T; P02169, MYG_LEPMU , T; P02170, MYG_RABIT , T;
+DR P02171, MYG_OCHPR , T; P02172, MYG_TURTR , T; P02173, MYG_ORCOR , T;
+DR P02174, MYG_GLOME , T; P02176, MYG_PHOPH , T; P02177, MYG_ESCGI , T;
+DR P02178, MYG_MEGNO , T; P02179, MYG_BALAC , T; P02180, MYG_BALPH , T;
+DR P02181, MYG_INIGE , T; P02182, MYG_ZIPCA , T; P02183, MYG_MESCA , T;
+DR P02184, MYG_KOGSI , T; P02185, MYG_PHYCA , T; P02186, MYG_ELEMA , T;
+DR P02187, MYG_LOXAF , T; P02188, MYG_HORSE , T; P02189, MYG_PIG , T;
+DR P02190, MYG_SHEEP , T; P02191, MYG_CEREL , T; P02192, MYG_BOVIN , T;
+DR P02193, MYG_DIDMA , T; P02194, MYG_MACRU , T; P02195, MYG_TACAC , T;
+DR P02196, MYG_ORNAN , T; P02197, MYG_CHICK , T; P02199, MYG_APTFO , T;
+DR P02200, MYG_ALLMI , T; P02201, MYG_GRAGE , T; P02202, MYG_CHEMY , T;
+DR P02203, MYG_VARVA , T; P02204, MYG_CYPCA , T; P02205, MYG_THUAL , T;
+DR P02206, MYG_HETPO , T; P02207, GLB_LAMFL , T; P02208, GLB5_PETMA, T;
+DR P02209, GLB3_MYXGL, T; P02210, GLB_APLLI , T; P02211, GLB_APLKU , T;
+DR P02212, GLB1_ANABR, T; P02213, GLB1_SCAIN, T; P02214, GLB_BUSCA , T;
+DR P02215, GLB_CERRH , T; P02216, GLB1_GLYDI, T; P02217, GLB2_GLYDI, T;
+DR P02218, GLB2_LUMTE, T; P02219, GLB1_TYLHE, T; P02220, GLB4_TYLHE, T;
+DR P02221, GLB1_CHITH, T; P02222, GLB2_CHITH, T; P02223, GLB9_CHITH, T;
+DR P02224, GLB6_CHITH, T; P02226, GLB7_CHITH, T; P02227, GLB8_CHITH, T;
+DR P02228, GLBX_CHITH, T; P02229, GLB3_CHITH, T; P02230, GLB4_CHITH, T;
+DR P02231, GLBT_CHITH, T; P02232, LGB1_VICFA, T; P02233, LGB1_PEA , T;
+DR P02234, LGBA_PHAVU, T; P02235, LGB1_SOYBN, T; P02236, LGB2_SOYBN, T;
+DR P02237, LGB3_SOYBN, T; P02238, LGBA_SOYBN, T; P02239, LGB1_LUPLU, T;
+DR P02240, LGB2_LUPLU, T; P04236, HBA_PANPO , T; P04237, HBA_TRAST , T;
+DR P04238, HBAD_ANSAN, T; P04239, HBAD_ANSIN, T; P04240, HBAD_BRACA, T;
+DR P04241, HBAD_RHEAM, T; P04242, HBAD_STRCA, T; P04243, HBPI_CAIMO, T;
+DR P04244, HBB_PANPO , T; P04245, HBB_TRAST , T; P04246, HBT_PIG , T;
+DR P04247, MYG_MOUSE , T; P04248, MYG_SPAEH , T; P04249, MYG_PROGU , T;
+DR P04250, MYG_LAGMA , T; P04251, GLBB_ANATR, T; P04252, BAHG_VITST, T;
+DR P04346, HBBA_BOSJA, T; P04396, HBPL_PARAD, T; P04442, HBAD_ANAPL, T;
+DR P04443, HBB0_MOUSE, T; P04444, HBBZ_MOUSE, T; P06148, HBF1_URECA, T;
+DR P06347, HBAZ_PANTR, T; P06467, HBAZ_MOUSE, T; P06635, HBA_PONPY , T;
+DR P06636, HBA3_XENLA, T; P06637, HBA4_XENLA, T; P06638, HBA5_XENLA, T;
+DR P06639, HBA1_PLEWA, T; P06640, HBA2_PLEWA, T; P06641, HBG_GORGO , T;
+DR P06642, HBE2_BOVIN, T; P06643, HBE4_BOVIN, T; P06714, HBAT_HORSE, T;
+DR P06890, HBAT_PONPY, T; P06891, HBG_ATEGE , T; P07034, HBA_CHLME , T;
+DR P07035, HBAD_CHLME, T; P07036, HBB_CHLME , T; P07402, HBA_MACSP , T;
+DR P07403, HBA_SPETO , T; P07404, HBA_VULGR , T; P07405, HBA_FELCA , T;
+DR P07406, HBB_PASMO , T; P07407, HBA_PASMO , T; P07408, HBA_SQUAC , T;
+DR P07409, HBB_SQUAC , T; P07410, HBB_SPETO , T; P07411, HBB_VULGR , T;
+DR P07412, HBB_FELCA , T; P07413, HBAD_PASMO, T; P07414, HBA_TRIIN , T;
+DR P07415, HBB_TRIIN , T; P07416, HBAD_AEGMO, T; P07417, HBA_AEGMO , T;
+DR P07418, HBB_AEGMO , T; P07419, HBA_DASVI , T; P07420, HBB_DASVI , T;
+DR P07421, HBA_CEBCA , T; P07422, HBB_URSMA , T; P07423, HBA_URSMA , T;
+DR P07425, HBA_LAMVI , T; P07426, HBA_LAMPA , T; P07428, HBA_XENTR , T;
+DR P07429, HBB1_XENTR, T; P07430, HBA1_XENBO, T; P07431, HBA2_XENBO, T;
+DR P07432, HBB1_XENBO, T; P07433, HBB2_XENBO, T; P07803, HBPL_TRETO, T;
+DR P08054, HBP1_CASGL, T; P08223, HBE_EULFU , T; P08224, HBG_CHEME , T;
+DR P08225, HBG_EULFU , T; P08256, HBA_GYPRU , T; P08257, HBAD_GYPRU, T;
+DR P08258, HBA_MANSP , T; P08259, HBB_MANSP , T; P08260, HBA_LARRI , T;
+DR P08261, HBB_LARRI , T; P08422, HBA3_XENTR, T; P08423, HBB2_XENTR, T;
+DR P08535, HBB_LEPEU , T; P08849, HBAD_ACCGE, T; P08850, HBA_ACCGE , T;
+DR P08851, HBB_ACCGE , T; P08852, HBA_MARMA , T; P08853, HBB_MARMA , T;
+DR P08924, GLB1_LUMTE, T; P09105, HBAT_HUMAN, T; P09106, HBAT_PAPAN, T;
+DR P09187, LGB1_MEDSA, T; P09420, HBA_SPECI , T; P09421, HBB_SPECI , T;
+DR P09422, HBB_BISBO , T; P09423, HBA_BISBO , T; P09839, HBA_MACCA , T;
+DR P09840, HBB_MACCA , T; P09904, HBA_PHYCA , T; P09905, HBB_PHYCA , T;
+DR P09906, HBA_RHIUN , T; P09907, HBB_RHIUN , T; P09908, HBA_PHOVI , T;
+DR P09909, HBB_PHOVI , T; P09965, GLB_DOLAU , T; P09966, GLB2_TYLHE, T;
+DR P09967, GLB1_PETMA, T; P09968, GLB3_PETMA, T; P10057, HBA_EUDCR , T;
+DR P10058, HBB_EUDCR , T; P10059, HBA_SPHPU , T; P10060, HBB1_SPHPU, T;
+DR P10061, HBB2_SPHPU, T; P10062, HBAD_SPHPU, T; P10777, HBA1_NOTCO, T;
+DR P10778, HBA_ODORO , T; P10779, HBB_ODORO , T; P10780, HBA_PHACA , T;
+DR P10781, HBAD_PHACA, T; P10782, HBB_PHACA , T; P10783, HBA1_TRICR, T;
+DR P10784, HBA2_TRICR, T; P10785, HBB1_TRICR, T; P10786, HBB2_TRICR, T;
+DR P10816, LGB3_SESRO, T; P10883, HBA_PANTS , T; P10884, HBB_PANTS , T;
+DR P10885, HBA_PTEBR , T; P10886, HBB_PTEBR , T; P10892, HBA_LUTLU , T;
+DR P10893, HBB_LUTLU , T; P11025, HBE_DIDMA , T; P11069, GLB3_LUMTE, T;
+DR P11251, HBA_SALSA , T; P11342, HBB_COLLI , T; P11343, MYG_LUTLU , T;
+DR P11517, HBB2_RAT , T; P11582, GLBZ_CHITH, T; P11583, GLBE_CHITH, T;
+DR P11740, GLB1_PHESE, T; P11748, HBA_THUTH , T; P11749, HBB_THUTH , T;
+DR P11750, HBA_SPEPA , T; P11751, HBA_MEGLY , T; P11752, HBB_MEGLY , T;
+DR P11753, HBA_CYNSP , T; P11754, HBB_CYNSP , T; P11755, HBA1_TADBR, T;
+DR P11756, HBB_TADBR , T; P11757, HBA_MYOVE , T; P11758, HBB_MYOVE , T;
+DR P11896, HBA3_PLEWA, T; P12292, GLBD_CHITH, T; P12548, GLBC_CHITH, T;
+DR P12549, GLBF_CHITH, T; P12550, GLBH_CHITH, T; P13273, HBA_CHRPI , T;
+DR P13274, HBB_CHRPI , T; P13557, HBB_TARSY , T; P13558, HBD_TARSY , T;
+DR P13578, GLB3_TYLHE, T; P13579, GLB4_LUMTE, T; P13786, HBAZ_CAPHI, T;
+DR P13787, HBAZ_HORSE, T; P14259, HBA1_GALCR, T; P14260, HBB_CAIMO , T;
+DR P14261, HBE_CAIMO , T; P14387, HBA_ANTPA , T; P14388, HBB_ANTPA , T;
+DR P14389, HBA_PTEAL , T; P14390, HBA_PTEPO , T; P14391, HBB_PTEAL , T;
+DR P14392, HBB_PTEPO , T; P14393, GLB_APLJU , T; P14394, GLB2_ANATR, T;
+DR P14395, GLBA_ANATR, T; P14396, MYG_CASFI , T; P14397, MYG_GALAU , T;
+DR P14398, MYG_GALJA , T; P14399, MYG_MUSAN , T; P14520, HBA_ELEEL , T;
+DR P14521, HBB_ELEEL , T; P14522, HBA_TURME , T; P14523, HBAD_TURME, T;
+DR P14524, HBB_TURME , T; P14525, HBA_BRATR , T; P14526, HBB_BRATR , T;
+DR P14527, HBA4_SALIR, T; P14528, GLB2_CALSO, T; P14805, GLB1_CALSO, T;
+DR P14821, GLBA_SCAIN, T; P14822, GLBB_SCAIN, T; P14848, LGB2_SESRO, T;
+DR P14962, LGB3_MEDSA, T; P15161, GLB1_PARCH, T; P15162, HBA_APUAP , T;
+DR P15163, HBA_LEPWE , T; P15164, HBAD_APUAP, T; P15165, HBB_APUAP , T;
+DR P15166, HBB_LEPWE , T; P15447, GLB4_GLYDI, T; P15448, HBA_MELCA , T;
+DR P15449, HBB_MELCA , T; P15469, GLB3_LAMSP, T; P16175, HBG_HYLLA , T;
+DR P16308, HBA2_NOTCO, T; P16309, HBB_NOTCO , T; P16417, HBA_LIOMI , T;
+DR P16418, HBB_LIOMI , T; P17689, HBA_MARFO , T; P18202, GLB_TUBTU , T;
+DR P18435, HBE_TARSY , T; P18436, HBG_TARSY , T; P18707, HBB_MESBR , T;
+DR P18966, GLBI_CHITP, T; P18968, GLBY_CHITP, T; P18969, HBA_AILFU , T;
+DR P18970, HBA_AILME , T; P18971, HBA_BALAC , T; P18972, HBA_CALAR , T;
+DR P18973, HBA_CROCR , T; P18974, HBA1_IGUIG, T; P18975, HBA_PANLE , T;
+DR P18976, HBA_PANPS , T; P18977, HBA_PROLO , T; P18978, HBA_TURTR , T;
+DR P18979, HBA1_UROHA, T; P18980, HBA2_UROHA, T; P18981, HBA2_VAREX, T;
+DR P18982, HBB_AILFU , T; P18983, HBB_AILME , T; P18984, HBB_BALAC , T;
+DR P18985, HBB_CALAR , T; P18986, HBB_CROCR , T; P18987, HBB1_IGUIG, T;
+DR P18988, HBB2_PANLE, T; P18989, HBB_PROLO , T; P18990, HBB_TURTR , T;
+DR P18991, HBB1_UROHA, T; P18993, HBB1_VAREX, T; P18994, HBE_PONPY , T;
+DR P18995, HBG1_PONPY, T; P18996, HBG2_PONPY, T; P19002, HBA_MACNE , T;
+DR P19014, HBA_CRIGA , T; P19015, HBA_HIPAM , T; P19016, HBB_HIPAM , T;
+DR P19017, HBB_MUSPF , T; P19363, GLB1_ARTSX, T; P19364, GLB7_ARTSX, T;
+DR P19645, HBA_PAGLA , T; P19646, HBB_PAGLA , T; P19759, HBE_GALCR , T;
+DR P19760, HBG_GALCR , T; P19789, HBA_EUDSC , T; P19831, HBA_PSIKR , T;
+DR P19832, HBA_TRIOC , T; P19885, HBB_COLPO , T; P19886, HBD_COLPO , T;
+DR P20018, HBA1_LEMVA, T; P20019, HBA2_LEMVA, T; P20243, HBA_MUSPF , T;
+DR P20244, HBA1_TORMA, T; P20245, HBA2_TORMA, T; P20246, HBB1_TORMA, T;
+DR P20247, HBB2_TORMA, T; P20412, GLB1_LAMSP, T; P20854, HBA_CTEGU , T;
+DR P20855, HBB_CTEGU , T; P20856, MYG_CTEGU , T; P21197, GLB1_MORMR, T;
+DR P21198, GLB2_MORMR, T; P21199, GLB3_MORMR, T; P21200, HBA_VULVV , T;
+DR P21201, HBB_VULVV , T; P21379, HBA_RANTA , T; P21380, HBB_RANTA , T;
+DR P21659, GLP2_GLYDI, T; P21660, GLP3_GLYDI, T; P21667, HBB_LEMVA , T;
+DR P21668, HBB_PSIKR , T; P21766, HBA_MACAS , T; P21767, HBA_MACFA , T;
+DR P21768, HBA_MACSI , T; P21871, HBA_COLLI , T; P22431, GLB3_CHITP, T;
+DR P22740, HBA_ANAPE , T; P22741, HBA_FRAPO , T; P22742, HBB_FRAPO , T;
+DR P22743, HBB2_NAJNA, T; P23016, HBA_CYGMA , T; P23017, HBB1_CYGMA, T;
+DR P23018, HBB2_CYGMA, T; P23019, HBA_PROCR , T; P23020, HBB_PROCR , T;
+DR P23216, GLP1_GLYDI, T; P23244, HBP2_CASGL, T; P23600, HBA_MUSLU , T;
+DR P23601, HBA_MUSPU , T; P23602, HBB_MUSLU , T; P23740, HBA_LATCH , T;
+DR P23741, HBB_LATCH , T; P24232, HMPA_ECOLI, T; P24291, HBA_ECHTE , T;
+DR P24292, HBB_ECHTE , T; P24589, HBA_COTJA , T; P24659, HBA_MACGG , T;
+DR P24660, HBB_MACGG , T; P25165, GLBM_ANATR, T; P26914, GLB_PSEDC , T;
+DR P26915, HBA_NASNA , T; P26916, HBB_NASNA , T; P27199, LGB_PSOTE , T;
+DR P27613, GLBH_TRICO, T; P27992, LGB1_MEDTR, T; P27993, LGB2_MEDTR, T;
+DR P28010, LGB4_MEDSA, T; P28316, GLB_ASCSU , T; P28780, HBA_TAPGE , T;
+DR P28781, HBB_TAPGE , T; P29242, GLBH_CHITP, T; P29243, GLBV_CHITP, T;
+DR P29244, GLBW_CHITP, T; P29245, GLBZ_CHITP, T; P29287, GLB_BURLE , T;
+DR P29623, HBA_GYMAC , T; P29624, HBA1_NOTAN, T; P29625, HBB_GYMAC , T;
+DR P29626, HBBY_MESAU, T; P29627, HBAZ_MESAU, T; P29628, HBB_NOTAN , T;
+DR P30562, MYG_PHOSI , T; P30627, GLBH_CAEEL, T; P30892, HBAD_COTJA, T;
+DR P30893, HBB_COTJA , T; P31331, GLB_NASMU , T; P32428, MYG_ONDZI , T;
+DR P33499, HBD_ATEFU , T; P39662, HMPA_ALCEU, T; P39676, FHP_YEAST , T;
+DR P40609, HMPA_VIBPA, T; P41260, GLB1_LUCPE, T; P41261, GLB2_LUCPE, T;
+DR P41262, GLB3_LUCPE, T; P41327, HBA_LYNLY , T; P41328, HBB_LYNLY , T;
+DR P41329, HBA1_ARCGA, T; P41330, HBA2_ARCGA, T; P41331, HBA_MICGA , T;
+DR P41332, HBB_MICGA , T; P42511, HBP_CANLI , T; P80017, GLBD_CAUAR, T;
+DR P80018, GLBC_CAUAR, T; P80043, HBA_PAGBE , T; P80044, HBB_PAGBE , T;
+DR P80216, HBB_APTFO , T; P80270, HBA_CHEKU , T; P80271, HBB_CHEKU , T;
+DR Q03331, FHP_CANNO , T; P45718, HBA1_TRENE, T; P45719, HBA2_TRENE, T;
+DR P45722, HBBC_PAGBE, T; P45720, HBB_TRENE , T; P45721, HBBC_TRENE, T;
+DR P43350, HBE_AOTAZ , T;
+DR P26353, HMPA_SALTY, P; P18992, HBB2_UROHA, P; P20413, GLB4_LAMSP, P;
+3D 1BAB; 1BBB; 2CMM; 1CMY; 1COH; 2DHB; 1DXT; 1DXU; 1DXV; 1ECA; 1ECD; 1ECN;
+3D 1ECO; 2FAL; 2FAM; 1FCS; 1FDH; 1HBA; 1HBB; 1HBS; 1HBG; 2HBG; 1HCO; 2HCO;
+3D 1HDS; 1HGA; 1HGB; 1HGC; 2HHB; 3HHB; 4HHB; 1HHO; 1ITH; 1LH1; 2LH1; 1LH2;
+3D 2LH2; 1LH3; 2LH3; 1LH4; 2LH4; 1LH5; 2LH5; 1LH6; 2LH6; 1LH7; 2LH7; 2LHB;
+3D 2MB5; 1MBA; 3MBA; 4MBA; 5MBA; 1MBC; 1MBD; 1MBI; 1MBN; 4MBN; 5MBN; 1MBO;
+3D 1MBS; 1MBW; 2MGA; 2MGB; 2MGC; 2MGD; 2MGE; 2MGF; 2MGG; 2MGH; 2MGI; 2MGJ;
+3D 2MGK; 2MGL; 2MGM; 1MGN; 2MHB; 2MM1; 2MYA; 2MYB; 2MYC; 2MYD; 2MYE; 1MYG;
+3D 1MYH; 1MYI; 1MYJ; 1MYM; 1MYT; 1NIH; 1PBX; 1PMB; 3SDH; 4SDH; 2SPL; 2SPM;
+3D 2SPN; 2SPO; 1SWM; 1THB; 1YCA; 1YCB; 1YMA; 1YMB; 1YMC;
+DO PDOC00793;
+//
+ID HSP20; MATRIX.
+AC PS01031;
+DT JUN-1994 (CREATED); JUN-1994 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Heat shock hsp20 proteins family profile.
+MA /GENERAL_SPEC: ALPHABET='ACDEFGHIKLMNPQRSTVWY'; LENGTH=97;
+MA /DISJOINT: DEFINITION=PROTECT; N1=2; N2=96;
+MA /NORMALIZATION: MODE=1; FUNCTION=GLE_ZSCORE;
+MA R1=239.0; R2=-0.0036; R3=0.8341; R4=1.016; R5=0.169;
+MA /CUT_OFF: LEVEL=0; SCORE=400; N_SCORE=10.0; MODE=1;
+MA /DEFAULT: MI=-210; MD=-210; IM=0; DM=0; I=-20; D=-20;
+MA /M: SY='R'; M=-12,-44,-11,-13,-13,-22,-2,-7,18,-12,5,-3,-11,0,21,-6,-5,-11,-16,-34;
+MA /M: SY='D'; M=1,-41,17,16,-41,-3,3,-11,-1,-22,-12,8,-7,12,-7,0,-2,-19,-53,-36;
+MA /M: SY='D'; M=2,-37,15,13,-36,2,5,-15,-3,-26,-17,10,-6,7,-10,3,2,-17,-53,-28;
+MA /M: SY='P'; M=1,-41,6,8,-38,-4,2,-20,9,-30,-14,6,13,9,8,3,0,-22,-48,-45;
+MA /M: SY='D'; M=2,-43,23,20,-42,2,9,-18,2,-30,-18,14,-5,14,-6,2,0,-21,-57,-35;
+MA /M: SY='D'; M=4,-34,9,8,-34,6,0,-17,5,-29,-14,8,-1,5,1,5,2,-17,-47,-38;
+MA /M: SY='F'; M=-28,-32,-38,-38,50,-42,-1,2,-11,6,-6,-21,-35,-27,-27,-24,-23,-14,-3,47;
+MA /M: SY='Q'; M=0,-33,-2,-7,-26,-9,-4,1,1,-10,1,-1,-5,2,0,-2,1,0,-44,-37;
+MA /M: SY='L'; M=-13,-36,-34,-37,23,-31,-21,28,-15,29,24,-24,-25,-24,-27,-20,-10,22,-33,0;
+MA /M: SY='K'; M=-8,-32,-5,-5,-19,-16,3,-11,13,-19,-2,1,-9,2,12,-3,-3,-15,-32,-28;
+MA /M: SY='L'; M=-10,-39,-30,-32,15,-26,-20,20,-16,27,20,-21,-20,-21,-27,-17,-9,16,-32,-5;
+MA /M: SY='D'; M=3,-48,33,27,-51,4,6,-19,0,-35,-22,18,-10,13,-13,2,0,-16,-65,-41;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='V'; D=-5; M=-3,-33,-23,-32,-5,-19,-21,28,-16,26,30,-17,-14,-15,-19,-12,-1,30,-48,-28;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='P'; D=-5; M=1,-2,-1,0,-3,0,0,-1,-1,-2,-2,0,4,0,0,1,0,-1,-4,-4;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='P'; D=-5; M=5,-32,-2,-1,-33,-2,-2,-19,3,-27,-15,2,28,3,4,7,3,-15,-48,-44;
+MA /M: SY='G'; M=3,-35,6,3,-38,18,7,-20,-10,-29,-21,6,-4,4,-11,3,-4,-13,-56,-36;
+MA /M: SY='F'; M=-22,-45,-40,-39,43,-38,-18,17,-9,28,18,-26,-31,-28,-30,-25,-18,6,-17,19;
+MA /M: SY='K'; M=3,-28,2,0,-19,2,-7,-14,14,-27,-7,6,0,-1,8,7,7,-13,-39,-37;
+MA /M: SY='P'; M=2,-36,-3,-2,-26,-7,-2,-17,12,-26,-10,3,21,4,11,5,3,-16,-44,-44;
+MA /M: SY='E'; M=2,-48,25,26,-45,4,4,-19,1,-31,-18,12,-6,16,-8,1,-2,-30,-62,-41;
+MA /M: SY='D'; M=3,-49,34,33,-52,4,6,-22,2,-37,-22,17,-8,18,-10,2,-1,-29,-65,-42;
+MA /M: SY='L'; M=-8,-36,-29,-34,5,-28,-22,34,-25,36,27,-22,-19,-19,-26,-18,-6,32,-40,-18;
+MA /M: SY='K'; M=-5,-43,5,1,-17,-10,0,-15,27,-27,-3,9,-7,5,19,2,4,-17,-37,-39;
+MA /M: SY='V'; M=0,-20,-22,-38,-7,-17,-22,39,-23,21,19,-17,-14,-19,-24,-11,2,41,-56,-29;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='E'; D=-5; M=1,-18,10,11,-21,0,4,-8,0,-13,-8,5,0,10,-1,1,0,-13,-24,-17;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='Y'; D=-5; M=-3,0,-3,-3,5,-4,0,-1,-3,-1,-2,-2,-4,-3,-3,-2,-2,-3,0,7;
+MA /I: MI=-55; MD=-55; I=-5;
+MA /M: SY='K'; D=-5; M=-4,-34,-2,-7,-9,-12,-2,1,9,-8,5,1,-9,1,4,-4,0,-1,-39,-28;
+MA /M: SY='I'; M=-1,-36,-4,-7,-22,-12,-9,12,-13,3,5,-6,-10,-1,-16,-7,0,6,-52,-30;
+MA /M: SY='D'; M=-1,-46,17,16,-36,-5,2,-10,-1,-19,-10,8,-9,11,-9,-2,-2,-15,-56,-35;
+MA /M: SY='D'; M=3,-47,25,23,-48,10,1,-23,2,-37,-22,14,-8,11,-8,3,-2,-25,-61,-44;
+MA /M: SY='D'; M=0,-39,17,13,-43,1,9,-21,11,-33,-17,14,-6,9,7,4,0,-19,-38,-35;
+MA /M: SY='I'; M=-4,-24,-18,-26,-7,-17,-13,15,-12,5,7,-13,-13,-14,-17,-8,-2,14,-43,-18;
+MA /M: SY='L'; M=-10,-41,-31,-34,7,-30,-22,32,-26,41,29,-23,-20,-19,-27,-20,-8,30,-36,-17;
+MA /M: SY='M'; M=-4,-41,-6,-8,-20,-16,-7,7,-8,5,8,-6,-10,1,-11,-8,-2,2,-45,-30;
+MA /M: SY='I'; M=-2,-21,-23,-30,0,-21,-23,41,-21,22,20,-18,-16,-20,-22,-12,2,40,-54,-21;
+MA /M: SY='H'; M=-1,-24,6,6,-31,-5,10,-17,6,-27,-14,8,0,9,7,4,2,-20,-35,-28;
+MA /M: SY='G'; M=14,-29,5,2,-45,40,-19,-22,-15,-37,-25,3,-2,-10,-23,11,3,-11,-65,-48;
+MA /M: SY='E'; M=-2,-51,20,22,-34,-4,4,-17,13,-30,-12,11,-8,17,3,-1,-2,-30,-57,-42;
+MA /M: SY='H'; M=-11,-34,-2,-1,-28,-20,31,-16,12,-21,-10,6,-3,17,28,-5,-8,-17,-15,-23;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='R'; D=-4; M=0,-12,-1,-1,-9,-3,1,-6,5,-9,-3,2,5,2,6,1,0,-6,-12,-13;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='T'; D=-4; M=1,-7,-2,-4,-5,0,-4,0,-2,-2,0,-1,-1,-3,-3,0,1,1,-11,-9;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='T'; D=-4; M=2,-7,2,1,-8,0,-2,0,-1,-4,-2,1,0,0,-3,1,2,-2,-13,-8;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='Q'; D=-4; M=-2,-12,-1,0,-6,-5,2,-2,0,-1,0,0,-2,2,1,-2,-2,-2,-8,-7;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='E'; D=-4; M=3,-27,15,15,-30,3,3,-12,0,-20,-12,8,0,9,-6,3,1,-18,-39,-24;
+MA /I: MI=-44; MD=-44; I=-4;
+MA /M: SY='E'; D=-4; M=2,-45,24,26,-42,0,7,-18,4,-30,-16,12,-5,18,-4,2,0,-31,-58,-38;
+MA /M: SY='R'; M=-8,-42,-3,-2,-30,-14,6,-18,26,-27,-4,4,-5,9,33,-1,-3,-22,-16,-41;
+MA /M: SY='E'; M=1,-47,22,26,-45,-1,10,-19,4,-29,-16,11,-3,23,-1,1,-2,-29,-57,-41;
+MA /M: SY='D'; M=3,-45,23,20,-41,3,1,-17,5,-31,-15,13,-7,10,-6,3,2,-19,-59,-40;
+MA /M: SY='D'; M=3,-49,26,26,-47,6,2,-20,-1,-32,-19,13,-8,14,-12,1,-2,-27,-64,-42;
+MA /M: SY='H'; M=-5,-39,8,8,-26,-6,22,-21,8,-27,-15,11,-4,14,10,-1,-5,-22,-38,-27;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='K'; D=-4; M=-1,-9,2,2,-3,-2,0,-3,5,-5,-1,2,-2,2,3,0,0,-5,-8,-7;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='G'; D=-4; M=1,-5,2,1,-7,5,-1,-4,-1,-6,-4,2,-1,-1,-2,2,0,-2,-9,-6;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='D'; D=-4; M=2,-12,6,4,-14,4,-1,-5,-2,-9,-6,3,-2,1,-5,1,0,-3,-19,-13;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='K'; D=-4; M=-2,-16,3,3,-6,-4,2,-6,9,-10,-2,4,-2,4,5,0,1,-8,-16,-13;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='W'; D=-4; M=-12,-17,-16,-19,2,-16,-7,-7,-13,-5,-9,-10,-16,-14,-5,-7,-11,-10,16,2;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='H'; D=-4; M=-10,-17,-9,-9,-2,-15,6,-8,-4,-3,-5,-4,-9,-2,2,-6,-8,-9,0,-4;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='W'; D=-4; M=-11,-21,-12,-14,-13,-16,0,-9,5,-10,-4,-5,-8,-3,19,-4,-8,-11,19,-16;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='M'; D=-4; M=0,-16,-6,-9,-8,-4,-8,4,0,-1,7,-3,-4,-5,-3,-1,2,5,-25,-19;
+MA /I: MI=-38; MD=-38; I=-4;
+MA /M: SY='E'; D=-4; M=6,-41,19,19,-48,19,-4,-21,-6,-35,-22,8,-5,8,-13,5,-2,-28,-62,-44;
+MA /M: SY='R'; M=-18,-26,-19,-19,-1,-29,6,-13,7,-19,-8,-6,-17,-6,15,-10,-12,-23,-1,3;
+MA /M: SY='T'; M=2,-11,-10,-11,-22,-8,-10,3,-6,-11,-3,-4,-1,-8,-4,2,5,3,-35,-25;
+MA /M: SY='T'; M=0,-13,-7,-10,-16,-6,-7,-6,-2,-17,-6,0,-4,-7,-2,4,4,-8,-25,-17;
+MA /M: SY='R'; M=-2,-30,-5,-6,-39,6,-2,-21,8,-33,-15,1,-4,-1,16,4,-4,-19,-21,-39;
+MA /M: SY='K'; M=-5,-24,3,1,-24,-11,5,-17,10,-30,-12,5,-7,5,9,1,-2,-22,-42,-31;
+MA /M: SY='F'; M=-34,-38,-53,-51,83,-48,-16,8,-5,17,1,-33,-45,-44,-43,-31,-29,-13,2,69;
+MA /M: SY='M'; M=-6,-30,-7,-10,-18,-15,0,-3,-4,-7,2,-2,-11,-3,-4,-4,-3,-3,-35,-22;
+MA /M: SY='R'; M=-11,-35,-11,-10,-40,-20,10,-17,28,-27,-3,0,-2,9,47,-1,-5,-20,7,-40;
+MA /M: SY='R'; M=-10,-41,-8,-9,-25,-20,5,-10,25,-18,5,0,-6,8,33,-4,-4,-13,-15,-40;
+MA /M: SY='F'; M=-26,-26,-42,-41,55,-43,-14,13,-22,17,3,-26,-38,-34,-36,-26,-20,-4,-14,50;
+MA /M: SY='R'; M=-4,-34,-8,-11,-23,-15,-2,-1,8,-11,2,-2,-5,1,12,-2,1,-3,-29,-34;
+MA /M: SY='L'; M=-18,-57,-39,-34,16,-39,-21,25,-28,56,36,-28,-24,-18,-29,-27,-16,21,-21,-10;
+MA /M: SY='P'; M=11,-28,-9,-6,-45,-3,-3,-19,-11,-25,-21,-4,54,1,-3,9,4,-11,-56,-48;
+MA /M: SY='E'; M=4,-43,22,22,-45,2,3,-19,2,-32,-19,12,2,14,-5,4,0,-25,-59,-42;
+MA /M: SY='D'; M=2,-33,15,10,-33,9,5,-19,-1,-31,-21,13,-8,1,-10,5,1,-19,-48,-22;
+MA /M: SY='V'; M=-2,-8,-21,-26,-10,-15,-17,8,-25,-2,-3,-15,-8,-19,-24,-6,-3,9,-49,-13;
+MA /M: SY='D'; M=0,-47,25,21,-38,2,5,-22,6,-35,-20,15,-10,11,-6,2,-2,-24,-58,-35;
+MA /M: SY='M'; M=1,-36,-8,-11,-20,-11,-8,3,-3,-4,4,-4,3,-2,-5,-3,2,4,-50,-36;
+MA /M: SY='D'; M=4,-38,19,18,-42,3,0,-14,-3,-26,-16,11,-4,8,-11,4,2,-17,-55,-35;
+MA /M: SY='Q'; M=3,-37,8,8,-32,-1,0,-13,5,-22,-9,6,0,9,2,3,2,-13,-47,-38;
+MA /M: SY='V'; M=-1,-26,-18,-29,-8,-16,-20,31,-21,17,16,-15,-15,-16,-23,-11,0,33,-54,-27;
+MA /M: SY='K'; M=-1,-31,-1,-4,-16,-7,-3,-8,13,-19,-2,5,-3,0,9,3,6,-8,-35,-32;
+MA /M: SY='S'; M=7,7,-8,-9,-31,1,-16,-7,-15,-26,-16,-4,1,-13,-14,8,5,-3,-51,-25;
+MA /M: SY='T'; M=6,-22,3,0,-30,2,-7,-8,1,-22,-9,4,1,-1,-2,7,7,-8,-42,-33;
+MA /M: SY='L'; M=-13,-36,-29,-26,3,-30,-19,15,-20,29,26,-21,-21,-17,-22,-17,-11,10,-34,-11;
+MA /I: MI=-59; MD=-59; I=-6;
+MA /M: SY='D'; D=-6; M=0,-4,3,2,-4,0,1,-2,0,-3,-2,2,-1,1,-1,0,0,-2,-5,-3;
+MA /I: MI=-59; MD=-59; I=-6;
+MA /M: SY='S'; D=-6; M=2,-3,-3,-4,-9,-1,-5,-5,-4,-11,-6,1,-1,-6,-5,4,4,-6,-14,-6;
+MA /M: SY='E'; M=3,-37,13,14,-37,0,3,-17,6,-28,-13,9,2,11,2,4,2,-19,-49,-39;
+MA /M: SY='D'; M=2,-46,31,26,-46,4,10,-21,6,-35,-21,19,-8,14,-6,4,0,-23,-58,-35;
+MA /M: SY='G'; M=13,-34,6,2,-48,48,-21,-26,-17,-41,-28,3,-5,-12,-26,11,0,-14,-70,-52;
+MA /M: SY='V'; M=0,-25,-20,-36,-9,-16,-20,31,-16,17,21,-15,-13,-16,-19,-10,2,34,-54,-33;
+MA /M: SY='L'; M=-19,-59,-40,-34,18,-41,-21,24,-29,58,37,-29,-25,-18,-30,-28,-17,19,-19,-9;
+MA /M: SY='T'; M=4,-25,-6,-8,-18,-8,-10,0,-1,-12,-2,0,-4,-8,-8,5,14,-1,-43,-20;
+MA /M: SY='I'; M=-7,-31,-29,-37,8,-25,-22,34,-22,29,22,-21,-19,-21,-27,-17,-5,32,-43,-15;
+MA /M: SY='T'; M=7,-20,4,2,-33,0,-8,-8,1,-24,-12,5,0,-2,-6,10,14,-10,-49,-30;
+MA /M: SY='V'; M=5,-20,-14,-24,-18,-3,-21,20,-21,4,6,-11,-8,-16,-23,-4,3,24,-58,-32;
+MA /M: SY='P'; M=9,-30,-6,-2,-45,-5,2,-20,-9,-25,-20,-2,50,5,-1,8,2,-14,-55,-46;
+MA /M: SY='K'; M=-11,-52,1,-1,-1,-17,2,-18,43,-28,3,9,-10,8,33,-2,-1,-23,-33,-43;
+MA /I: MI=*; MD=*; I=0;
+NR /RELEASE=32,49340;
+NR /TOTAL=130(129); /POSITIVE=130(129); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=1;
+CC /TAXO-RANGE=??EP?; /MAX-REPEAT=2;
+DR P30223, 14KD_MYCTU, T; P46729, 18K1_MYCAV, T; P46730, 18K1_MYCIT, T;
+DR P46731, 18K2_MYCAV, T; P46732, 18K2_MYCIT, T; P12809, 18KD_MYCLE, T;
+DR P02497, CRA2_MESAU, T; P24622, CRA2_MOUSE, T; P24623, CRA2_RAT , T;
+DR P15990, CRA2_SPAEH, T; P06904, CRAA_ALLMI, T; P02482, CRAA_ARTJA, T;
+DR P02474, CRAA_BALAC, T; P02470, CRAA_BOVIN, T; P02487, CRAA_BRAVA, T;
+DR P02472, CRAA_CAMDR, T; P02473, CRAA_CANFA, T; P02491, CRAA_CAVPO, T;
+DR P02479, CRAA_CERSI, T; P02504, CRAA_CHICK, T; P02486, CRAA_CHOHO, T;
+DR P02503, CRAA_DIDMA, T; P02494, CRAA_EULFU, T; P02471, CRAA_GIRCA, T;
+DR P02478, CRAA_HORSE, T; P02489, CRAA_HUMAN, T; P02498, CRAA_LOXAF, T;
+DR P02488, CRAA_MACMU, T; P02502, CRAA_MACRU, T; P02484, CRAA_MANJA, T;
+DR P02483, CRAA_MUSVI, T; P02492, CRAA_OCHPR, T; P02501, CRAA_ORYAF, T;
+DR P02495, CRAA_PERPO, T; P02477, CRAA_PHOPH, T; P02475, CRAA_PIG , T;
+DR P02499, CRAA_PROCA, T; P02493, CRAA_RABIT, T; P02507, CRAA_RANES, T;
+DR P02508, CRAA_RANTE, T; P02490, CRAA_RAT , T; P02505, CRAA_RHEAM, T;
+DR P02509, CRAA_SQUAC, T; P02485, CRAA_TAMME, T; P02476, CRAA_TAPIN, T;
+DR P02500, CRAA_TRIIN, T; P02506, CRAA_TUPTE, T; P02480, CRAA_URSUR, T;
+DR P02481, CRAA_ZALCA, T; Q05557, CRAB_ANAPL, T; P02510, CRAB_BOVIN, T;
+DR Q05713, CRAB_CHICK, T; P02511, CRAB_HUMAN, T; P05811, CRAB_MESAU, T;
+DR P23927, CRAB_MOUSE, T; P41316, CRAB_RABIT, T; P23928, CRAB_RAT , T;
+DR P02512, CRAB_SQUAC, T; P19036, HS11_ARATH, T; P34696, HS11_CAEEL, T;
+DR Q05832, HS11_CHERU, T; P27396, HS11_DAUCA, T; P30693, HS11_HELAN, T;
+DR P30221, HS11_LYCES, T; P27879, HS11_MEDSA, T; P27777, HS11_ORYSA, T;
+DR P19243, HS11_PEA , T; P02519, HS11_SOYBN, T; P12810, HS11_WHEAT, T;
+DR P13853, HS12_ARATH, T; P06582, HS12_CAEEL, T; P27397, HS12_DAUCA, T;
+DR P27880, HS12_MEDSA, T; P31673, HS12_ORYSA, T; P02520, HS12_SOYBN, T;
+DR P19037, HS13_ARATH, T; P04793, HS13_SOYBN, T; P04794, HS14_SOYBN, T;
+DR P04795, HS15_SOYBN, T; P06581, HS16_CAEEL, T; P05478, HS16_SOYBN, T;
+DR P02513, HS17_CAEEL, T; Q03928, HS18_CLOAB, T; Q07160, HS20_NIPBR, T;
+DR P29830, HS21_ARATH, T; P46516, HS21_HELAN, T; P24631, HS21_MAIZE, T;
+DR P19242, HS21_PEA , T; Q01544, HS21_PHANI, T; P05477, HS21_SOYBN, T;
+DR P02515, HS22_DROME, T; P24632, HS22_MAIZE, T; Q01545, HS22_PHANI, T;
+DR P02516, HS23_DROME, T; Q08275, HS23_MAIZE, T; Q00649, HS25_CHICK, T;
+DR P02517, HS26_DROME, T; P15992, HS26_YEAST, T; P42929, HS27_CANFA, T;
+DR P15991, HS27_CRILO, T; P02518, HS27_DROME, T; P04792, HS27_HUMAN, T;
+DR P14602, HS27_MOUSE, T; P42930, HS27_RAT , T; P31170, HS2C_ARATH, T;
+DR P11890, HS2C_CHERU, T; P12811, HS2C_CHLRE, T; P09886, HS2C_PEA , T;
+DR P30222, HS2C_PETHY, T; P09887, HS2C_SOYBN, T; Q00445, HS2C_WHEAT, T;
+DR P46254, HS2M_PEA , T; P40920, HS30_EMENI, T; P19752, HS30_NEUCR, T;
+DR P42931, HS30_ONCTS, T; P04120, HS3A_XENLA, T; P30218, HS3C_XENLA, T;
+DR P30219, HS3D_XENLA, T; P19244, HS41_PEA , T; P30236, HS41_SOYBN, T;
+DR P05812, HS6A_DROME, T; P22979, HS6C_DROME, T; P29209, IBPA_ECOLI, T;
+DR P29210, IBPB_ECOLI, T; P29778, OV21_ONCVO, T; P29779, OV22_ONCVO, T;
+DR P12812, P40_SCHMA , T; Q06823, SP21_STIAU, T; P34328, YKZ1_CAEEL, T;
+DR P30220, HS3E_XENLA, P;
+DO PDOC00791;
+//
+ID RAS_GTPASE_ACTIV_2; MATRIX.
+AC PS50018;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Ras GTPase-activating proteins profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=195;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=190;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=1.4110; R2=0.0141; TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=0; N_SCORE=6.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-100; E1=-100; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='D'; M=-16,31,-30,43,20,-40,-14,4,-32,4,-26,-18,12,-10,23,-2,0,-10,-30,-32,-16,22;
+MA /M: SY='W'; M=-14,-23,-34,-24,-16,-7,-24,-20,-9,4,-13,-7,-20,-22,-9,6,-22,-16,-8,37,5,-12;
+MA /M: SY='D'; M=-12,27,-23,35,13,-28,-15,-7,-28,-3,-22,-22,10,-9,-2,-9,7,12,-19,-35,-16,6;
+MA /M: SY='E'; M=-6,-3,-24,0,15,-8,-21,-8,-13,-7,0,-6,-8,-14,3,-9,-8,-9,-14,-22,-8,10;
+MA /M: SY='L'; M=-9,-21,-19,-23,-18,8,-28,-13,10,-21,23,8,-21,-25,-17,-16,-15,5,7,-13,12,-18;
+MA /M: SY='A'; M=38,-11,-11,-19,-10,-16,-4,-19,-7,-13,-4,-7,-10,-13,-10,-19,8,1,0,-22,-17,-10;
+MA /M: SY='R'; M=-3,-10,-24,-13,-8,-13,-10,-7,-13,-1,-14,-7,-4,-17,0,9,1,0,-10,-17,-2,-6;
+MA /M: SY='V'; M=-4,-13,-22,-18,-19,-13,-5,-20,6,-18,-8,-3,-6,-12,-17,-19,-3,-5,7,-28,-15,-20;
+MA /M: SY='L'; M=-13,-29,-21,-31,-22,25,-30,-15,14,-28,37,14,-27,-30,-23,-19,-27,-10,6,-9,15,-22;
+MA /M: SY='V'; M=2,-28,-15,-30,-25,1,-27,-26,24,-23,21,12,-27,-27,-24,-21,-15,-4,30,-25,-7,-25;
+MA /M: SY='R'; M=-9,9,-21,5,0,-20,-13,-5,-23,9,-22,-15,14,-15,1,18,8,10,-17,-30,-14,-1;
+MA /M: SY='L'; M=2,-18,-20,-25,-19,-2,-23,-20,17,-22,20,9,-14,-23,-17,-20,-14,-6,11,-23,-7,-19;
+MA /M: SY='F'; M=-17,-26,-21,-34,-22,53,-28,-15,1,-24,11,7,-19,-27,-23,-16,-19,-10,-2,1,20,-19;
+MA /M: SY='D'; M=-15,6,-27,12,7,-18,-20,-3,-19,1,-8,-10,-1,-16,4,7,-8,-6,-17,-24,-5,4;
+MA /M: SY='H'; M=-5,2,-21,2,11,-21,-14,18,-24,-1,-22,-13,6,-11,6,-2,12,6,-18,-32,-7,7;
+MA /M: SY='R'; M=-15,-3,-28,-1,16,-20,-21,12,-24,10,-13,-9,-1,-14,9,24,-7,-7,-21,-25,-8,10;
+MA /M: SY='H'; M=-12,11,-25,6,3,-16,-13,35,-23,1,-23,-11,21,-18,5,1,0,-7,-25,-27,4,2;
+MA /M: SY='L'; M=-2,-21,-21,-23,-13,-3,-23,-16,4,-11,23,8,-20,-24,-11,-2,-19,-8,1,-20,-6,-13;
+MA /M: SY='L'; M=-3,-19,-20,-21,-10,-2,-25,-19,11,-21,22,8,-18,-20,-12,-18,-12,-2,6,-23,-6,-12;
+MA /M: SY='Y'; M=-7,-13,-23,-12,-5,-3,-21,11,-6,-8,0,-1,-11,-21,-5,-8,-9,-7,-6,-15,14,-7;
+MA /M: SY='Q'; M=-9,-10,-28,-9,7,-21,-22,-9,-7,-3,-8,-4,-8,1,11,-1,-5,-7,-13,-25,-13,7;
+MA /M: SY='L'; M=-12,-31,-23,-33,-24,19,-30,-22,16,-28,32,13,-29,-29,-24,-21,-27,-11,10,-1,6,-23;
+MA /M: SY='L'; M=-11,-30,-20,-34,-26,27,-31,-23,20,-28,28,13,-26,-29,-27,-21,-22,-8,16,-13,7,-26;
+MA /M: SY='W'; M=-7,-13,-2,-17,-11,-16,-20,-9,-22,-3,-19,-12,-12,-21,-4,-7,-9,-5,-17,9,-3,-7;
+MA /M: SY='N'; M=1,7,-18,1,0,-18,-13,-7,-10,-5,-13,-5,8,-14,0,-8,5,7,-8,-30,-14,0;
+MA /M: SY='L'; M=-2,-26,-17,-29,-21,3,-25,-17,19,-22,30,24,-26,-26,-16,-18,-20,-7,16,-22,-4,-19;
+MA /M: SY='L'; M=-3,-20,-21,-28,-21,15,-25,-19,14,-24,17,7,-13,-24,-21,-20,-15,-7,7,-16,1,-21;
+MA /M: SY='D'; M=-8,16,-23,21,8,-28,-12,-5,-24,5,-23,-12,7,-11,7,-1,7,2,-18,-32,-15,7;
+MA /M: SY='K'; M=-11,1,-26,-1,9,-23,-19,1,-23,20,-18,-8,3,-13,10,17,-5,-4,-19,-24,-9,9;
+MA /M: SY='E'; M=-11,13,-30,24,57,-31,-19,0,-31,9,-21,-21,2,-1,18,-1,0,-10,-30,-31,-20,38;
+MA /M: SY='I'; M=-8,-30,-21,-35,-28,9,-34,-27,34,-27,21,15,-25,-26,-25,-24,-19,-7,30,-20,0,-28;
+MA /M: SY='E'; M=-1,4,-25,8,30,-27,-15,-6,-26,15,-24,-17,1,-5,11,4,5,-4,-21,-28,-17,21;
+MA /M: SY='K'; M=-4,-7,-23,-7,-3,-15,-17,-3,-12,4,-4,2,-6,-17,-1,4,-7,-7,-9,-24,-7,-3;
+MA /M: SY='A'; M=11,-9,-18,-13,-3,-14,-16,-17,-5,-6,-3,-5,-8,-13,-6,-11,2,6,-2,-24,-12,-5;
+MA /M: SY='D'; M=-5,21,-21,29,7,-29,-11,-7,-23,-5,-22,-19,8,-12,0,-10,8,1,-14,-35,-17,3;
+MA /M: SY='D'; M=-10,19,-25,26,12,-29,-3,-3,-31,2,-27,-22,14,-12,2,4,8,-4,-24,-34,-19,6;
+MA /M: SY='A'; M=4,-8,-20,-10,-6,-18,-15,-11,-5,-8,-9,4,-10,1,-1,-12,0,0,-4,-27,-14,-4;
+MA /I: I=-4; MI=0; IM=0; DM=-25; MD=-25;
+MA /M: SY='Q'; M=-9,8,-22,3,3,-22,-17,6,-16,-3,-13,-6,9,-14,16,-2,3,6,-18,-28,-9,9;
+MA /M: SY='T'; M=1,6,-16,6,3,-18,-14,-13,-16,-8,-13,-14,2,-11,-4,-10,14,20,-9,-32,-14,0;
+MA /M: SY='L'; M=-10,-29,-24,-34,-24,5,-33,-23,32,-28,35,23,-25,-25,-18,-23,-25,-10,18,-20,0,-23;
+MA /M: SY='F'; M=-15,-30,-19,-36,-27,53,-30,-21,8,-29,20,6,-24,-30,-34,-20,-22,-9,8,-2,18,-27;
+MA /M: SY='R'; M=-18,-9,-28,-10,-1,-19,-20,-2,-28,26,-19,-10,0,-19,8,62,-7,-4,-18,-21,-10,-1;
+MA /M: SY='G'; M=7,-10,-26,-12,-15,-26,41,-17,-32,-10,-24,-16,-2,-18,-13,-6,0,-14,-22,-20,-25,-15;
+MA /M: SY='N'; M=-9,36,-19,17,-1,-19,-2,7,-19,-1,-28,-19,54,-19,-1,-1,11,5,-27,-39,-19,-1;
+MA /M: SY='S'; M=4,-2,-13,-5,-4,-18,-9,-15,-16,-10,-23,-16,3,1,-5,-11,28,27,-9,-35,-18,-5;
+MA /M: SY='L'; M=-9,-24,1,-27,-19,-2,-29,-22,8,-26,22,7,-23,-17,-20,-21,-19,-4,4,-27,-9,-20;
+MA /M: SY='A'; M=31,-17,-11,-24,-16,-12,-11,-23,4,-14,1,-2,-17,-17,-16,-20,1,-1,15,-23,-16,-16;
+MA /M: SY='T'; M=4,-3,-12,-8,-7,-14,-12,-16,-9,-12,-17,-12,3,-11,-6,-12,26,29,-2,-34,-14,-7;
+MA /M: SY='K'; M=-11,-3,-28,-4,6,-26,-20,-7,-27,35,-24,-9,0,-13,12,34,-6,-4,-19,-21,-10,8;
+MA /M: SY='M'; M=3,-18,-8,-26,-18,-7,-20,-16,11,-18,7,16,-14,-19,-10,-19,-5,-3,8,-26,-9,-15;
+MA /M: SY='M'; M=-9,-25,-20,-31,-22,3,-26,-12,24,-20,29,38,-24,-24,-12,-16,-22,-9,16,-21,-1,-17;
+MA /M: SY='T'; M=-3,3,-17,3,11,-18,-17,-13,-15,-5,-15,-14,0,-9,-2,-8,13,19,-7,-32,-15,5;
+MA /M: SY='Z'; M=-8,-9,-21,-12,2,1,-19,-8,-10,-9,-6,-1,-6,-15,3,-8,1,1,-10,-20,-3,4;
+MA /M: SY='Y'; M=-10,-21,8,-27,-23,19,-26,-7,-5,-20,1,0,-19,-29,-20,-18,-14,-8,-4,-5,24,-22;
+MA /M: SY='F'; M=-6,-12,-17,-23,-18,19,-19,-10,2,-15,4,15,-7,-20,-15,-13,-7,2,0,-15,4,-15;
+MA /M: SY='R'; M=-15,-7,-29,-8,2,-16,-21,-7,-27,34,-22,-9,-2,-16,6,43,-11,-10,-18,-17,-6,2;
+MA /M: SY='V'; M=1,-17,-19,-19,-15,-11,-10,-18,-1,-10,-2,-2,-12,-21,-12,-2,-2,-3,6,-25,-13,-15;
+MA /I: I=-10; MI=0; IM=0; DM=-25; MD=-25;
+MA /M: SY='Y'; M=-9,-15,-23,-16,-12,-5,-23,-9,-5,0,-10,-5,-13,-11,-9,5,-5,1,1,-15,7,-13;
+MA /M: SY='G'; M=9,-10,-26,-12,-18,-28,57,-20,-34,-18,-26,-18,-2,-18,-18,-20,2,-16,-24,-20,-28,-18;
+MA /M: SY='N'; M=4,9,-20,2,-1,-23,-4,-5,-17,-5,-16,-11,12,-15,6,-7,5,0,-17,-28,-16,3;
+MA /M: SY='E'; M=-4,9,-23,7,12,-24,-15,10,-22,2,-19,-12,8,-11,9,-1,4,4,-20,-29,-10,10;
+MA /M: SY='Y'; M=-13,-20,-27,-22,-20,30,-27,11,-1,-12,0,-1,-19,-28,-13,-12,-17,-9,-8,23,64,-20;
+MA /M: SY='L'; M=-9,-30,-19,-30,-21,9,-30,-21,21,-29,46,19,-30,-30,-21,-20,-28,-9,14,-21,-1,-21;
+MA /M: SY='Q'; M=-13,-3,-28,-3,2,-23,-21,13,-15,5,-16,-4,1,-15,14,12,-4,-9,-16,-25,-5,5;
+MA /M: SY='K'; M=-8,-3,-25,-3,5,-26,-17,5,-22,19,-23,-7,1,-13,14,16,1,-5,-16,-25,-9,9;
+MA /M: SY='T'; M=6,-15,-16,-22,-16,-6,-22,-22,9,-18,9,3,-13,-16,-14,-18,-1,15,8,-24,-8,-16;
+MA /M: SY='L'; M=-10,-30,-20,-30,-20,10,-30,-20,20,-30,50,20,-30,-30,-20,-20,-30,-10,10,-20,0,-20;
+MA /M: SY='K'; M=-5,6,-25,10,5,-23,-13,-3,-25,11,-23,-14,3,-13,6,10,2,-4,-18,-23,-6,4;
+MA /M: SY='P'; M=-7,-4,-35,5,5,-32,-16,-13,-23,-6,-27,-19,-10,53,-1,-15,-5,-9,-27,-30,-25,-1;
+MA /M: SY='V'; M=-5,-26,-3,-28,-24,5,-28,-24,15,-25,16,7,-23,-28,-24,-21,-12,-3,20,-26,-6,-24;
+MA /M: SY='L'; M=-9,-30,-22,-33,-24,6,-33,-24,30,-29,37,19,-27,-27,-21,-23,-25,-9,20,-21,-1,-24;
+MA /M: SY='R'; M=-12,2,-27,2,4,-23,-17,-5,-23,21,-18,-9,5,-15,8,23,-5,-7,-19,-25,-11,5;
+MA /M: SY='E'; M=-9,0,-26,3,12,-23,-15,-10,-14,4,-15,-9,-3,-12,4,-1,-4,-5,-11,-26,-14,7;
+MA /M: SY='I'; M=-8,-30,-26,-38,-30,0,-38,-30,46,-28,18,18,-22,-22,-22,-28,-18,-8,34,-22,-2,-30;
+MA /M: SY='I'; M=-3,-25,-11,-33,-25,-3,-29,-22,26,-22,15,21,-21,-23,-17,-22,-16,-8,21,-24,-6,-23;
+MA /M: SY='E'; M=-6,8,-24,11,17,-25,-19,-7,-17,-1,-15,-12,1,-8,10,-7,3,4,-16,-29,-14,13;
+MA /M: SY='S'; M=-2,11,-7,10,4,-23,-7,4,-25,-8,-28,-19,16,-14,0,-8,19,5,-19,-39,-17,1;
+MA /M: SY='K'; M=-5,2,-24,2,8,-25,-12,-8,-25,17,-28,-16,6,-1,5,12,7,0,-20,-29,-17,6;
+MA /M: SY='D'; M=-13,24,-28,35,19,-35,-13,-2,-33,13,-28,-20,11,-9,10,2,2,-7,-26,-32,-17,15;
+MA /I: I=-3; MI=0; IM=0; DM=-25; MD=-25;
+MA /M: SY='S'; M=3,-6,-16,-6,-3,-13,-8,-14,-17,-12,-25,-17,1,6,-6,-13,24,15,-12,-33,-17,-5;
+MA /M: SY='C'; M=-14,-23,37,-31,-28,22,-20,-20,-17,-27,-8,-10,-18,-33,-31,-23,-14,-11,-8,-16,4,-28;
+MA /M: SY='E'; M=-11,13,-30,23,52,-32,-19,1,-30,9,-21,-19,2,-2,22,0,0,-10,-30,-30,-19,37;
+MA /M: SY='I'; M=-6,-30,-19,-33,-27,3,-33,-27,33,-26,25,16,-27,-27,-24,-23,-19,-6,32,-24,-4,-27;
+MA /M: SY='D'; M=-11,31,-24,43,16,-32,-10,-4,-32,-2,-27,-25,14,-9,1,-9,10,3,-23,-38,-19,8;
+MA /M: SY='P'; M=-10,-17,-38,-8,2,-30,-20,-18,-22,0,-30,-18,-17,74,-7,-12,-10,-10,-28,-28,-27,-7;
+MA /M: SY='T'; M=4,-6,-15,-9,-1,-15,-14,-12,-8,-9,-9,-4,-4,-13,0,-10,11,13,-3,-29,-13,0;
+MA /M: SY='R'; M=-13,-2,-30,-1,13,-28,-20,-4,-29,36,-25,-10,0,-12,16,37,-8,-10,-22,-21,-11,13;
+MA /I: I=-6; MI=0; MD=-25; IM=0;
+MA /M: SY='L'; M=-1,-18,-16,-21,-16,1,-20,-16,13,-20,24,10,-15,-22,-15,-16,-15,-6,9,-19,-5,-16;D=-10;
+MA /I: DM=-25;
+MA /M: SY='E'; M=-9,-8,-28,-4,15,-20,-23,-12,-14,6,-7,-7,-12,4,1,-2,-11,-9,-13,-26,-14,7;
+MA /M: SY='E'; M=-1,0,-27,4,14,-27,-9,-12,-24,1,-23,-18,-3,13,0,-7,3,-2,-21,-29,-21,6;
+MA /M: SY='N'; M=-6,14,-21,10,1,-23,-1,8,-26,1,-28,-17,23,-15,1,2,12,0,-23,-34,-15,0;
+MA /M: SY='E'; M=-7,14,-25,24,40,-29,-14,-2,-29,4,-24,-22,6,-4,12,-4,9,-3,-25,-34,-20,26;
+MA /M: SY='D'; M=-2,18,-21,21,21,-27,-8,-3,-26,-1,-26,-21,15,-9,5,-6,14,1,-22,-36,-20,13;
+MA /M: SY='V'; M=2,-26,-13,-27,-23,0,-25,-25,20,-21,17,9,-25,-27,-23,-19,-10,-1,29,-27,-9,-23;
+MA /M: SY='E'; M=-9,13,-27,18,35,-29,-15,-2,-29,14,-25,-19,9,-6,13,4,3,-6,-26,-31,-18,24;
+MA /M: SY='E'; M=-6,2,-23,3,18,-23,-18,-9,-24,14,-20,-14,1,-8,7,9,5,9,-17,-28,-14,12;
+MA /I: I=-5; MI=0; IM=0; DM=-25; MD=-25;
+MA /M: SY='N'; M=-9,23,-21,9,0,-20,-5,6,-18,2,-24,-11,38,-18,6,6,8,0,-24,-35,-17,2;
+MA /M: SY='L'; M=-10,-16,-25,-18,-7,-9,-25,-9,4,-7,5,5,-12,-20,5,-3,-11,-7,-3,-18,1,-3;
+MA /M: SY='R'; M=0,0,-24,0,9,-24,-14,0,-25,12,-19,-12,0,-12,5,19,-2,-6,-17,-24,-13,5;
+MA /M: SY='N'; M=-12,11,-23,1,-3,-15,-13,12,-12,-5,-8,-5,22,-21,3,2,-4,-6,-20,-30,-9,-1;
+MA /M: SY='L'; M=-12,-29,-20,-32,-22,20,-29,-18,17,-28,40,21,-27,-29,-21,-19,-27,-10,8,-15,5,-21;
+MA /M: SY='L'; M=-12,-20,-23,-20,-10,2,-27,-7,6,-12,18,11,-20,-24,-6,-4,-19,-9,1,-13,9,-9;
+MA /M: SY='Q'; M=-3,0,-24,-1,3,-21,-15,-2,-17,7,-15,-7,2,-15,12,6,0,-5,-17,-21,-6,6;
+MA /M: SY='Y'; M=-14,-25,-27,-28,-23,13,-28,-3,13,-16,11,16,-24,-27,-13,-15,-22,-11,5,13,32,-20;
+MA /M: SY='T'; M=-3,-16,-13,-22,-19,-3,-24,-20,11,-15,8,11,-16,-20,-16,-14,-1,18,18,-27,-7,-17;
+MA /M: SY='E'; M=-8,16,-24,20,25,-27,-14,-5,-27,6,-23,-19,10,-7,7,-2,8,4,-22,-33,-17,16;
+MA /M: SY='K'; M=-12,-3,-28,-1,14,-25,-21,-7,-25,32,-23,-10,-2,-12,9,30,-8,-9,-16,-23,-12,10;
+MA /M: SY='F'; M=-8,-28,-19,-34,-26,35,-29,-22,13,-27,20,8,-23,-28,-29,-21,-19,-8,13,-9,10,-26;
+MA /M: SY='F'; M=-14,-32,-25,-36,-27,33,-29,-24,10,-27,17,5,-27,-29,-28,-21,-25,-12,6,18,15,-25;
+MA /M: SY='E'; M=-10,11,-25,17,19,-26,-15,17,-28,2,-24,-16,8,-10,7,-2,6,-2,-23,-33,-10,12;
+MA /M: SY='A'; M=29,-7,-15,-14,-5,-22,-5,-16,-16,5,-16,-11,-6,-11,-4,-2,7,-1,-6,-22,-17,-5;
+MA /M: SY='I'; M=-9,-30,-27,-38,-29,1,-38,-29,45,-29,22,19,-22,-22,-21,-28,-20,-9,30,-21,-1,-29;
+MA /M: SY='I'; M=-7,-22,-19,-27,-22,10,-28,-20,17,-22,12,7,-18,-23,-20,-19,-9,3,16,-17,5,-22;
+MA /M: SY='S'; M=4,6,-17,-1,-4,-19,2,-5,-17,-4,-23,-10,16,-14,-2,-6,17,5,-14,-33,-18,-3;
+MA /M: SY='S'; M=12,2,-11,-1,-2,-19,-2,-10,-18,-9,-26,-18,11,-11,-2,-10,33,19,-10,-37,-19,-2;
+MA /M: SY='S'; M=7,-14,-14,-16,-14,-11,-15,-20,6,-16,-9,-4,-7,-17,-12,-17,14,8,14,-32,-14,-14;
+MA /M: SY='D'; M=-8,20,-22,26,11,-27,-10,3,-25,-4,-25,-20,14,-12,1,-8,11,0,-18,-37,-16,6;
+MA /M: SY='E'; M=-12,6,-28,11,20,-23,-20,-3,-19,6,-18,-12,0,-10,10,2,-2,-8,-19,-24,-7,14;
+MA /M: SY='F'; M=-14,-29,-2,-36,-27,30,-32,-23,11,-30,19,7,-23,-29,-29,-23,-21,-10,7,-13,7,-27;
+MA /M: SY='P'; M=-10,-20,-40,-10,0,-30,-20,-20,-20,-10,-30,-20,-20,90,-10,-20,-10,-10,-30,-30,-30,-10;
+MA /M: SY='P'; M=-8,-14,-27,-14,-8,-10,-22,-10,-5,-4,-14,-7,-10,8,-7,-10,-3,0,-9,-16,4,-11;
+MA /M: SY='Q'; M=-5,-3,-25,-3,5,-25,-2,-9,-17,-5,-18,-10,-1,-6,6,-8,1,-3,-15,-27,-18,5;
+MA /M: SY='L'; M=-10,-28,-22,-32,-22,6,-30,-18,26,-26,39,27,-26,-26,-16,-20,-26,-10,14,-20,0,-20;
+MA /M: SY='R'; M=-17,-15,-6,-17,-9,-10,-23,-8,-23,12,-15,-9,-7,-25,-3,41,-11,-9,-11,-23,-10,-9;
+MA /M: SY='Y'; M=-12,4,-26,6,-4,-3,-15,-2,-19,-8,-18,-15,2,-19,-4,-10,0,-5,-19,-2,10,-4;
+MA /M: SY='I'; M=-5,-30,-20,-35,-30,0,-35,-30,40,-25,15,15,-25,-25,-25,-25,-15,-5,40,-25,-5,-30;
+MA /M: SY='C'; M=-7,-22,46,-30,-26,10,-27,-20,-14,-26,-4,-9,-20,-33,-27,-24,-13,-9,-5,-22,-1,-26;
+MA /M: SY='H'; M=-11,-3,-28,-3,2,-23,-9,24,-27,13,-24,-7,2,-15,8,8,-5,-12,-23,-21,3,3;
+MA /M: SY='C'; M=-3,-9,27,-15,-18,-14,-22,-21,-8,-20,-7,-9,-8,-25,-18,-20,-3,0,0,-36,-18,-18;
+MA /M: SY='L'; M=-11,-30,-23,-33,-23,14,-33,-23,26,-30,39,18,-27,-27,-22,-23,-27,-10,14,-17,3,-23;
+MA /M: SY='R'; M=-18,-12,-30,-12,-4,-4,-24,8,-18,15,-14,-5,-8,-22,8,29,-13,-10,-17,-1,24,-2;
+MA /M: SY='Q'; M=-11,11,-17,10,13,-32,-16,1,-25,12,-25,-12,11,-13,24,6,-1,-8,-27,-29,-15,19;
+MA /M: SY='A'; M=7,-13,-6,-17,-11,-14,-14,-16,-6,-6,-7,-2,-10,-19,-9,-6,3,0,2,-28,-14,-10;
+MA /M: SY='A'; M=13,-17,-13,-22,-16,-6,-18,-22,5,-17,11,2,-17,-19,-16,-18,-2,8,11,-24,-10,-16;
+MA /M: SY='C'; M=-3,0,7,-3,4,-25,-9,3,-26,-8,-22,-15,4,-17,3,-10,4,-6,-21,-34,-17,3;
+MA /M: SY='H'; M=-8,-4,-27,-4,12,-21,-21,16,-15,3,-14,-5,-3,-13,7,4,-6,-11,-13,-26,-5,7;
+MA /M: SY='R'; M=-10,-4,-26,-6,0,-20,-19,0,-14,12,-14,-5,2,-16,6,13,-4,-6,-13,-25,-8,2;
+MA /M: SY='F'; M=-17,-24,-10,-33,-26,46,-26,-20,-4,-26,5,-3,-17,-30,-31,-19,-20,-11,-6,13,17,-25;
+MA /M: SY='P'; M=-11,-21,-36,-15,-5,-21,-23,-19,-9,-11,-15,-11,-20,56,-11,-13,-13,-10,-19,-27,-22,-12;
+MA /M: SY='D'; M=-8,24,-22,27,16,-27,-9,-2,-26,-1,-26,-21,20,-10,5,-5,11,4,-23,-36,-18,10;
+MA /M: SY='N'; M=-1,11,-23,3,-4,-17,-12,5,-13,-1,-18,-10,16,-17,-3,-5,-1,-6,-15,-25,-5,-5;
+MA /M: SY='A'; M=13,-7,-17,-12,-9,-18,-1,-16,-15,-9,-13,-11,-3,-6,-9,-9,9,7,-9,-26,-18,-9;
+MA /M: SY='T'; M=-5,-2,-23,-3,2,-12,-22,-2,-7,-10,-4,-6,-5,-14,-4,-12,-2,4,-7,-23,-1,-2;
+MA /I: MD=-15;
+MA /M: SY='V'; M=-7,-4,-21,-3,-9,-15,-16,-12,3,-11,-4,4,-7,-17,-5,-13,-4,-5,6,-27,-10,-8; D=-2;
+MA /I: MD=-15;
+MA /M: SY='R'; M=-7,-4,-18,-5,4,-14,-16,-6,-9,6,-9,-5,-2,-9,6,11,-1,4,-8,-17,-7,4; D=-2;
+MA /I: MD=-15;
+MA /M: SY='Y'; M=-7,-12,-16,-14,-9,3,-19,-7,9,-11,7,4,-10,-13,-8,-11,-8,1,4,-7,10,-10; D=-2;
+MA /I: MD=-15;
+MA /M: SY='C'; M=-5,-10,2,-11,-7,-7,-13,-9,-7,-5,0,-3,-7,-15,-6,2,-3,-2,-4,-19,-8,-7; D=-2;
+MA /I: I=-4; MI=0; IM=0; DM=-20;
+MA /M: SY='A'; M=15,-21,-16,-26,-20,-8,-11,-24,10,-19,8,3,-19,-21,-19,-21,-7,-5,15,-23,-12,-20;
+MA /M: SY='V'; M=0,-28,-18,-33,-28,-2,-31,-29,35,-23,12,12,-24,-24,-24,-24,-12,-4,37,-25,-7,-28;
+MA /M: SY='G'; M=5,-5,-20,-5,-10,-25,36,-15,-30,-15,-30,-20,5,-15,-10,-15,19,-1,-20,-30,-25,-10;
+MA /M: SY='G'; M=3,1,-19,-2,-8,-24,29,-12,-28,-13,-30,-20,12,-15,-8,-13,20,1,-21,-32,-24,-8;
+MA /M: SY='F'; M=-8,-25,-18,-32,-23,45,-24,-19,2,-26,13,2,-18,-26,-29,-19,-14,-6,1,-4,14,-23;
+MA /M: SY='V'; M=-7,-29,-18,-33,-27,11,-31,-23,27,-24,22,18,-26,-27,-24,-21,-18,-6,28,-21,-1,-26;
+MA /M: SY='F'; M=-20,-29,-21,-38,-29,74,-30,-15,0,-28,9,0,-20,-30,-36,-19,-20,-10,-1,12,36,-29;
+MA /M: SY='L'; M=-11,-29,-21,-29,-20,12,-30,-15,18,-28,44,18,-29,-30,-19,-19,-29,-10,8,-14,10,-20;
+MA /M: SY='R'; M=-20,-10,-30,-10,0,-20,-20,0,-30,30,-20,-10,0,-20,10,70,-10,-10,-20,-20,-10,0;
+MA /M: SY='F'; M=-19,-29,-21,-36,-28,65,-30,-15,2,-28,14,2,-21,-30,-34,-19,-21,-10,0,9,32,-28;
+MA /M: SY='F'; M=-12,-29,-22,-37,-28,30,-32,-22,24,-26,18,17,-22,-26,-26,-22,-20,-9,17,-10,10,-27;
+MA /M: SY='C'; M=1,3,37,-10,-16,-21,-6,-14,-24,-16,-23,-18,11,-26,-16,-17,1,-6,-17,-39,-25,-16;
+MA /M: SY='P'; M=-9,-21,-37,-12,-3,-27,-21,-21,-16,-11,-27,-17,-21,80,-12,-20,-10,-9,-23,-30,-28,-12;
+MA /M: SY='A'; M=45,-12,-10,-21,-12,-18,-3,-21,-6,-11,-8,-8,-12,-12,-12,-20,8,0,5,-21,-19,-12;
+MA /M: SY='I'; M=-10,-30,-28,-38,-28,2,-38,-28,45,-30,25,20,-22,-22,-20,-28,-22,-10,26,-20,0,-28;
+MA /M: SY='L'; M=-6,-30,-17,-31,-25,5,-31,-25,27,-26,30,16,-29,-29,-24,-21,-21,-6,29,-24,-4,-25;
+MA /M: SY='S'; M=10,7,-14,1,-3,-21,6,-8,-20,-9,-28,-19,18,-13,-3,-10,27,10,-15,-36,-21,-3;
+MA /M: SY='P'; M=-10,-20,-40,-10,0,-30,-20,-20,-20,-10,-30,-20,-20,90,-10,-20,-10,-10,-30,-30,-30,-10;
+MA /M: SY='D'; M=-14,12,-28,18,8,-25,-16,9,-28,11,-24,-14,6,-14,10,10,-2,-8,-23,-23,-2,7;
+MA /M: SY='A'; M=7,-12,-16,-15,-5,-9,-15,-14,-2,-13,5,4,-11,-16,-6,-14,1,4,-1,-26,-11,-6;
+MA /M: SY='F'; M=-7,-17,-20,-22,-8,38,-22,-15,-9,-18,-2,-7,-12,-20,-21,-15,-6,-6,-7,-6,10,-12;
+MA /M: SY='N'; M=-12,22,-25,17,1,-24,0,10,-24,1,-24,-10,26,-17,0,-2,0,-8,-25,-33,-14,0;
+MA /M: SY='I'; M=-11,-29,-26,-34,-25,7,-35,-21,34,-28,29,18,-24,-25,-19,-24,-24,-10,19,-15,8,-25;
+MA /M: SY='I'; M=-8,-26,-22,-31,-24,0,-33,-24,28,-21,19,13,-21,-23,-18,-16,-16,-3,23,-23,-4,-24;
+MA /M: SY='D'; M=-7,17,-23,25,5,-27,-11,-9,-22,-7,-24,-20,8,-2,-3,-13,11,4,-16,-37,-18,0;
+MA /I: I=-6; MI=0; MD=-23; IM=0;
+MA /M: SY='E'; M=-7,7,-22,11,13,-25,-2,5,-25,4,-21,-13,4,-9,9,-1,3,-7,-21,-24,-12,11; D=-4;
+MA /I: DM=-23;
+MA /M: SY='Y'; M=-9,-8,-8,-12,-9,-11,-21,-5,-8,-2,-13,-6,-3,-21,-1,-1,-3,-4,-7,-20,2,-6;
+MA /M: SY='P'; M=-7,-19,-29,-15,-7,-15,-21,-19,-7,-16,-4,-7,-18,36,-12,-18,-9,-2,-13,-28,-18,-12;
+MA /M: SY='S'; M=-6,10,-21,11,2,-23,-10,11,-24,-7,-26,-17,12,-2,0,-8,13,6,-20,-36,-13,-1;
+MA /M: SY='P'; M=1,-4,-25,-2,3,-22,-16,-16,-16,-9,-14,-14,-9,21,-7,-15,0,4,-15,-29,-19,-4;
+MA /M: SY='N'; M=-9,6,-23,3,0,-21,-17,3,-14,-3,-16,-8,8,-14,8,1,4,4,-14,-29,-9,2;
+MA /M: SY='A'; M=5,0,-19,-4,-1,-19,-16,-12,-6,-7,-10,-7,-1,-13,0,-11,3,4,-3,-27,-14,-1;
+MA /M: SY='R'; M=1,-8,-22,-9,3,-20,-15,-9,-20,14,-17,-10,-4,-15,3,26,-1,-5,-10,-24,-14,0;
+MA /M: SY='R'; M=-18,-8,-30,-8,2,-22,-20,-2,-30,34,-22,-10,0,-18,10,62,-10,-10,-20,-20,-10,2;
+MA /M: SY='T'; M=-4,10,-18,-1,-7,-17,-4,-11,-17,-8,-20,-15,17,-5,-8,-9,12,22,-15,-32,-17,-8;
+MA /M: SY='L'; M=-12,-30,-20,-32,-22,23,-30,-20,16,-30,43,16,-28,-30,-24,-20,-28,-10,8,-15,5,-22;
+MA /M: SY='T'; M=2,-9,-19,-17,-14,-13,-11,-21,-2,-9,-8,-4,-6,-13,-11,-13,4,16,1,-24,-11,-14;
+MA /M: SY='L'; M=-4,-18,-16,-20,-14,0,-22,-18,5,-22,21,5,-15,-22,-14,-16,-5,8,4,-26,-6,-14;
+MA /M: SY='I'; M=-9,-29,-25,-36,-27,2,-35,-25,39,-27,24,23,-23,-23,-19,-25,-21,-9,27,-21,-1,-26;
+MA /M: SY='A'; M=35,-6,-10,-13,-6,-20,0,-16,-14,-10,-17,-14,-3,-10,-6,-16,21,7,-4,-27,-20,-6;
+MA /M: SY='K'; M=-10,0,-30,0,10,-30,-20,-10,-30,50,-30,-10,0,-10,10,30,-10,-10,-20,-20,-10,10;
+MA /M: SY='V'; M=-2,-17,-14,-23,-20,-5,-24,-21,16,-17,3,9,-15,-20,-16,-17,1,12,22,-28,-8,-19;
+MA /M: SY='I'; M=-9,-30,-23,-35,-26,4,-35,-26,35,-29,31,19,-25,-25,-21,-25,-23,-9,24,-21,-1,-26;
+MA /M: SY='Q'; M=-10,-3,-29,-3,16,-35,-21,7,-16,6,-13,2,-3,-12,52,7,-3,-10,-26,-20,-9,34;
+MA /M: SY='N'; M=-3,14,-18,5,-3,-18,-6,10,-15,-8,-24,-14,28,-16,-1,-6,17,4,-17,-37,-13,-3;
+MA /M: SY='L'; M=-2,-28,-21,-32,-23,2,-29,-24,26,-26,30,15,-25,-25,-20,-23,-20,-8,19,-21,-4,-23;
+MA /M: SY='A'; M=38,-9,-13,-16,-11,-22,12,-19,-16,-12,-15,-13,-6,-12,-11,-19,11,-1,-6,-22,-22,-11;
+MA /M: SY='N'; M=-7,31,-18,15,-1,-19,-2,5,-19,-2,-28,-19,48,-18,-1,-2,15,7,-25,-39,-19,-1;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=9(9); /POSITIVE=9(9); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=1;
+CC /TAXO-RANGE=??E??; /MAX-REPEAT=1;
+DR P09851, GTPA_BOVIN, T; P20936, GTPA_HUMAN, T; P46940, IQGA_HUMAN, T;
+DR P33314, BUD2_YEAST, T; P18963, IRA1_YEAST, T; P19158, IRA2_YEAST, T;
+DR P33277, GAP1_SCHPO, T; P21359, NF1_HUMAN , T; Q04690, NF1_MOUSE , T;
+DR P35608, NF1_CHICK , P;
+DO PDOC00438;
+//
diff --git a/prsp.f b/prsp.f
new file mode 100644
index 0000000..5de16e3
--- /dev/null
+++ b/prsp.f
@@ -0,0 +1,65 @@
+*----------------------------------------------------------------------*
+* $Id: prsp.f,v 1.4 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Print sequence or psa alignment
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine PRSP
+ * (CABC,ISEQ,CALI,IABG,IAED,NW,OPTS,OPTX)
+
+ Character CABC(0:26)
+ Integer*2 ISEQ(*)
+ Character*01 CALI(*)
+ Integer IABG
+ Integer IAED
+ Logical OPTS
+ Logical OPTX
+
+ Character*512 RCOUT
+
+
+ INL=IAED-IABG+1
+ INB=INL/NW
+ INR=INL-INB*NW
+ IN1=IABG-1
+
+* write sequence of aligned region
+
+ If(OPTS) then
+ Do IN2=1,INB
+ Do ii1=1,NW
+ RCOUT(ii1:ii1)=CABC(ISEQ(IN1+ii1))
+ End do
+ IN1=IN1+NW
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,NW)
+ End do
+ If(INR.GT.0) then
+ Do ii1=1,INR
+ RCOUT(ii1:ii1)=CABC(ISEQ(IN1+ii1))
+ End do
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,INR)
+ End if
+
+* write psa style alignment
+* Do NOT use to display individual matches of a circular profile
+* use prxp() instead.
+
+ Else if(OPTX) then
+ Do IN2=1,INB
+ Do ii1=1,NW
+ RCOUT(ii1:ii1)=CALI(IN1+ii1)
+ End do
+ IN1=IN1+NW
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,NW)
+ End do
+ If(INR.GT.0) then
+ Do ii1=1,INR
+ RCOUT(ii1:ii1)=CALI(IN1+ii1)
+ End do
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,INR)
+ End if
+ End if
+
+ Return
+
+ End
diff --git a/prxp.f b/prxp.f
new file mode 100644
index 0000000..e580a2c
--- /dev/null
+++ b/prxp.f
@@ -0,0 +1,63 @@
+*----------------------------------------------------------------------*
+* $Id: prxp.f,v 1.2 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Print psa alignment for multiple matches
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine PRXP
+ * (CALI,IABG,IAED,IPBG,IPED,LPRF,NW)
+
+ Character*01 CALI(*)
+ Integer IABG
+ Integer IAED
+ Integer LPRF
+ Integer IPBG
+ Integer IPED
+
+ Character*512 RCOUT
+
+ IIDE=LPRF-IPED
+
+ INL=IAED-IABG+IPBG+IIDE
+ INB=INL/NW
+ INR=INL-INB*NW
+C IN1=IABG-1
+ ii2=IABG
+
+ IPOS=1
+
+* write psa style alignment
+
+ Do IN2=1,INB
+ Do ii1=1,NW
+ If(IPOS.LT.IPBG.OR.IPOS.GT.IPED) then
+ RCOUT(ii1:ii1)='-'
+ IPOS=IPOS+1
+ Else
+ RCOUT(ii1:ii1)=CALI(ii2)
+ ii2=ii2+1
+ K1=Ichar(RCOUT(ii1:ii1))
+ If(K1.GE.65.AND.K1.LE. 90) IPOS=IPOS+1
+ End if
+ End do
+C IN1=IN1+NW
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,NW)
+ End do
+ If(INR.GT.0) then
+ Do ii1=1,INR
+ If(IPOS.LT.IPBG.OR.IPOS.GT.IPED) then
+ RCOUT(ii1:ii1)='-'
+ IPOS=IPOS+1
+ Else
+ RCOUT(ii1:ii1)=CALI(ii2)
+ ii2=ii2+1
+ K1=Ichar(RCOUT(ii1:ii1))
+ If(K1.GE.65.AND.K1.LE. 90) IPOS=IPOS+1
+ End if
+ End do
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,INR)
+ End if
+
+ Return
+
+ End
diff --git a/psa.5 b/psa.5
new file mode 100644
index 0000000..fc66a4f
--- /dev/null
+++ b/psa.5
@@ -0,0 +1,197 @@
+.\"
+.\" $Id: psa.5,v 1.1 2003/04/28 13:46:55 vflegel Exp $
+.\" Copyright (c) 2003 Volker Flegel <Volker.Flegel at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH PSA 5 "April 2003" "pftools 2.3" "File formats"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+psa \- biological sequence alignment file format
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B psa
+is an output format used by the
+.B pftools
+package to describe alignments between biological sequences (DNA or protein) and
+.I PROSITE
+profiles.
+.PP
+.B psa
+is apparented to the widely used biological sequence file format
+.IR fasta .
+Nevertheless it does not only describe a biological sequence, it is especially used to include
+information of alignments between a motif descriptor like a
+.I PROSITE
+profile and a given sequence. This information is included in the header and reflected
+in the structure of the sequence following the header line.
+.\" ------------------------------------------------
+.\" Syntax section
+.\" ------------------------------------------------
+.SH SYNTAX
+Each sequence in a
+.B psa
+alignment file or output must be preceded by a
+.I fasta
+header line.
+.br
+The general syntax of such a
+.I fasta
+header line is as follows:
+.sp
+.RS
+.BI > seq_id
+.RI "[ " free_text " ]"
+.RE
+.sp
+The header must start with a
+.RB ' > '
+character which is directly followed by the
+.I seq_id
+field. This field is interpreted by most programs as the sequence's
+.I identifier
+and/or
+.I accession
+number. It ends at the first encountered whitespace character.
+.br
+The
+.B pftools
+programs will use the
+.I free_text
+to add information about the match score, position and description of the sequence or motif.
+Please refer to the man page of the corresponding programs for further information about
+the output formats.
+.br
+The header can only extend over one line. The following lines up to a new line starting with a
+.RB ' > '
+character or the end of the file are interpreted as sequence data.
+.sp
+The line following the header, starts the alignment data between a sequence and a
+.I PROSITE
+profile. This data can span over several lines of different length.
+.br
+The data is formed by
+.I upper
+or
+.IR lower -case
+characters of the corresponding sequence alphabet (DNA or protein).
+The gap characters
+.RB ' . "' and '" - '
+are also supported.
+.br
+The alignment always has at least the length of the matching profile. Insertions or deletions
+detected during the motif/sequence alignment step will vary the length of the data reported,
+and can be identified using the following conventions:
+.RS
+.\" --- upper-case character ---
+.TP
+.I upper-case character
+Any upper-case character of the sequence alphabet identifies a
+.I match
+position between the sequence and the motif descriptor.
+.\" --- lower-case character ---
+.TP
+.I lower-case character
+A lower-case character of the sequence alphabet is used to symbolize an
+.I insertion
+in the sequence compared to the motif descriptor.
+.\" --- dash '-' character ---
+.TP
+.I '-' (dash) character
+A
+.RB ' - '
+character in the output identifies the presence of a
+.I deletion
+in the sequence compared to the motif descriptor.
+.RE
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+>YD28_SCHPO 556 pos. 291 - 332 sp|Q10256|YD28_SCHPO
+.br
+PTDPGlnsKIAQLVSMGFDPLEAAQALDAANGDLDVAASFLL--
+.br
+
+This is an example of the output produced by
+.BR pfsearch (1)
+using the '-x' (i.e.
+.B psa
+output) option. The first line starting with the
+.RB ' > '
+character is the
+.I fasta
+header. It also contains information about the raw score of the alignment as well as its
+position in the input sequence.
+.br
+On the next line you find the alignment proper. Starting at position 6, we can find an
+.I insertion
+of the
+.RI ' lns '
+residues in the sequence compared to the motif. The last two positions of the motif are
+not present in the sequence (i.e. they are
+.IR deleted ).
+This is indicated by the presence of two
+.RB ' - '
+(dash) characters at the end of the alignment.
+.RE
+.\" ------------------------------------------------
+.\" Notes section
+.\" ------------------------------------------------
+.SH "NOTES"
+.TP
+(1)
+The
+.BR xpsa (5)
+format defines a more strict syntax of the header line, allowing the exchange of information between
+different sequence analysis tools. It uses
+.IR keyword = value
+pairs to annotate the current match between a sequence and a motif descriptor. This syntax can be
+easily parsed and extended, according to the needs of bioinformatic tools.
+.RE
+
+.TP
+(2)
+The current implementation of the
+.B pftools
+package does not use the
+.RB ' . '
+(dot) character in the
+.B psa
+output. Nevertheless
+.BR psa2msa (1)
+will read it and interpret it in the same manner as the
+.RB ' - '
+(dash) character.
+.RE
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR xpsa (5),
+.BR pfsearch (1),
+.BR pfscan (1),
+.BR pfw (1),
+.BR pfmake (1),
+.BR psa2msa (1)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH "AUTHOR"
+This manual page was originally written by Volker Flegel.
+.br
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
+
diff --git a/psa2msa.f b/psa2msa.f
new file mode 100644
index 0000000..8397646
--- /dev/null
+++ b/psa2msa.f
@@ -0,0 +1,540 @@
+* Program psa2msa
+*----------------------------------------------------------------------*
+* $Id: psa2msa.f,v 2.11 2003/11/28 11:53:33 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Converts a pfsearch -x output file into Pearson/Fasta
+* multiple sequence alignment format
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+ Include 'ardim.f'
+
+ Parameter (NSEQ= 11)
+
+ Character*512 FSEQ
+ Character*01 CSEQ(IDMS)
+ Integer IPRF(0:IDMP)
+
+ Character*512 RCIO
+ Character B
+
+ Logical OPTL
+ Logical OPTU
+ Logical OPTP
+ Logical OPTD
+ Logical LEOF
+
+ Integer Getc
+
+ Include 'sterr.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ RC=0
+ LPRF=0
+ RCIO=' '
+ IRC=0
+ LEOF=.FALSE.
+ NBSQ=0
+
+* command line arguments
+
+ Call Repar
+ * (FSEQ,OPTL,OPTU,OPTP,OPTD,NM,NW,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''psa2msa 2.3 revision 5.d'',//
+ * ''Usage: psa2msa [ -dhlpuMW ] [ psa-file | - ] '',
+ * ''[ parameters ]'',//
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -d: replace periods by dashes on output.'',/
+ * '' -h: print usage help text.'',/
+ * '' -l: replace upper case letters by lower case.'',/
+ * '' -p: replace dashes by periods on output.'',/
+ * '' -u: replace lower case letters by upper case.''
+ * )')
+ Write(NERR,'(
+ * '' -M<value>:'',/
+ * '' maximal insertion length (default: -1).'',/
+ * '' -W<value>:'',/
+ * '' specifies the output width (default: 60).'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [M=max-insert-length] use option -M instead'',/
+ * '' [W=output-width] use option -W instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+* open input file
+
+ If(FSEQ.EQ.'-') then
+ 1 Open(NSEQ,Status='SCRATCH',Err=901)
+ 2 Continue
+ Do I1=1,512
+ If(Getc(B).NE.0) go to 3
+ If(Ichar(B).EQ.10) then
+ Write(NSEQ,'(512A)')(CSEQ(ii1),ii1=1,I1-1)
+ Go to 2
+ Else
+ CSEQ(I1)=B
+ End if
+ End do
+ Go to 2
+ 3 Rewind(NSEQ)
+ Else
+ Open(NSEQ,File=FSEQ,Status='OLD',Err=900)
+ End if
+
+* first sequence:
+
+ Call GetSeq(NSEQ,CSEQ,LSEQ,RCIO,LDES,NBSQ,IDMS,IRC)
+ If(IRC.GT.0.OR.NBSQ.EQ.0) go to 100
+ If(IRC.LT.0) LEOF=.TRUE.
+
+ Call UpdIPRF(CSEQ,LSEQ,LPRF,IPRF,IDMP,IRC)
+ If(IRC.NE.0) Go to 100
+
+* next sequence
+
+ 10 If(.NOT.LEOF) then
+ Call GetSeq(NSEQ,CSEQ,LSEQ,RCIO,LDES,NBSQ,IDMS,IRC)
+ If (IRC.EQ.-1) then
+ LEOF=.TRUE.
+ Else if(IRC.NE. 0) then
+ Go to 100
+ End if
+
+ Call UpdIPRF(CSEQ,LSEQ,LPRF,IPRF,IDMP,IRC)
+ If(IRC.NE.0) Go to 100
+
+ Go to 10
+ End if
+
+ 50 Continue
+
+ Rewind(NSEQ)
+ NBSQ=0
+ LEOF=.FALSE.
+
+ LMSA=LPRF
+ Do I1=0,LPRF
+ LMSA=LMSA+IPRF(I1)
+ End do
+ LMSB=LMSA
+
+ 60 Call GetSeq(NSEQ,CSEQ,LSEQ,RCIO,LDES,NBSQ,IDMS,IRC)
+ If (IRC.EQ.-1) then
+ LEOF=.TRUE.
+ IRC=0
+ Go to 70
+ Else if(IRC.NE. 0) then
+ Go to 100
+ End if
+
+ 70 Call UpdSeq(CSEQ,LSEQ,LMSA,IPRF,LPRF,IDMP)
+ Call EdtSeq(CSEQ,LMSA,OPTL,OPTU,OPTP,OPTD)
+ If(NM.GE.0) Call CutSeq(CSEQ,LMSA,LMSB,IPRF,LPRF,NM,IDMP)
+
+ Write(6,'((512A))')(RCIO(ii1:ii1),ii1=1,LDES)
+ Call PRSQ(CSEQ,LMSB,NW)
+
+ If(.NOT.LEOF) Go to 60
+
+ 100 Call Exit(IRC)
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open PSA file'//
+ * ' ''',FSEQ(1:Lblnk(FSEQ)),'''.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Unable to create temporary file.'
+ IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar
+ * (FSEQ,OPTL,OPTU,OPTP,OPTD,NM,NW,IRC)
+
+ Character*(*) FSEQ
+ Character*512 CARG
+
+ Logical OPTL
+ Logical OPTU
+ Logical OPTP
+ Logical OPTD
+
+ IRC=0
+
+ OPTL=.FALSE.
+ OPTU=.FALSE.
+ OPTP=.FALSE.
+ OPTD=.FALSE.
+
+ NM=-1
+ NW=60
+
+ N1=Iargc()
+ K1=0
+ I2=1
+ Do I1=1,N1
+ Call GetArg(I2,CARG)
+ If(CARG(1:1).EQ.'-'.AND.CARG(2:2).NE.' ') then
+ If(Index(CARG,'h').NE.0) go to 900
+ If(Index(CARG,'l').NE.0) OPTL=.TRUE.
+ If(Index(CARG,'u').NE.0) OPTU=.TRUE.
+ If(Index(CARG,'p').NE.0) OPTP=.TRUE.
+ If(Index(CARG,'d').NE.0) OPTD=.TRUE.
+ If(Index(CARG,'M').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NM
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NM
+ End if
+ End if
+ If(Index(CARG,'W').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) NW
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) NW
+ End if
+ End if
+ Else if(CARG(1:2).EQ.'M=') then
+ Read(CARG(3:),*,Err=900) NM
+ Else if(CARG(1:2).EQ.'W=') then
+ Read(CARG(3:),*,Err=900) NW
+ Else
+ FSEQ=CARG
+ K1=K1+1
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ End do
+
+ 20 If(K1.LT.1) then
+ FSEQ='-'
+ Else if(K1.GT.1) then
+ Go to 900
+ End if
+ If(NM.LT.0) NM=-1
+ If(NW.LE.0.OR.NW.GT.512) NW=60
+
+ 100 Return
+ 900 IRC=-1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine GetSeq(NSEQ,CSEQ,LSEQ,RCIO,LDES,NBSQ,IDMS,IRC)
+
+ Include 'sterr.f'
+
+ Character*01 CSEQ(*)
+ Character*(*) RCIO
+
+ Character*512 RCIN
+ Save RCIN
+
+ IRC=0
+ LSEQ=0
+ LDES=0
+
+ 1 Continue
+ If(RCIN(1:1).NE.'>') then
+ Read(NSEQ,'(A)',Err=901,End=902) RCIN
+ Go to 1
+ End if
+
+ LDES=Lblnk(RCIN)
+ RCIO(1:LDES)=RCIN(1:LDES)
+
+ 2 RCIN=' '
+ Read(NSEQ,'(A)',Err=901,End=900) RCIN
+ 5 L1=Lblnk(RCIN)
+ If(RCIN(1:1).EQ.'>') then
+ Go to 90
+ Else
+ Do I1=1,L1
+ K1=Ichar(RCIN(I1:I1))
+ If((K1.GE.65.AND.K1.LE. 90).OR.
+ * (K1.GE.97.AND.K1.LE.122).OR.
+ * (RCIN(I1:I1).EQ.'-').OR.
+ * (RCIN(I1:I1).EQ.'.')) then
+ LSEQ=LSEQ+1
+ If(LSEQ.GT.IDMS) go to 903
+ CSEQ(LSEQ)=RCIN(I1:I1)
+ End if
+ End do
+ End if
+ If(IRC.NE.-1) go to 2
+
+ 90 If(LSEQ.EQ.0) go to 904
+ NBSQ=NBSQ+1
+
+ 100 Return
+
+ 110 Write(NERR,*) ' While processing sequence ',
+ * RCIO(1:LDES)
+ Go to 100
+
+* errors
+
+ 900 If(RCIN.EQ.' '.AND.LSEQ.EQ.0) then
+ Write(NERR,*) 'Error: Unexpected end of sequence.'//
+ * ' Sequence has zero length.'
+ IRC=1
+ Else
+ IRC=-1
+ Go to 5
+ End if
+ Go to 110
+
+ 901 Write(NERR,*) 'Error: Unable to read PSA sequence file.'
+ IRC=1
+ Go to 100
+ 902 If(NBSQ.EQ.0) then
+ Write(NERR,*) 'Error: Unable to find sequences in PSA file.'
+ IRC=1
+ Else
+ IRC=-1
+ End if
+ Go to 100
+ 903 Write(NERR,*) 'Error: Sequence length exceeds buffer ',
+ * 'size (',IDMS,').'
+ IRC=1
+ Go to 110
+ 904 Write(NERR,*) 'Error: Unexpected end of sequence.'//
+ * ' Sequence has zero length.'
+ IRC=1
+ Go to 110
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine UpdIPRF(CSEQ,LSEQ,LPRF,IPRF,IDMP,IRC)
+
+ Include 'sterr.f'
+
+ Character*01 CSEQ(*)
+ Integer IPRF(0:IDMP)
+
+ IRC=0
+
+ If(LPRF.EQ.0) then
+ Do I1=1,LSEQ
+ K1=Ichar(CSEQ(I1))
+ If((K1.GE.65.AND.K1.LE. 90).OR.
+ * (CSEQ(I1).EQ.'-')) then
+ LPRF=LPRF+1
+ End if
+ End do
+ If(LPRF.GT.IDMP) go to 901
+ Do I1=0,LPRF
+ IPRF(I1)=0
+ End do
+ End if
+
+ J1=0
+ M1=0
+ Do I1=1,LSEQ
+ K1=Ichar(CSEQ(I1))
+ If((K1.GE.65.AND.K1.LE. 90).OR.
+ * (CSEQ(I1).EQ.'-')) then
+ IPRF(J1)=MAX(IPRF(J1),M1)
+ J1=J1+1
+ M1=0
+ Else
+ M1=M1+1
+ End if
+ End do
+ IPRF(J1)=MAX(IPRF(J1),M1)
+
+ If(J1.NE.LPRF) go to 900
+
+ 100 Return
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Conflicting sequence length after ',
+ * 'insertion removal.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Sequence length exceeds buffer ',
+ * 'size (',IDMP,').'
+ IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine UpdSeq(CSEQ,LSEQ,LMSA,IPRF,LPRF,IDMP)
+
+ Character*01 CSEQ(*)
+ Integer IPRF(0:IDMP)
+
+ J1=LPRF
+ M1=LMSA
+ N1=0
+
+ Do I1=LSEQ,1,-1
+ K1=Ichar(CSEQ(I1))
+ If((K1.GE.65.AND.K1.LE. 90).OR.
+ * (CSEQ(I1).EQ.'-')) then
+ K1=IPRF(J1)-N1
+ M1=M1-K1
+ Do I2=M1+1,M1+K1
+ CSEQ(I2)='.'
+ End do
+ If(J1.EQ.LPRF) then
+ Do I2=M1+1,M1+N1
+ CSEQ(I2)=CSEQ(I2+K1)
+ End do
+ Do I2=M1+N1+1,M1+N1+K1
+ CSEQ(I2)='.'
+ End do
+ Else
+
+* place dots at the center of insert region
+
+ L1=(N1+1)/2
+ Do I2=M1+1,M1+L1
+ CSEQ(I2)=CSEQ(I2+K1)
+ End do
+ Do I2=M1+L1+1,M1+L1+K1
+ CSEQ(I2)='.'
+ End do
+ End if
+ CSEQ(M1)=CSEQ(I1)
+ M1=M1-1
+ N1=0
+ J1=J1-1
+ Else
+ CSEQ(M1)=CSEQ(I1)
+ M1=M1-1
+ N1=N1+1
+ End if
+ End do
+ Do I2=N1+1,IPRF(J1)
+ CSEQ(M1)='.'
+ M1=M1-1
+ End do
+
+ 100 Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine EdtSeq(CSEQ,LMSA,OPTL,OPTU,OPTP,OPTD)
+
+ Character*01 CSEQ(*)
+
+ Logical OPTU
+ Logical OPTL
+ Logical OPTP
+ Logical OPTD
+
+ If(OPTU) then
+ Do I1=1,LMSA
+ K1=Ichar(CSEQ(I1))
+ If(K1.LE.122.AND.K1.GE.97) CSEQ(I1)=Char(K1-32)
+ End do
+ End if
+
+ If(OPTL) then
+ Do I1=1,LMSA
+ K1=Ichar(CSEQ(I1))
+ If(K1.LE.90.AND.K1.GE.65) CSEQ(I1)=Char(K1+32)
+ End do
+ End if
+
+ If(OPTP) then
+ Do I1=1,LMSA
+ If(CSEQ(I1).EQ.'-') CSEQ(I1)='.'
+ End do
+ End if
+
+ If(OPTD) then
+ Do I1=1,LMSA
+ If(CSEQ(I1).EQ.'.') CSEQ(I1)='-'
+ End do
+ End if
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine CutSeq(CSEQ,LMSA,LMSB,IPRF,LPRF,NM,IDMP)
+
+ Character*01 CSEQ(*)
+ Integer IPRF(0:IDMP)
+
+ M1=NM/2
+ L1=NM-M1
+ J1=0
+ K1=0
+ Do I1=0,LPRF
+ If(IPRF(I1).GT.NM) then
+ Do I2=1,M1
+ J1=J1+1
+ K1=K1+1
+ CSEQ(J1)=CSEQ(K1)
+ End do
+ K1=K1+IPRF(I1)-NM
+ Do I2=1,L1
+ J1=J1+1
+ K1=K1+1
+ CSEQ(J1)=CSEQ(K1)
+ End do
+ Else
+ Do I2=1,IPRF(I1)
+ J1=J1+1
+ K1=K1+1
+ CSEQ(J1)=CSEQ(K1)
+ End do
+ End if
+ If(I1.NE.LPRF) then
+ J1=J1+1
+ K1=K1+1
+ CSEQ(J1)=CSEQ(K1)
+ End if
+ End do
+ LMSB=J1
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine PRSQ(CSEQ,LMSB,NW)
+
+ Character*01 CSEQ(*)
+ Character*512 RCOUT
+
+ INB=LMSB/NW
+ INR=LMSB-INB*NW
+ IN1=0
+
+ Do IN2=1,INB
+ Do ii1=1,NW
+ RCOUT(ii1:ii1)=CSEQ(IN1+ii1)
+ End do
+ IN1=IN1+NW
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,NW)
+ End do
+ If(INR.GT.0) then
+ Do ii1=1,INR
+ RCOUT(ii1:ii1)=CSEQ(IN1+ii1)
+ End do
+ Write(6,'(512A)')(RCOUT(ii1:ii1),ii1=1,INR)
+ End if
+
+ 100 Return
+ End
+
+*----------------------------------------------------------------------*
+ Include 'lblnk.f'
diff --git a/psdat.f b/psdat.f
new file mode 100644
index 0000000..9e8637e
--- /dev/null
+++ b/psdat.f
@@ -0,0 +1,20 @@
+*----------------------------------------------------------------------*
+* $Id: psdat.f,v 2.5 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* PROSITE
+
+ Character*64 CPID
+ Character*64 CPAC
+ Character*132 CPDT
+ Character*512 CPDE
+
+* header lines to be inserted after DE line
+
+ Character*132 CHDR(512)
+
+* footer lines to be inserted after lines
+
+ Character*132 CFTR(1024)
+
diff --git a/ptof.f b/ptof.f
new file mode 100644
index 0000000..2986797
--- /dev/null
+++ b/ptof.f
@@ -0,0 +1,584 @@
+* Program ptof
+*----------------------------------------------------------------------*
+* $Id: ptof.f,v 2.12 2003/12/01 13:33:04 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: converts a protein profile into a framesearch profile
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+* array dimensions and I/O units
+
+ Include 'ardim.f'
+
+ Parameter (NOUT= 6)
+
+ Parameter (NPRF= 11)
+ Parameter (NNUL= 12)
+
+* profile
+
+ Character*512 FPRF
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+
+ Include 'sterr.f'
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* parameters and options
+
+ Logical OPTR
+ Logical LLLT
+
+ Real RB
+ Real RF
+ Real RI
+ Real RX
+ Real RY
+ Real RZ
+
+ Integer INBP
+ Logical LEOF
+ Logical LRNM
+
+* initialization of controlled vocabularies
+
+ Include 'cvini.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+ FPRF='stdout'
+ LRNM=.FALSE.
+ INBP=0
+
+* command line arguments
+
+ Call Repar(FPRF,OPTR,LLLT,RB,RF,RI,RX,RY,RZ,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''ptof 2.3 revision 5.d'',//
+ * ''Usage: ptof [ -hlrBFIXYZ ] [ profile | - ] '',
+ * ''[ parameters ]'',//
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -h: print usage help text.'',/
+ * '' -l: do not impose limit on line length.'',/
+ * '' -r: parameters given as normalized score units.''
+ * )')
+ Write(NERR,'(
+ * '' -B<value>:'',/
+ * '' minimal initiation/termination score (default: '',
+ * ''-50 or -0.5 with option -r).'',/
+ * '' -F<value>:'',/
+ * '' frameshift error penalty (default: '',
+ * ''-100 or -1.0 with option -r).'',/
+ * '' -I<value>:'',/
+ * '' insert score multiplier (default: 1/3).'',/
+ * '' -X<value>:'',/
+ * '' stop codon penalty (default: '',
+ * ''-100 or -1.0 with option -r).'',/
+ * '' -Y<value>:'',/
+ * '' intron opening penalty (default: '',
+ * ''-300 or -3.0 with option -r).'',/
+ * '' -Z<value>:'',/
+ * '' intron extension penalty (default: '',
+ * ''-1 or -0.01 with option -r).'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [B=min-beg-end-score] use option -B instead'',/
+ * '' [F=deletion-frameshift] use option -F instead'',/
+ * '' [I=insert-score-mult] use option -I instead'',/
+ * '' [X=stop-codon-score] use option -X instead'',/
+ * '' [Y=intron-open-penalty] use option -Y instead'',/
+ * '' [Z=intron-ext-penalty] use option -Z instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+* read profile
+
+ If(FPRF.EQ.'-') then
+ MPRF=5
+ Else
+ MPRF=NPRF
+ End if
+
+ Call REPRF
+ * (MPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * BLOG,FABC,P0,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,CHIL,IIPL,ILIP,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,.FALSE.,IRC)
+
+ If(IRC.NE.0) go to 100
+
+* expanded profile size check
+
+ If(LPRF*3.GT.IDMP) go to 901
+ If(NABC.LE.4) go to 920
+
+* add command-line to footer lines
+
+ 10 Continue
+ LFTR=LFTR+1
+ If(LFTR.GT.1024) LFTR=1024
+ Do I1=LFTR,2,-1
+ CFTR(I1)=CFTR(I1-1)
+ End do
+
+ CFTR(1)='CC /GENERATED_BY="'
+ Call Recmd(CFTR(1)(21:130))
+ IC=Lblnk(CFTR(1))
+ CFTR(1)(IC+1:)='";'
+
+*----------------------------------------------------------------------*
+* CONVERSION SECTION
+*----------------------------------------------------------------------*
+
+* Adjust frame search parameters to normalization function
+
+ If(OPTR) then
+ R2=0.01
+ K1=1
+ J1=NNPR( 1)
+ Do I1=2,JNOR
+ If(NNPR(I1).LT.J1) then
+ K1=I1
+ JN=NNPR(I1)
+ End if
+ End do
+ If(MNOR(K1).EQ.1) R2=RNOP(2,K1)
+
+ RB=RB / R2
+ RF=RF / R2
+ RX=RX / R2
+ RY=RY / R2
+ RZ=RZ / R2
+ End if
+
+* Expand alphabet
+
+ NABC=NABC+1
+ CABC(NABC)='O'
+ NX=NINT(RX)
+ J2=0
+ Do I2=1,NABC-1
+ J2=J2+IIPD(I2)
+ End do
+ IIPD(NABC)=J2/(NABC-1)
+ J2=0
+ Do I2=1,NABC-1
+ J2=J2+IIPP(I2,0)
+ End do
+ IIPP(NABC,0)=J2/(NABC-1)
+ Do I1=1,LPRF
+ IMPP(NABC,I1)=NX
+ J2=0
+ Do I2=1,NABC-1
+ J2=J2+IIPP(I2,I1)
+ End do
+ IIPP(NABC,I1)=J2/(NABC-1)
+ End do
+
+* - default begin, end score
+
+ IIPD(B0)=MAX(IIPD(B0),NINT(RB))
+ IIPD(B1)=MAX(IIPD(B1),NINT(RB))
+ IIPD(E0)=MAX(IIPD(E0),NINT(RB))
+ IIPD(E1)=MAX(IIPD(E1),NINT(RB))
+
+* - eliminate II transitions
+
+ Do I1=0,LPRF
+ If(IIPP(BI,I1).NE.NLOW) IIPP(BI,I1)=IIPP(BI,I1)-IIPP(II,I1)
+ If(IIPP(MI,I1).NE.NLOW) IIPP(MI,I1)=IIPP(MI,I1)-IIPP(II,I1)
+ If(IIPP(DI,I1).NE.NLOW) IIPP(DI,I1)=IIPP(DI,I1)-IIPP(II,I1)
+ Do I2=0,26
+ If(IIPP(I2,I1).NE.NLOW)
+ * IIPP(I2,I1)=IIPP(I2,I1)+IIPP(II,I1)
+ End do
+ IIPP(II,I1)=0
+ End do
+
+* Expand profile
+
+* -define architecture of profile according to topology
+
+ If(LPCI) then
+ NBB=1
+ NB=2
+ NE=3*LPRF-1
+ NEE=3*LPRF
+ Else
+ NBB=1
+ NB=1
+ NE=3*LPRF-2
+ NEE=3*LPRF-2
+ End if
+
+* - move last insert position to new end of profile
+
+ Do I1=0,46
+ IIPP(I1,NEE)=IIPP(I1,LPRF)
+ End do
+ CHIP(NEE)=CHIP(LPRF)
+
+* - move other positions
+
+ K1=NE
+ Do I1=LPRF,1,-1
+ Do I2=0,27
+ IMPP(I2,K1)=IMPP(I2,I1)
+ End do
+ CHMP(K1)=CHMP(I1)
+ K1=K1-3
+ End do
+
+ K1=NE-2
+ Do I1=LPRF-1,1,-1
+ Do I2= 0,26
+ IIPP(I2,K1)=NINT(IIPP(I2,I1)*RI)
+ End do
+ Do I2=27,46
+ IIPP(I2,K1)=IIPP(I2,I1)
+ End do
+ CHIP(K1)=CHIP(I1)
+ K1=K1-3
+ End do
+
+* - fill in m-1, m+1 positions
+
+ Do I1=NB+1,NEE,3
+ Do I2=0,27
+ IMPP(I2,I1)=0
+ End do
+ CHMP(I1)='>'
+ End do
+
+ J1=NB-1
+ If(J1.LE.0) J1=J1+3
+ Do I1=J1,NEE,3
+ Do I2=0,27
+ IMPP(I2,I1)=0
+ End do
+ CHMP(I1)='<'
+ End do
+
+*- fill i-1 position
+
+ Do I2= 0,26
+ IIPP(I2,NB)=0
+ End do
+ Do I2=27,46
+ IIPP(I2,NB)=NLOW
+ End do
+ IIPP(MM,NB)=0
+ IIPP(DD,NB)=0
+ IIPP(MI,NB)=NINT(RF/2)
+ IIPP(II,NB)=NINT(RF)
+ IIPP(IM,NB)=NINT(RF/2)
+ CHIP(NB)='*'
+ Do I1=NB+3,NEE-1,3
+ Do I2= 0,47
+ IIPP(I2,I1)=IIPP(I2,NB)
+ End do
+ CHIP(I1)='*'
+ End do
+
+* - fill i+1 position
+
+ J1=3
+ If(LPCI) J1=1
+ Do I2= 0,26
+ IIPP(I2,J1)=0
+ End do
+ Do I2=27,46
+ IIPP(I2,J1)=NLOW
+ End do
+ IIPP(MM,J1)=0
+ IIPP(DD,J1)=0
+ IIPP(MI,J1)=NINT(RY/2)
+ IIPP(II,J1)=MIN(-1,NINT(RZ))
+ IIPP(IM,J1)=NINT(RY/2)
+ CHIP(J1)=':'
+ Do I1=J1+3,NEE-1,3
+ Do I2=0,46
+ IIPP(I2,I1)=IIPP(I2,J1)
+ End do
+ CHIP(I1)=':'
+ End do
+
+* frameshift deletetion scores:
+
+ J1=2
+ If(LPCI) J1=1
+ K1=3
+ If(LPCI) K1=1
+ Do I1=J1,LPRF-1
+ IIPP(MD,K1)=(NINT(RF-IMPP( D,K1+1))/2)
+ IIPP(DM,K1+1)=NINT(RF-IIPP(MD,K1)-IMPP( D,K1+1))
+ K1=K1+3
+ End do
+
+* begin and end scores
+
+ If(.NOT.LPCI) then
+ Do I1=2,NEE,3
+ IIPP(B0,I1-1)=IIPP(B0,I1)
+ IIPP(B1,I1-1)=IIPP(B1,I1)
+ IIPP(BM,I1-1)=IIPP(BM,I1)
+ IIPP(BI,I1-1)=IIPP(BI,I1)
+ IIPP(BD,I1-1)=IIPP(BD,I1)
+ IIPP(E0,I1-1)=IIPP(E0,I1)
+ IIPP(E1,I1-1)=IIPP(E1,I1)
+ IIPP(ME,I1-1)=IIPP(ME,I1)
+ IIPP(IE,I1-1)=IIPP(IE,I1)
+ IIPP(DE,I1-1)=IIPP(DE,I1)
+ IIPP(B0,I1+1)=IIPP(B0,I1)
+ IIPP(B1,I1+1)=IIPP(B1,I1)
+ IIPP(BM,I1+1)=IIPP(BM,I1)
+ IIPP(BI,I1+1)=IIPP(BI,I1)
+ IIPP(BD,I1+1)=IIPP(BD,I1)
+ IIPP(E0,I1+1)=IIPP(E0,I1)
+ IIPP(E1,I1+1)=IIPP(E1,I1)
+ IIPP(ME,I1+1)=IIPP(ME,I1)
+ IIPP(IE,I1+1)=IIPP(IE,I1)
+ IIPP(DE,I1+1)=IIPP(DE,I1)
+ End do
+ Else
+ Do I1=2,NEE,3
+ IIPP(B0,I1-1)=IIPP(B0,I1-2)
+ IIPP(B1,I1-1)=IIPP(B1,I1-2)
+ IIPP(BM,I1-1)=IIPP(BM,I1-2)
+ IIPP(BI,I1-1)=IIPP(BI,I1-2)
+ IIPP(BD,I1-1)=IIPP(BD,I1-2)
+ IIPP(E0,I1-1)=IIPP(E0,I1-2)
+ IIPP(E1,I1-1)=IIPP(E1,I1-2)
+ IIPP(ME,I1-1)=IIPP(ME,I1-2)
+ IIPP(IE,I1-1)=IIPP(IE,I1-2)
+ IIPP(DE,I1-1)=IIPP(DE,I1-2)
+ IIPP(B0,I1 )=IIPP(B0,I1+1)
+ IIPP(B1,I1 )=IIPP(B1,I1+1)
+ IIPP(BM,I1 )=IIPP(BM,I1+1)
+ IIPP(BI,I1 )=IIPP(BI,I1+1)
+ IIPP(BD,I1 )=IIPP(BD,I1+1)
+ IIPP(E0,I1 )=IIPP(E0,I1+1)
+ IIPP(E1,I1 )=IIPP(E1,I1+1)
+ IIPP(ME,I1 )=IIPP(ME,I1+1)
+ IIPP(IE,I1 )=IIPP(IE,I1+1)
+ IIPP(DE,I1 )=IIPP(DE,I1+1)
+ End do
+ End if
+
+ Do I1=NBB,NEE-1
+ IIPP(B0,I1)=MAX(IIPD(B0),IIPP(B0,I1))
+ IIPP(B1,I1)=MAX(IIPD(B1),IIPP(B1,I1))
+ IIPP(E0,I1)=MAX(IIPD(E0),IIPP(E0,I1))
+ IIPP(E1,I1)=MAX(IIPD(E1),IIPP(E1,I1))
+ End do
+
+* disjointness definition
+
+ If(MDIS.EQ.2) then
+ NDIP(1)=NDIP(1)*3-2
+ NDIP(2)=NDIP(2)*3-2
+ End if
+
+* adjust length
+
+ LPRF=NEE
+
+*----------------------------------------------------------------------*
+* OUTPUT SECTION
+*----------------------------------------------------------------------*
+
+* write profile
+
+ Call WRPRF
+ * (NOUT,LLLT,LRNM,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * BLOG,FABC,P0,
+ * CHID,IIPD,CHMD,IMPD,
+ * IRC)
+
+ 100 Call Exit(IRC)
+
+* errors
+
+ 901 Write(NERR,*) 'Error: Expanded profile length exceeds buffer ',
+ * 'size (',IDMP,').'
+ IRC=1
+ Go to 100
+
+* warnings
+
+ 920 Write(NERR,*) 'Warning: Profile seems to be DNA. Check input '//
+ * 'file.'
+ Go to 10
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar
+ * (FPRF,OPTR,LLLT,RB,RF,RI,RX,RY,RZ,IRC)
+
+ Character*(*) FPRF
+ Character*512 CARG
+
+ Logical OPTR
+ Logical LLLT
+ Real RB
+ Real RF
+ Real RI
+ Real RX
+ Real RY
+ Real RZ
+
+ IRC=0
+
+* initializations
+
+ FPRF='-'
+
+ OPTR=.FALSE.
+ LLLT=.TRUE.
+ RB=-50
+ RF=-100
+ RI=1/3.0
+ RX=-100
+ RY=-300
+ RZ=-1
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do I1=1,N1
+ Call GetArg(I2,CARG)
+ If (CARG(1:1).EQ.'-'.AND.CARG(2:2).NE.' ') then
+ If(Index(CARG,'h').NE.0) go to 900
+ If(Index(CARG,'l').NE.0) LLLT=.FALSE.
+ If(Index(CARG,'r').NE.0) then
+ OPTR=.TRUE.
+ RB=-0.5
+ RF=-1.0
+ RX=-1.0
+ RY=-3.0
+ RZ=-0.01
+ End if
+ If(Index(CARG,'B').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RB
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RB
+ End if
+ End if
+ If(Index(CARG,'F').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RF
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RF
+ End if
+ End if
+ If(Index(CARG,'I').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RI
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RI
+ End if
+ End if
+ If(Index(CARG,'X').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RX
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RX
+ End if
+ End if
+ If(Index(CARG,'Y').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RY
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RY
+ End if
+ End if
+ If(Index(CARG,'Z').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RZ
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RZ
+ End if
+ End if
+ Else if(CARG(1:2).EQ.'B=') then
+ Read(CARG(3:),*,Err=900) RB
+ Else if(CARG(1:2).EQ.'F=') then
+ Read(CARG(3:),*,Err=900) RF
+ Else if(CARG(1:2).EQ.'I=') then
+ Read(CARG(3:),*,Err=900) RI
+ Else if(CARG(1:2).EQ.'X=') then
+ Read(CARG(3:),*,Err=900) RX
+ Else if(CARG(1:2).EQ.'Y=') then
+ Read(CARG(3:),*,Err=900) RY
+ Else if(CARG(1:2).EQ.'Z=') then
+ Read(CARG(3:),*,Err=900) RZ
+ Else if(K1.LE.0) then
+ K1=K1+1
+ If (K1.EQ.1) then
+ FPRF=CARG
+ End if
+ Else
+ Go to 900
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ End do
+
+ 20 Continue
+
+ 100 Return
+ 900 IRC=-1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Include 'reprf.f'
+ Include 'recmd.f'
+ Include 'wrprf.f'
+ Include 'lblnk.f'
+ Include 'Xblnk.f'
diff --git a/ptoh.f b/ptoh.f
new file mode 100644
index 0000000..d07d3e2
--- /dev/null
+++ b/ptoh.f
@@ -0,0 +1,413 @@
+* Program ptoh
+*----------------------------------------------------------------------*
+* $Id: ptoh.f,v 2.11 2003/12/01 13:33:05 vflegel Exp $
+*----------------------------------------------------------------------*
+* Function: Reformats profile -> hmm: in-fmt=PROSITE / out-fmt=SAM
+* Author: Philipp Bucher
+* Contact: pftools at isb-sib.ch
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* DATA
+*----------------------------------------------------------------------*
+
+ Include 'ardim.f'
+
+* array dimensions and I/O units
+
+ Parameter (NOUT= 6)
+
+ Parameter (NPRF= 11)
+ Parameter (NNUL= 12)
+
+* profile
+
+ Character*512 FPRF
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+
+ Include 'sterr.f'
+
+* null model
+
+ Character*512 FNUL
+
+ Integer IABC(26)
+ Integer JABC(26)
+ Character*20 DABC
+
+* HMM
+
+ Include 'hmdat.f'
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* parameters and options
+
+ Logical OPTF
+ Logical OPFF
+ Logical OPTH
+ Logical OPTS
+ Logical LEOF
+
+ Real RD
+ Real RI
+ Real*8 DL
+ Integer INBP
+
+* initialization of controlled vocabularies
+
+ Include 'cvini.f'
+
+*----------------------------------------------------------------------*
+* INPUT SECTION
+*----------------------------------------------------------------------*
+
+ IRC=0
+ FPRF='stdout'
+ INBP=0
+
+* command line arguments
+
+ Call Repar(FPRF,FNUL,OPTF,OPFF,OPTH,OPTS,RD,RI,DL,IRC)
+ If(IRC.NE.0) then
+ Write(NERR,'(/,
+ * ''ptoh 2.3 revision 5.d'',//
+ * ''Usage: ptoh [ -fhsFDIL ] [ profile-file | - ] '',
+ * ''[ random-model-file ] [ parameters ]'',//
+ * )')
+ Write(NERR,'(
+ * '' options:'',/,
+ * '' -f: emulate domain- or semi-global alignment mode.'',/
+ * '' -h: print usage help text.'',/
+ * '' -s: output in SAM format (if not set: HMMER1 '',
+ * ''format).'',/
+ * '' -F: emulate local alignment mode.''
+ * )')
+ Write(NERR,'(
+ * '' -D<value>:'',/
+ * '' delete-to-delete transition probabilities '',
+ * ''(default: 0.9).'',/
+ * '' -I<value>:'',/
+ * '' insert-to-insert transition probabilities '',
+ * ''(default: 0.99).'',/
+ * '' -L<value>:'',/
+ * '' logarithmic base (default: 1.0233739).'',/
+ * )')
+ Write(NERR,'(
+ * '' valid (but deprecated) parameters are:'',/,
+ * '' [D=del-to-del-prob] use option -D instead'',/
+ * '' [I=ins-to-ins-prob] use option -I instead'',/
+ * '' [L=log-base] use option -L instead'',/
+ * )')
+ Call Exit(IRC)
+ End if
+
+* read profile
+
+ If(FPRF.EQ.'-') then
+ MPRF=5
+ Else
+ MPRF=NPRF
+ End if
+
+ Call REPRF
+ * (MPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * BLOG,FABC,P0,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,CHIL,IIPL,ILIP,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,.FALSE.,IRC)
+
+ If(IRC.NE.0) go to 100
+
+ If(NABC.GE.20) then
+ DABC='ACDEFGHIKLMNPQRSTVWY'
+ MABC=20
+ Else
+ DABC='ACGT'
+ MABC=4
+ End if
+
+* read null model
+
+ If (FNUL.NE.' ') then
+ Call RHNUL(NNUL,FNUL,FABC,MABC,IRC)
+ If(IRC.NE.0) go to 100
+ Else if(P0.GT.0.0) then
+ Call NRNUL(NABC,CABC,FABC,P0,DABC,MABC)
+ Else
+ Call DFNUL(FABC,P0,DABC,MABC)
+ End if
+
+* reduce / rearrange alphabet
+
+ K1=0
+ Do I1=1,NABC
+ N1=Index(DABC(1:MABC),CABC(I1))
+ If(N1.NE.0) then
+ IABC(N1)=I1
+ K1=K1+1
+ End if
+ End do
+
+ If(K1.NE.MABC) go to 901
+
+ Do I1=0,LPRF
+ Do I2=1,MABC
+ JABC(I2)=IIPP(IABC(I2),I1)
+ End do
+ Do I2=1,MABC
+ IIPP(I2,I1)=JABC(I2)
+ End do
+ If(I1.NE.0) then
+ Do I2=1,MABC
+ JABC(I2)=IMPP(IABC(I2),I1)
+ End do
+ Do I2=1,MABC
+ IMPP(I2,I1)=JABC(I2)
+ End do
+ End if
+ End do
+ NABC=MABC
+ Do I1=1,NABC
+ CABC(I1)=DABC(I1:I1)
+ End do
+
+* convert profile into Log(Prob)
+
+ If (DL .NE.0.0) then
+ DL=LOG(DL)
+ Else if(BLOG.NE.0.0) then
+ DL=LOG(BLOG)
+ Else
+ DL=(LOG(2.0)/30.0)
+ End if
+
+ Do I1=0,LPRF
+ Do I2=0,46
+ If(I1.EQ.0.OR.I2.GT.27) then
+ RIHM(I2,I1)=Real(IIPP(I2,I1))*DL
+ Else
+ RMHM(I2,I1)=Real(IMPP(I2,I1))*DL
+ RIHM(I2,I1)=Real(IIPP(I2,I1))*DL
+ End if
+ End do
+ End do
+ FLOW=Real(NLOW)*DL
+
+* subtract null model
+
+ Do I1=1,NABC
+ R1=LOG(FABC(I1))
+ RIHM(I1, 0)=RIHM(I1, 0)+R1
+ Do I2=1,LPRF
+ RIHM(I1,I2)=RIHM(I1,I2)+R1
+ RMHM(I1,I2)=RMHM(I1,I2)+R1
+ End do
+ End do
+
+* modify begin state
+
+ RIHM(MM, 0)=RIHM(BM, 0)
+ RIHM(MI, 0)=RIHM(BI, 0)
+ RIHM(MD, 0)=RIHM(BD, 0)
+ RIHM(DM, 0)=FLOW
+ RIHM(DI, 0)=FLOW
+ RIHM(DD, 0)=FLOW
+
+* modify end state
+
+ RIHM(MM,LPRF)=RIHM(ME,LPRF)
+ RIHM(IM,LPRF)=RIHM(IE,LPRF)
+ RIHM(DM,LPRF)=RIHM(DE,LPRF)
+ RIHM(MD, 0)=FLOW
+ RIHM(ID, 0)=FLOW
+ RIHM(DD, 0)=FLOW
+
+* scale HMM
+
+ If(OPTS) then
+ Call SCHMM(NOUT,
+ * IDMP,RIHM,RMHM,LPRF,NABC,FLOW,FSCA,OPTF,OPFF,RD,RI)
+ Else
+ Call SCHMM(NERR,
+ * IDMP,RIHM,RMHM,LPRF,NABC,FLOW,FSCA,OPTF,OPFF,RD,RI)
+ End if
+
+* print HMM
+
+ If(OPTS) then
+ If(NABC.EQ.4) then
+ R =RIHM(3, 0)
+ RIHM(3, 0)=RIHM(2, 0)
+ RIHM(2, 0)=R
+ Do I1=1,LPRF
+ R =RIHM(3,I1)
+ RIHM(3,I1)=RIHM(2,I1)
+ RIHM(2,I1)=R
+ R =RMHM(3,I1)
+ RMHM(3,I1)=RMHM(2,I1)
+ RMHM(2,I1)=R
+ End do
+ End if
+ Call WRSAM(NOUT,
+ * IDMP,RIHM,RMHM,LPRF,NABC,FABC,FLOW,FSCA,DL)
+ Else
+ Call WRHMR(NOUT,NERR,
+ * IDMP,RIHM,RMHM,LPRF,NABC,CABC,FLOW,FSCA,DL)
+ End if
+
+ 100 Call Exit(IRC)
+
+* errors
+
+ 901 Write(NERR,*) 'Error: Incompatible alphabets between profile and',
+ * ' null model.'
+ IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine Repar
+ * (FPRF,FNUL,OPTF,OPFF,OPTH,OPTS,RD,RI,DL,IRC)
+
+ Character*(*) FPRF
+ Character*(*) FNUL
+ Character*512 CARG
+
+ Logical OPTF
+ Logical OPFF
+ Logical OPTH
+ Logical OPTS
+
+ Real*8 DL
+
+ IRC=0
+
+* initializations
+
+ FPRF='-'
+ FNUL=' '
+
+ OPTF=.FALSE.
+ OPFF=.FALSE.
+ OPTH=.TRUE.
+ OPTS=.FALSE.
+
+ DL=1.0233739
+ RI=0.99
+ RD=0.9
+
+ N1=Iargc()
+
+ K1=0
+ I2=1
+ Do I1=1,N1
+ Call GetArg(I2,CARG)
+ If (CARG(1:1).EQ.'-'.AND.CARG(2:2).NE.' ') then
+ If(Index(CARG,'h').NE.0) go to 900
+ If(Index(CARG,'f').NE.0) OPTF=.TRUE.
+ If(Index(CARG,'F').NE.0) OPFF=.TRUE.
+ If(Index(CARG,'s').NE.0) then
+ OPTS=.TRUE.
+ OPTH=.FALSE.
+ End if
+ If(Index(CARG,'D').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RD
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RD
+ End if
+ End if
+ If(Index(CARG,'I').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) RI
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) RI
+ End if
+ End if
+ If(Index(CARG,'L').NE.0) then
+ If(CARG(3:3).NE.' ') then
+ Read(CARG(3:),*,Err=900) DL
+ Else
+ I2=I2+1
+ Call GetArg(I2,CARG)
+ Read(CARG,*,Err=900) DL
+ End if
+ End if
+ Else if(CARG(1:2).EQ.'D=') then
+ Read(CARG(3:),*,Err=900) RD
+ Else if(CARG(1:2).EQ.'I=') then
+ Read(CARG(3:),*,Err=900) RI
+ Else if(CARG(1:2).EQ.'L=') then
+ Read(CARG(3:),*,Err=900) DL
+ Else if(K1.LE.1) then
+ K1=K1+1
+ If (K1.EQ.1) then
+ FPRF=CARG
+ Else if(K1.EQ.2) then
+ FNUL=CARG
+ End if
+ Else
+ Go to 900
+ End if
+ I2=I2+1
+ If(I2.GT.N1) Go to 20
+ End do
+
+ 20 Continue
+
+ 100 Return
+ 900 IRC=-1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine NRNUL(NABC,CABC,FABC,P0,DABC,MABC)
+
+ Character CABC(0:26)
+ Real FABC(0:26)
+ Character*(*) DABC
+ Real RABC(20)
+
+ X=0
+ Do I1=1,NABC
+ N1=Index(DABC(1:MABC),CABC(I1))
+ If(N1.NE.0) then
+ RABC(N1)=FABC(I1)
+ X=X+RABC(N1)
+ End if
+ End do
+
+ X=P0/X
+
+ Do I1=1,MABC
+ FABC(I1)=RABC(I1)*X
+ End do
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Include 'reprf.f'
+ Include 'rhnul.f'
+ Include 'wrsam.f'
+ Include 'wrhmr.f'
+ Include 'schmm.f'
+ Include 'dfnul.f'
+ Include 'lblnk.f'
+ Include 'Xblnk.f'
diff --git a/pxdat.f b/pxdat.f
new file mode 100644
index 0000000..ca7f57b
--- /dev/null
+++ b/pxdat.f
@@ -0,0 +1,35 @@
+*----------------------------------------------------------------------*
+* $Id: pxdat.f,v 2.4 2003/04/10 11:58:37 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+* PROFILE EXTRA PARAMETERS
+
+ Integer XM
+ Integer XI
+ Integer XD
+ Integer YM
+ Integer YI
+ Integer YD
+ Integer MX
+ Integer IX
+ Integer DX
+ Integer MY
+ Integer IY
+ Integer DY
+
+ Parameter (XM= 1)
+ Parameter (XI= 2)
+ Parameter (XD= 3)
+ Parameter (YM= 4)
+ Parameter (YI= 5)
+ Parameter (YD= 6)
+ Parameter (MX= 7)
+ Parameter (IX= 8)
+ Parameter (DX= 9)
+ Parameter (MY= 10)
+ Parameter (IY= 11)
+ Parameter (DY= 12)
+*
+ Integer IIPX(1:12,0:IDMP)
+
diff --git a/recmd.f b/recmd.f
new file mode 100644
index 0000000..7b381b9
--- /dev/null
+++ b/recmd.f
@@ -0,0 +1,30 @@
+*----------------------------------------------------------------------*
+* $Id: recmd.f,v 2.4 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine RECMD(RCEX)
+
+ Character*(*) RCEX
+
+ Character*512 CARG
+ Character*512 CMDL
+
+ LCMD=LEN(RCEX)
+
+* Concatenate arguments of command-line
+
+ N=Iargc()
+
+ IC=1
+ Do I1=0,N
+ Call GetArg(I1,CARG)
+ CMDL(IC:)=CARG
+ IC=Lblnk(CMDL)+2
+ End do
+
+ RCEX=CMDL
+ If(IC.GT.LCMD) RCEX(LCMD-1:LCMD)='..'
+
+ Return
+ End
diff --git a/regpr.f b/regpr.f
new file mode 100644
index 0000000..e6e0af8
--- /dev/null
+++ b/regpr.f
@@ -0,0 +1,285 @@
+*----------------------------------------------------------------------*
+* $Id: regpr.f,v 2.5 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine REGPR
+ * (NGPR,FGPR,
+ * RG,RE,RF,RO,LSYM,
+ * CPID,CPAC,CPDE,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * CHID,IIPD,CHMD,IMPD,
+ * IRC)
+
+ Character*(*) FGPR
+ Character*512 RCIN
+ Character B
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+
+ Include 'sterr.f'
+
+ Integer IPRF(32)
+ Character CPRF
+
+ Logical LSYM
+
+ Integer Getc
+
+ IRC=0
+
+* open input file
+
+ If(FGPR.EQ.'-') then
+ 1 Open(NGPR,Status='SCRATCH',Err=901)
+ 2 Continue
+ Do I1=1,512
+ If(Getc(B).NE.0) go to 3
+ If(Ichar(B).EQ.10) then
+ Write(NGPR,'(512A)',Err=903)(RCIN(ii1:ii1),ii1=1,I1-1)
+ Go to 2
+ Else
+ RCIN(I1:I1)=B
+ End if
+ End do
+ Go to 905
+ 3 Rewind(NGPR)
+ Else
+ Open(NGPR,File=FGPR,Status='OLD',Err=900)
+ End if
+
+* initialize
+
+* - profile header
+
+ CPID='GCG_PROFILE'
+ CPAC='GC99999'
+ CPDE='Automatically reformatted from file '''
+ * // FGPR(1:Lblnk(FGPR))
+ * // '''.'
+
+* - accessories
+
+ LPCI=.FALSE.
+
+ JNOR=1
+ MNOR(1)=1
+ NNOR(1)=1
+ NNPR(1)=1
+ CNTX(1)='OrigScore'
+ RNOP(1,1)=0.0
+ RNOP(2,1)=1/RF
+
+ JCUT=1
+ MCLE(1)=0
+ CCUT(1)=' '
+ ICUT(1)=0
+ JCNM(1)=1
+ RCUT(1,1)=0.0
+ MCUT(1,1)=1
+
+* - defaults for match and insert position
+
+ CHID='-'
+ Do 15 I1=1,26
+ IIPD(I1)=0
+ 15 Continue
+
+ IIPD(B0)=0
+ IIPD(B1)=NLOW
+ IIPD(E0)=0
+ IIPD(E1)=NLOW
+
+ IIPD(BM)=0
+ IIPD(BI)=NLOW
+ IIPD(BD)=NLOW
+ IIPD(BE)=NLOW
+ IIPD(MM)=0
+ IIPD(MI)=NLOW
+ IIPD(MD)=NLOW
+ IIPD(ME)=0
+ IIPD(IM)=0
+ IIPD(II)=0
+ IIPD(ID)=NLOW
+ IIPD(IE)=NLOW
+ IIPD(DM)=0
+ IIPD(DI)=NLOW
+ IIPD(DD)=0
+ IIPD(DE)=NLOW
+
+ IIPD(I0)=0
+
+ CHMD='X'
+ Do 16 I1=1,26
+ IMPD(I1)=0
+ 16 Continue
+
+ IIPD(M0)=0
+ IMPD(D )=0
+
+ Do 18 I1=0,27
+ IMPP(I1,0)=NLOW
+ 18 Continue
+
+* read alphabet
+
+ 25 Read(NGPR,'(A)',End=905,Err=902) RCIN
+ If(RCIN( 1: 4).NE.'Cons') go to 25
+
+ IC1=Index(RCIN,'Gap')
+ K1=0
+ Do 29 I1=5,IC1-1
+ If(RCIN(I1:I1).NE.' ') then
+ K1=K1+1
+ CABC(K1)=RCIN(I1:I1)
+ End if
+ 29 Continue
+ NABC=K1
+
+* read numbers
+
+ K1=0
+ 30 Read(NGPR,'(A)',End= 50,Err=902) RCIN
+ If(RCIN( 1: 1).EQ.'!') go to 30
+
+* - input line
+
+C RCIN(1024:1024)='@'
+ CPRF=RCIN(2:2)
+ Read(RCIN(3:512),*,Err=910,End= 50)
+ * (IPRF(ii1),ii1=1,NABC+2)
+ Do 34 I2=1,NABC
+ IPRF(I2)=NINT(Real(IPRF(I2))/100*RF+RO)
+ 34 Continue
+ If(LSYM) then
+ NGO=-NINT(Real(IPRF(NABC+1))/200*RF*RG)
+ Else
+ NGO=-NINT(Real(IPRF(NABC+1))/100*RF*RG)
+ End if
+ NGE=-NINT(Real(IPRF(NABC+2))/100*RF*RE)
+
+* - build insert position
+
+ CHIP(K1)=CHID
+ Do 36 I1=0,46
+ IIPP(I1,K1)=IIPD(I1)
+ 36 Continue
+ Do 37 I1=1,NABC
+ IIPP(I1,K1)=NGE
+ 37 Continue
+ IIPP(MI,K1)=NGO
+ IIPP(MD,K1)=NGO
+ If(LSYM) then
+ IIPP(IM,K1)=NGO
+ IIPP(DM,K1)=NGO
+ End if
+
+* - build match position
+
+ K1=K1+1
+ If(K1.GT.IDMP) go to 915
+ CHMP(K1)=CPRF
+ Do 43 I1=1,NABC
+ IMPP(I1,K1)=IPRF(I1)
+ 43 Continue
+ IMPP( 0,K1)=0
+ IMPP(D ,K1)=NGE
+
+ Go to 30
+
+ 50 LPRF=K1
+ If(LPRF.LE.0) go to 920
+
+* - disjointness definition
+
+ MDIS=2
+ NDIP(1)=1+LPRF/10
+ NDIP(2)=LPRF-LPRF/10
+
+* - defaults for gap weights
+
+ NGO=IIPP(MI,0)
+ NGE=IMPP( D,1)
+ Do 53 I1=1,LPRF-1
+ NGO=MIN(NGO,IIPP(MI,I1))
+ NGE=MIN(NGE,IMPP( D,I1+1))
+ 53 Continue
+
+ IIPD(MI)=NGO
+ IIPD(MD)=NGO
+ If(LSYM) then
+ IIPD(DM)=NGO
+ IIPD(IM)=NGO
+ End if
+
+ Do 54 I1=1,NABC
+ IIPD(I1)=NGE
+ 54 Continue
+ IMPD( D)=NGE
+
+* - last insert position
+
+ CHIP(K1)=CHID
+ Do 60 I1=0,46
+ IIPP(I1,K1)=IIPD(I1)
+ 60 Continue
+
+* - domain global mode:
+
+ IIPP(B1, 0)=0
+ IIPP(E1,LPRF)=0
+
+* - move DM scores one position forward:
+
+ If(LSYM) then
+ IIPP(DM, 0)=IIPD(DM)
+ Do 65 I1=LPRF, 1,-1
+ IIPP(DM,I1)=IIPP(DM,I1-1)
+ 65 Continue
+ End if
+
+ 100 Return
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open profile file'//
+ * ' ''',FGPR(1:Lblnk(FGPR)),'''.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Unable to create temporary file.'
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Unable to read profile file.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Unable to write to temporary file.'
+ IRC=1
+ Go to 100
+ 905 Write(NERR,*) 'Error: Unexpected end of file. '//
+ * 'Unable to find profile alphabet.'
+ IRC=1
+ Go to 100
+ 910 Write(NERR,*) 'Error: Unable to read profile values.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+ 915 Write(NERR,*) 'Error: Profile length exceeds buffer size (',
+ * IDMP,').'
+ IRC=1
+ Go to 100
+ 920 Write(NERR,*) 'Error: Unexpected end of profile. Profile has '//
+ * 'zero length. Check profile syntax.'
+ IRC=1
+ Go to 100
+
+ End
diff --git a/remsa.f b/remsa.f
new file mode 100644
index 0000000..353fb52
--- /dev/null
+++ b/remsa.f
@@ -0,0 +1,128 @@
+*----------------------------------------------------------------------*
+* $Id: remsa.f,v 1.2 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine REMSA
+ * (NERR,NMSF,FMSF,
+ * IDMS,CSEQ,NSEQ,LSEQ,
+ * IDMF,RWGT,SQID,
+ * IRC)
+
+ Character*(*) FMSF
+
+ Character CSEQ(*)
+ Real*4 RWGT(*)
+ Character*(*) SQID(*)
+
+ Character*512 RCIN
+
+ IRC=0
+ NSEQ=0
+ LSEQ=0
+
+ If(FMSF.NE.'-') then
+ Open(NMSF,File=FMSF,Status='OLD',Err=900)
+ End if
+
+ 1 Read(NMSF,'(A)',Err=901,End=999,Iostat=IOS) RCIN
+ 2 If(RCIN(1:1).NE.'>') go to 1
+
+* read sequence weight in xpsa header if available
+
+ If(NSEQ+1.GT.IDMF) go to 906
+ IW=Index(RCIN,'weight=')
+ If(IW.NE.0) then
+ Read(RCIN(IW+7:),*,Err=905) RWGT(NSEQ+1)
+ Else
+ RWGT(NSEQ+1)=1.0
+ End if
+
+* read sequence identifier
+
+ L=Lblnk(RCIN)
+ Do I1=2,L
+ If(RCIN(I1:I1).NE.' ') go to 3
+ End do
+ 3 Do I2=I1,L
+ If(RCIN(I2:I2).EQ.' ') go to 4
+ End do
+ 4 If(I2-I1.GT.64) I2=I1+64
+ SQID(NSEQ+1)=RCIN(I1:I2)
+
+* read sequences in multiple alignment
+
+ J1=NSEQ*LSEQ
+ 10 RCIN=' '
+ Read(NMSF,'(A)',Err=901,Iostat=IOS) RCIN
+ L=Lblnk(RCIN)
+ If((RCIN(1:1).EQ.'>').OR.
+ * (L.EQ.0.AND.IOS.EQ.-1)) go to 20
+ Do 15 I1=1,L
+ If(RCIN(I1:I1).NE.' ') then
+ J1=J1+1
+ If(J1.GT.IDMS) go to 902
+ CSEQ(J1)=RCIN(I1:I1)
+ End if
+ 15 Continue
+ Go to 10
+
+ 20 If(J1.EQ.(NSEQ*LSEQ)) go to 903
+ If(NSEQ.EQ.0) then
+ LSEQ=J1
+ Else if(J1.NE.(NSEQ+1)*LSEQ) then
+ go to 904
+ End if
+ NSEQ=NSEQ+1
+
+ If(IOS.NE.-1) go to 2
+
+ 100 Return
+
+ 110 IX=Lblnk(SQID(NSEQ+1))
+ If(IX.GT.1) then
+ Write(NERR,*) ' While processing sequence ',
+ * SQID(NSEQ+1)(1:IX)
+ End if
+ Go to 100
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open MSA file'//
+ * ' ''',FMSF(1:Lblnk(FMSF)),'''.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Unable to read MSA file'//
+ * ' ''',FMSF(1:Lblnk(FMSF)),'''.'
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: MSA length exceeds buffer ',
+ * 'size (',IDMS,').'
+ IRC=1
+ Go to 110
+ 903 Write(NERR,*) 'Error: Unexpected end of sequence.'//
+ * ' Sequence has zero length.'
+ IRC=1
+ Go to 110
+ 904 Write(NERR,*) 'Error: Sequence length differs from expected ',
+ * 'length.'
+ IRC=1
+ Go to 110
+ 905 Write(NERR,*) 'Error: Unable to read weight in sequence ',
+ * 'header.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+ 906 Write(NERR,*) 'Error: Number of sequences in MSA file exceeds ',
+ * 'buffer size (',IDMF,').'
+ IRC=1
+ Go to 100
+
+ 999 If(NSEQ.EQ.0) then
+ Write(NERR,*) 'Error: No sequence has been read.'
+ IRC=1
+ End if
+ Go to 100
+
+ End
diff --git a/remsf.f b/remsf.f
new file mode 100644
index 0000000..5dc6f30
--- /dev/null
+++ b/remsf.f
@@ -0,0 +1,191 @@
+*----------------------------------------------------------------------*
+* $Id: remsf.f,v 2.7 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine REMSF
+ * (NERR,NMSF,FMSF,
+ * IDMS,CSEQ,NSEQ,LSEQ,
+ * IDMF,RWGT,SQID,
+ * IRC)
+
+ Character*(*) FMSF
+
+ Character CSEQ(*)
+ Real*4 RWGT(*)
+ Character*(*) SQID(*)
+
+ Logical LBKS
+ Character*512 RCIN
+ Character*32 CMIS
+
+ IRC=0
+ LBKS=.FALSE.
+
+ If(FMSF.NE.'-') then
+ Open(NMSF,File=FMSF,Status='OLD',Err=900)
+ End if
+
+ CMIS='..'
+ 1 Read(NMSF,'(A)',Err=901,End=902) RCIN
+ If(Index(RCIN,'..').EQ.0) go to 1
+
+* read length
+
+ CMIS='MSF'
+ IX=Index(RCIN,'MSF:')
+ If(IX.EQ.0) Go to 904
+ CMIS='length'
+ Read(RCIN(IX+4:),*,Err=903) LSEQ
+
+* names
+
+ NSEQ=0
+ 2 Read(NMSF,'(A)',Err=901,End=905) RCIN
+ If(RCIN(1:2).EQ.'//') go to 3
+ IX1=Index(RCIN,'Name: ')
+ If(IX1.EQ.0) go to 2
+ IX2=Index(RCIN,'Len: ')
+ If(IX2.EQ.0) go to 2
+ NSEQ=NSEQ+1
+ If(NSEQ.GT.IDMF) go to 910
+ SQID(NSEQ)=RCIN(IX1+5:IX2-1)
+ IX=Index(RCIN,'Weight: ')
+ CMIS='Weight'
+ If(IX.EQ.0) go to 904
+ Read(RCIN(IX+9:),*,Err=903) RWGT(NSEQ)
+ Go to 2
+
+* sequence offset -> NOFS
+
+ 3 Read(NMSF,'(A)',Err=901,End=905) RCIN
+ If(RCIN.EQ.' ') go to 3
+ N1=1
+ N2=0
+
+* read sequences
+
+ 10 Read(RCIN,*,Iostat=IOS) K1,K2
+ If(IOS.NE.0.OR.K1.LE.0.OR.K2.LE.0) then
+ L1=Lblnk(RCIN)
+ Do I1=1,L1
+ If(RCIN(I1:I1).NE.' ') go to 11
+ End do
+ 11 J1=I1
+ Do I1=J1,L1
+ If(RCIN(I1:I1).EQ.' ') go to 12
+ End do
+ 12 J1=I1
+ Do I1=J1+1,L1
+ If(RCIN(I1:I1).NE.' ') go to 13
+ End do
+ 13 NOFS=I1-1
+ J1=I1
+ Do I1=J1,L1
+ If(RCIN(I1:I1).NE.' ') N2=N2+1
+ End do
+C Backspace(NMSF,Err=907)
+ LBKS=.TRUE.
+ Else if(NOFS.EQ.0) then
+ NOFS=Index(RCIN,' 1')
+ N2=K2
+ If(NOFS.EQ.0) go to 3
+ Else
+ N1=K1
+ N2=K2
+ End if
+
+ Do 20 I1=0,NSEQ-1
+
+ If(LBKS) then
+ LBKS=.FALSE.
+ Go to 16
+ End if
+
+ 15 Read(NMSF,'(A)',Err=901,End=905) RCIN
+ 16 If(RCIN(1:NOFS).EQ.' ') go to 15
+
+ J1=I1*LSEQ+N1
+ N5=(I1+1)*LSEQ
+ Do 19 I2=NOFS+1,Lblnk(RCIN)
+ If(RCIN(I2:I2).NE.' ') then
+ If(J1.GT.IDMS) go to 906
+ If(J1.GT.N5) go to 911
+ CSEQ(J1)=RCIN(I2:I2)
+ J1=J1+1
+ End if
+ 19 Continue
+ If(I1.NE.0.AND.N4.NE.N2-N1+1) go to 909
+
+ If(J1.NE.I1*LSEQ+N2+1) then
+ N3=J1-I1*LSEQ-1
+ If(N3.NE.LSEQ) then
+ Go to 909
+ End if
+ End if
+ N4=N2-N1+1
+
+ 20 Continue
+
+ If(N2.GE.LSEQ) go to 100
+
+ 25 Read(NMSF,'(A)',Err=901,End=905) RCIN
+ If(RCIN.EQ.' ') go to 25
+ N1=N2+1
+ Go to 10
+
+ 100 Return
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open MSF file'//
+ * ' ''',FMSF(1:Lblnk(FMSF)),'''.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Unable to read MSF file'//
+ * ' ''',FMSF(1:Lblnk(FMSF)),'''.'
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Unexpected end of MSF file. '//
+ * 'Unable to find ''',CMIS(1:Lblnk(CMIS)),''' keyword.'
+ Write(NERR,*) ' No sequences read.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Badly formatted MSF file. '//
+ * 'Unable to read ''',CMIS(1:Lblnk(CMIS)),''' parameter.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ Write(NERR,*) ' No sequences read.'
+ IRC=1
+ Go to 100
+ 904 Write(NERR,*) 'Error: Badly formatted MSF file. '//
+ * 'Unable to find ''',CMIS(1:Lblnk(CMIS)),''' keyword.'
+ Write(NERR,*) ' No sequences read.'
+ IRC=1
+ Go to 100
+ 905 Write(NERR,*) 'Error: Unexpected end of MSF file. '//
+ * 'Unable to read sequences in MSF file.'
+ IRC=1
+ Go to 100
+ 906 Write(NERR,*) 'Error: Multiple sequence length exceeds ',
+ * 'buffer size (',IDMS,').'
+ IRC=1
+ Go to 100
+ 909 Write(NERR,*) 'Error: Sequence length differs from expected ',
+ * 'length.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+ 910 Write(NERR,*) 'Error: Number of sequences in MSF file exceeds ',
+ * 'buffer size (',IDMF,').'
+ IRC=1
+ Go to 100
+ 911 Write(NERR,*) 'Error: Sequence length exceeds expected ',
+ * 'length.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+
+ End
diff --git a/reprf.f b/reprf.f
new file mode 100644
index 0000000..0391941
--- /dev/null
+++ b/reprf.f
@@ -0,0 +1,1140 @@
+*----------------------------------------------------------------------*
+* $Id: reprf.f,v 2.17 2003/11/18 10:50:07 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine REPRF
+ * (NPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * BLOG,FABC,P0,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,CHIL,IIPL,ILIP,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,OPTV,IRC)
+
+* profile data fields
+
+ Character*(*) FPRF
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'dfdat.f'
+ Include 'pfdat.f'
+ Include 'sterr.f'
+
+ Character*512 RCIN
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* work fields
+
+ Integer NKEY
+ Character*64 CPAR
+ Character*512 CVAL
+ Logical LNEW
+ Logical LIDF
+ Logical LZCO
+ Integer ISCO(26)
+
+ Character*64 CH64
+ Character*2 CMIS
+ Logical LOPN
+ Logical LEOF
+ Logical OPTV
+
+ IRC=0
+ RCIN=' '
+ LZCO=.FALSE.
+ LEOF=.FALSE.
+
+* open profile file
+
+ Inquire(File=FPRF,OPENED=LOPN)
+ If(LOPN) go to 1
+ If(FPRF.NE.'-'.OR.NPRF.NE.5)
+ * Open(NPRF,File=FPRF,Status='OLD',Err=900)
+
+* profile-id
+
+ 1 LIDF=.FALSE.
+ CMIS='ID'
+ Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:2).NE.'ID') go to 1
+ LR=Xblnk(RCIN,64)
+ IC=Index(RCIN,';')
+ If(IC.LE.0) go to 916
+ CPID=RCIN( 6:IC-1)
+ If(Index(RCIN(IC:LR),'MATRIX').EQ.0) go to 924
+ LIDF=.TRUE.
+
+* ac-number
+
+ CMIS='AC'
+ 2 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:2).NE.'AC') go to 2
+ IX=Index(RCIN,';')-1
+ If(IX.LE.0) go to 916
+C CPAC=RCIN( 6:IC-1)
+ CPAC=RCIN(6:IX) // '|'
+
+* date, description
+
+ CMIS='DE'
+ CPDT=' '
+ 3 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:2).EQ.'DT') then
+ LR=Xblnk(RCIN,64)
+ CPDT=RCIN( 6:LR)
+ Go to 3
+ End if
+ If(RCIN(1:2).NE.'DE') go to 3
+ LR=Xblnk(RCIN,64)
+ CPDE=RCIN( 6:LR)
+
+* go to first MA line, read additional header lines
+
+ LHDR=0
+ CMIS='MA'
+ 5 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:2).NE.'MA') then
+ If(LHDR.LT.512) then
+ LHDR=LHDR+1
+ CHDR(LHDR)=RCIN
+ End if
+ go to 5
+ End if
+* LR=Lblnk(RCIN)
+
+* initialize position-independent profile parameters
+
+* - general specifications
+
+ CVAL='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ NABC=26
+ Read(CVAL,'(26A)')(CABC(ii1),ii1=1,NABC)
+
+ LPRF=0
+ LENP=0
+
+ LPCI=.FALSE.
+ P0=0.0
+
+* - disjoint mode
+
+ MDIS=1
+
+* - normalization modes
+
+ JNOR=0
+ Do 11 I1=1,MAXN
+ NNOR(I1)=I1
+ NNPR(I1)=I1
+ 11 Continue
+
+* - cut-off
+
+ JCUT=0
+
+* - defaults for match and insert position
+
+ JI=-1
+ JM=0
+
+ Call INITD(IIPD,IMPD,CHMD,CHID,NLOW)
+
+ Do 18 I1=0,27
+ IMPP(I1,0)=NLOW
+ 18 Continue
+
+* intialize profile input buffers.
+
+ LR=Xblnk(RCIN,64)
+ If(Ichar(RCIN(LR:LR)).EQ.13)LR=LR-1
+ JR=5
+
+* read next parameter
+
+ 20 Continue
+ LFTR=0
+ Call NEXTP(NPRF,RCIN,LR,JR,NKEY,LNEW,CPAR,CVAL,LFTR,CFTR,IRC)
+ If(IRC.GT.0) go to 940
+ If(IRC.LT.0) go to 930
+
+* interpret parameters
+
+* - GENERAL_SPEC:
+
+ If (NKEY.EQ.1) then
+
+ If (CPAR.EQ.'ALPHABET') then
+ Read(CVAL,*,Err=910) CH64
+ NABC=Lblnk(CH64)
+ If(NABC.GT.26) Go to 908
+ Read(CH64,'(64A)',Err=910)(CABC(ii1),ii1=1,NABC)
+
+ If(NABC.LT.20) then
+ CABC(0)='N'
+ Else
+ CABC(0)='X'
+ End if
+ Else if(CPAR.EQ.'LENGTH') then
+ Read(CVAL,*,Err=910) LENP
+ Else if(CPAR.EQ.'TOPOLOGY'.AND.CVAL.EQ.'CIRCULAR') then
+ LPCI=.TRUE.
+ Else if(CPAR.EQ.'LOG_BASE') then
+ Read(CVAL,*,Err=910) BLOG
+ If(P0.EQ.0.0) P0=1.0
+ Else if(CPAR.EQ.'P0') then
+ Read(CVAL,*,Err=910) P0
+ Else if(CPAR.EQ.'P') then
+ L1=Xblnk(CVAL,64)
+ J1=1
+ Do I1=1,L1
+ If(CVAL(I1:I1).EQ.',') J1=J1+1
+ End do
+ If(J1.GT.26) Go to 908
+ Read(CVAL,*,Err=910)(FABC(ii1),ii1=1,J1)
+ End if
+
+* - DISJOINT:
+
+ Else if(NKEY.EQ.2) then
+
+ If (CPAR.EQ.'DEFINITION') then
+ Do 31 I1=1,KDIS
+ If(CVAL.EQ.CDIS(I1)) MDIS=I1
+ 31 Continue
+ Else
+ If (CPAR.EQ.'N1') then
+ Read(CVAL,*,Err=910) NDIP(1)
+ Else if(CPAR.EQ.'N2') then
+ Read(CVAL,*,Err=910) NDIP(2)
+ End if
+ End if
+
+* - NORMALIZATION:
+
+ Else if(NKEY.EQ.3) then
+
+ If(LNEW) then
+ If(JNOR.GE.MAXN) Go to 912
+ JNOR=JNOR+1
+ CNTX(JNOR)=' '
+ End if
+
+ If (CPAR.EQ.'FUNCTION') then
+ If(CVAL.EQ.'GRIBSKOV') CVAL='GLE_ZSCORE'
+ Do 41 I1=1,KNOR
+ If(CVAL.EQ.CNOR(I1)) MNOR(JNOR)=I1
+ 41 Continue
+ If (MNOR(JNOR).EQ.0) Go to 911
+ Else if(CPAR.EQ.'MODE') then
+ Read(CVAL,*,Err=910) NNOR(JNOR)
+ Else if(CPAR.EQ.'PRIORITY') then
+ Read(CVAL,*,Err=910) NNPR(JNOR)
+ Else if(CPAR.EQ.'TEXT') then
+ Read(CVAL,*,Err=910) CNTX(JNOR)
+ Else
+ If (CPAR.EQ.'R1') then
+ Read(CVAL,*,Err=910) RNOP(1,JNOR)
+ Else if(CPAR.EQ.'R2') then
+ Read(CVAL,*,Err=910) RNOP(2,JNOR)
+ Else if(CPAR.EQ.'R3') then
+ Read(CVAL,*,Err=910) RNOP(3,JNOR)
+ Else if(CPAR.EQ.'R4') then
+ Read(CVAL,*,Err=910) RNOP(4,JNOR)
+ Else if(CPAR.EQ.'R5') then
+ Read(CVAL,*,Err=910) RNOP(5,JNOR)
+ End if
+ End if
+
+* - CUT_OFF:
+
+ Else if(NKEY.EQ.4) then
+
+ If(LNEW) then
+ If(JCUT.GE.MAXC) Go to 913
+ JCUT=JCUT+1
+ MCLE(JCUT)=0
+ CCUT(JCUT)=' '
+ JCNM(JCUT)=0
+ End if
+
+ If (CPAR.EQ.'LEVEL') then
+ Read(CVAL,*,Err=910) MCLE(JCUT)
+ If(MCLE(JCUT).EQ.0) LZCO=.TRUE.
+ Else if(CPAR.EQ.'SCORE') then
+ Read(CVAL,*,Err=910) ICUT(JCUT)
+ Else if(CPAR.EQ.'TEXT') then
+ Read(CVAL,*,Err=910) CCUT(JCUT)
+ Else if(CPAR.EQ.'N_SCORE') then
+ L1=Xblnk(CVAL,64)
+ J1=1
+ Do 51 I1=1,L1
+ If(CVAL(I1:I1).EQ.',') J1=J1+1
+ 51 Continue
+ Read(CVAL,*,Err=910)(RCUT(ii1,JCUT),ii1=1,J1)
+ JCNM(JCUT)=J1
+ Else if(CPAR.EQ.'MODE') then
+ L1=Xblnk(CVAL,64)
+ J1=1
+ Do 52 I1=1,L1
+ If(CVAL(I1:I1).EQ.',') J1=J1+1
+ 52 Continue
+ Read(CVAL,*,Err=910)(MCUT(ii1,JCUT),ii1=1,J1)
+ End if
+
+* - DEFAULT:
+
+ Else if(NKEY.EQ.5) then
+
+ If (CPAR.EQ.' ') then
+ Call INITD(IIPD,IMPD,CHMD,CHID,NLOW)
+ Else if(CPAR.EQ.'SY_I') then
+ Read(CVAL,*,Err=910) CHID
+ Else if(CPAR.EQ.'SY_M') then
+ Read(CVAL,*,Err=910) CHMD
+ Else if(CPAR.EQ.'M0'.OR.CPAR.EQ.'M'.OR.CPAR.EQ.'D') then
+ Call GETPM(CPAR,CVAL,INDX,ISCO,NABC,NLOW,IRC)
+ If(IRC.NE.0) Go to 950
+ If(INDX.EQ.1) then
+ Do 61 I1=1,NABC
+ IMPD(I1)=ISCO(I1)
+ 61 Continue
+ Else
+ IMPD(INDX)=ISCO(1)
+ End if
+ Else
+ Call GETPI(CPAR,CVAL,INDX,ISCO,NABC,NLOW,IRC)
+ If(IRC.NE.0) Go to 950
+ If(INDX.EQ.1) then
+ Do 62 I1=1,NABC
+ IIPD(I1)=ISCO(I1)
+ 62 Continue
+ Else
+ IIPD(INDX)=ISCO(1)
+ End if
+ End if
+
+* - I:
+
+ Else if(NKEY.EQ.6) then
+
+ If(LNEW) then
+ JI=JI+1
+
+ If (JI.GE.IDMP.OR.JM.GT.IDMP) then
+ Go to 915
+ End if
+
+ CHIP(JI)=CHID
+ Do 71 I1=0,46
+ IIPP(I1,JI)=IIPD(I1)
+ 71 Continue
+ If(JI.GT.JM) then
+ JM=JM+1
+ CHMP(JM)=CHMD
+ Do 72 I1=0,27
+ IMPP(I1,JM)=IMPD(I1)
+ 72 Continue
+ End if
+ End if
+
+ If (CPAR.EQ.' ') then
+ Go to 20
+ Else if(CPAR.EQ.'SY') then
+ Read(CVAL,*,Err=910) CHIP(JI)
+ Else
+ Call GETPI(CPAR,CVAL,INDX,ISCO,NABC,NLOW,IRC)
+ If(IRC.NE.0) Go to 950
+ If(INDX.EQ.1) then
+ Do 73 I1=1,NABC
+ IIPP(I1,JI)=ISCO(I1)
+ 73 Continue
+ Else
+ IIPP(INDX,JI)=ISCO(1)
+ End if
+ End if
+
+* - M:
+
+ Else if(NKEY.EQ.7) then
+
+ If(LNEW) then
+ JM=JM+1
+
+ If (JI.GE.IDMP.OR.JM.GT.IDMP) then
+ Go to 915
+ End if
+
+ CHMP(JM)=CHMD
+ Do 81 I1=0,27
+ IMPP(I1,JM)=IMPD(I1)
+ 81 Continue
+ If(JM-1.GT.JI) then
+ JI=JI+1
+ CHIP(JI)=CHID
+ Do 82 I1=0,46
+ IIPP(I1,JI)=IIPD(I1)
+ 82 Continue
+ End if
+ End if
+
+ If (CPAR.EQ.' ') then
+ Go to 20
+ Else if(CPAR.EQ.'SY') then
+ Read(CVAL,*,Err=910) CHMP(JM)
+ Else
+ Call GETPM(CPAR,CVAL,INDX,ISCO,NABC,NLOW,IRC)
+ If(IRC.NE.0) Go to 950
+ If(INDX.EQ.1) then
+ Do 83 I1=1,NABC
+ IMPP(I1,JM)=ISCO(I1)
+ 83 Continue
+ Else
+ IMPP(INDX,JM)=ISCO(1)
+ End if
+ End if
+ Else
+ Continue
+ End if
+
+C Print *,JI,JM,NKEY,' ',LNEW,' ',
+C * CPAR(1:Lblnk(CPAR)),'=',
+C * CVAL(1:Lblnk(CVAL))
+
+ Go to 20
+
+ 90 Continue
+ IRC=0
+
+* last insert position
+* store values for multiple matches of circular profiles
+
+ If(LPCI) then
+ If(JI.EQ.JM) then
+ ILIP=0
+ CHIL=CHIP(0)
+ CHIP( 0)=CHIP( JI)
+ Do 91 I1=0,46
+ IIPL(I1)=IIPP(I1, 0)
+ IIPP(I1, 0)=IIPP(I1,JI)
+ 91 Continue
+ Else
+ JI=JI+1
+ ILIP=JI
+ CHIL=CHID
+ CHIP( JI)=CHIP( 0)
+ Do 92 I1=0,46
+ IIPL(I1)=IIPD(I1)
+ IIPP(I1,JI)=IIPP(I1, 0)
+ 92 Continue
+ End if
+ Else if(JI.LT.JM) then
+ JI=JI+1
+ CHIP( JI)=CHID
+ Do 93 I1=0,46
+ IIPP(I1,JI)=IIPD(I1)
+ 93 Continue
+ End if
+
+
+* set length of profile
+
+ LPRF=JI
+
+* check consistency of some parameters
+
+ 94 If(.NOT.LZCO.OR.JCUT.EQ.0) go to 919
+ If(LPRF.LT.1) then
+ Go to 918
+ Else
+ INBP=INBP+1
+ End if
+ If(NDIP(1).LE.0.OR.NDIP(1).GT.LPRF) then
+ NDIP(1)=1
+ Go to 923
+ End if
+ If(NDIP(2).LE.0.OR.NDIP(2).GT.LPRF) then
+ NDIP(2)=LPRF
+ Go to 923
+ End if
+ If(NDIP(2).LT.NDIP(1)) then
+ I1=NDIP(2)
+ NDIP(2)=NDIP(1)
+ NDIP(1)=I1
+ End if
+C Do 95 I1=0,JI
+C Write(NERR,*) 'I[',I1,']: '
+C Write(NERR,*)(IIPP(ii1,I1),ii1=0,46)
+C 95 Continue
+C
+C Do 96 I1=0,JM
+C Write(NERR,*) 'M[',I1,']: '
+C Write(NERR,*)(IMPP(ii1,I1),ii1=0,27)
+C 96 Continue
+
+ 100 Return
+
+ 110 If(LIDF.AND.IRC.NE.0) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ Go to 100
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open profile file'//
+ * ' ''',FPRF(1:Xblnk(FPRF,64)),'''.'
+ IRC=1
+ Go to 110
+ 901 Write(NERR,*) 'Error: Unable to read profile file'//
+ * ' ''',FPRF(1:Xblnk(FPRF,64)),'''.'
+ IRC=1
+ Go to 110
+ 902 If(INBP.LT.1.OR.LIDF) then
+ Write(NERR,*) 'Error: Unexpected end of file. '//
+ * 'Unable to find profile ',CMIS,' line.'
+ If(INBP.LT.1)
+ * Write(NERR,*) ' No profile read.'
+ IRC=1
+ Else
+ LEOF=.TRUE.
+ IRC=0
+ End if
+ Go to 110
+ 906 Write(NERR,*) 'Error: Unknown data block at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=1
+ Go to 110
+ 908 Write(NERR,*) 'Error: Too many values for parameter '//
+ * CPAR(1:Lblnk(CPAR))
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=1
+ Go to 110
+ 910 Write(NERR,*) 'Error: Unable to read value of parameter '//
+ * CPAR(1:Lblnk(CPAR))
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=1
+ Go to 110
+ 911 Write(NERR,*) 'Error: Unknown value '//
+ * CVAL(1:Xblnk(CVAL,64)),' for parameter '//
+ * CPAR(1:Lblnk(CPAR))
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=1
+ Go to 110
+ 912 Write(NERR,*) 'Error: Maximum number of NORMALIZATION '//
+ * 'data blocks exceeded '
+ IRC=1
+ Go to 110
+ 913 Write(NERR,*) 'Error: Maximum number of CUT_OFF '//
+ * 'data blocks exceeded '
+ IRC=1
+ Go to 110
+ 914 Write(NERR,*) 'Error: Unknown parameter '//
+ * CPAR(1:Lblnk(CPAR))
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=1
+ Go to 110
+ 915 Write(NERR,*) 'Error: Profile length exceeds buffer size (',
+ * IDMP,').'
+ IRC=1
+ Go to 110
+ 916 Write(NERR,*) 'Error: Missing semicolon.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=1
+ Go to 110
+ 917 Write(NERR,*) 'Error: Missing ''MATRIX'' keyword in ID line.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=1
+ Go to 110
+ 918 Write(NERR,*) 'Error: Unexpected end of profile. Profile has '//
+ * 'zero length. Check profile syntax.'
+ IRC=1
+ Go to 110
+
+ 919 Write(NERR,*) 'Error: No level 0 ''CUT-OFF'' data-block'//
+ * ' in profile.'
+ Write(NERR,*) ' Check profile syntax.'
+ IRC=1
+ Go to 110
+
+* warnings
+
+ 920 If(.NOT.OPTV) then
+ Write(NERR,*)'Warning: Unexpected profile separator (''//'')'//
+ * ' found. Unable to find ',CMIS,' line.'
+ If(LIDF) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ Write(NERR,*) ' Reading next profile.'
+ End if
+ IRC=0
+ Go to 1
+
+ 921 If(.NOT.OPTV) then
+ Write(NERR,*) 'Warning: Parameter name too long at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ If(LIDF) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ Write(NERR,*) ' Skipping parameter.'
+ End if
+ IRC=0
+ Go to 20
+
+ 922 If(.NOT.OPTV) then
+ Write(NERR,*) 'Warning: Parameter value too long at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ If(LIDF) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ Write(NERR,*) ' Skipping parameter.'
+ End if
+ IRC=0
+ Go to 20
+
+ 923 If(.NOT.OPTV) then
+ Write(NERR,*) 'Warning: Disjointness parameter out of bound. '
+ Write(NERR,*) ' Setting parameter to acceptable value.'
+ If(LIDF) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ End if
+ Go to 94
+
+ 924 If(.NOT.OPTV) then
+ Write(NERR,*) 'Warning: Missing ''MATRIX'' keyword in ID line.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=0
+ If(LIDF) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ Write(NERR,*) ' Reading next profile.'
+ End if
+ IRC=0
+ Go to 1
+
+
+* process warnings occuring in NEXTP()
+
+ 930 If(IRC.EQ.-3) Go to 921
+ If(IRC.EQ.-4) Go to 922
+ Go to 90
+
+* process errors occuring in NEXTP()
+
+ 940 If(IRC.EQ.2) Go to 906
+ Go to 901
+
+* process errors occuring in GETPI() or GETPM()
+
+ 950 If(IRC.GT.0) Go to 910
+ If(IRC.EQ.-1) Go to 914
+ If(IRC.EQ.-2) Go to 908
+ Go to 90
+
+ End
+
+
+*----------------------------------------------------------------------*
+* Initializes all parameters to their implicit defaults
+*----------------------------------------------------------------------*
+
+ Subroutine INITD(IIPD,IMPD,CHMD,CHID,NLOW)
+
+ Integer B0
+ Integer B1
+ Integer E0
+ Integer E1
+ Integer BM
+ Integer BI
+ Integer BD
+ Integer BE
+ Integer MM
+ Integer MI
+ Integer MD
+ Integer ME
+ Integer DM
+ Integer DI
+ Integer DD
+ Integer DE
+ Integer IM
+ Integer II
+ Integer ID
+ Integer IE
+
+ Integer M0
+ Integer I0
+ Integer D
+
+ Parameter (B0= 27)
+ Parameter (B1= 28)
+ Parameter (E0= 29)
+ Parameter (E1= 30)
+ Parameter (BM= 31)
+ Parameter (BI= 32)
+ Parameter (BD= 33)
+ Parameter (BE= 34)
+ Parameter (MM= 35)
+ Parameter (MI= 36)
+ Parameter (MD= 37)
+ Parameter (ME= 38)
+ Parameter (IM= 39)
+ Parameter (II= 40)
+ Parameter (ID= 41)
+ Parameter (IE= 42)
+ Parameter (DM= 43)
+ Parameter (DI= 44)
+ Parameter (DD= 45)
+ Parameter (DE= 46)
+
+ Parameter (M0= 0)
+ Parameter (I0= 0)
+ Parameter (D = 27)
+
+ Integer IIPD(0:46)
+ Integer IMPD(0:27)
+ Character CHMD
+ Character CHID
+
+ CHID='-'
+ Do 10 I1=1,26
+ IIPD(I1)=0
+ 10 Continue
+
+ IIPD(B0)=0
+ IIPD(B1)=0
+ IIPD(E0)=0
+ IIPD(E1)=0
+
+ IIPD(BM)=0
+ IIPD(BI)=NLOW
+ IIPD(BD)=NLOW
+ IIPD(BE)=NLOW
+ IIPD(MM)=0
+ IIPD(MI)=NLOW
+ IIPD(MD)=NLOW
+ IIPD(ME)=0
+ IIPD(IM)=NLOW
+ IIPD(II)=0
+ IIPD(ID)=NLOW
+ IIPD(IE)=NLOW
+ IIPD(DM)=NLOW
+ IIPD(DI)=NLOW
+ IIPD(DD)=0
+ IIPD(DE)=NLOW
+
+ IIPD(I0)=0
+
+ CHMD='X'
+ Do 15 I1=1,26
+ IMPD(I1)=0
+ 15 Continue
+
+ IMPD(M0)=0
+ IMPD(D )=0
+
+ 100 Return
+
+ End
+
+*----------------------------------------------------------------------*
+ Subroutine NEXTP(NPRF,RCIN,LR,JR,NKEY,LNEW,CPAR,CVAL,LFTR,
+ * CFTR,IRC)
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+ Character*(*) RCIN
+ Character*(*) CPAR
+ Character*(*) CVAL
+ Character*(*) CFTR(1024)
+ Logical LNEW
+
+ LNEW=.FALSE.
+ 3 Do 4 I1=JR+1,LR
+ JR=JR+1
+ If(Index(' ;,. ',RCIN(JR:JR)).EQ.0) go to 10
+ 4 Continue
+
+ 5 Read(NPRF,'(A)',Err=999,End=901) RCIN
+ If (RCIN(1:2).EQ.'MA') then
+ LFTR=0
+ Else if(RCIN(1:2).EQ.'CC') then
+ If(LFTR.LT.1024) then
+ LFTR=LFTR+1
+ CFTR(LFTR)=RCIN
+ End if
+ Go to 5
+ Else if(RCIN(1:2).EQ.'//') then
+ Go to 902
+ Else
+ Go to 102
+ End if
+
+ LR=Xblnk(RCIN,64)
+ If(Ichar(RCIN(LR:LR)).EQ.13) LR=LR-1
+ JR=5
+ Go to 3
+
+* identify keyword
+
+ 10 If(RCIN(JR:JR).EQ.'/') then
+ LNEW=.TRUE.
+ If (RCIN(JR:JR+13).EQ.'/GENERAL_SPEC:') then
+ NKEY=1
+ JR=JR+13
+ Else if(RCIN(JR:JR+ 9).EQ.'/DISJOINT:') then
+ NKEY=2
+ JR=JR+ 9
+ Else if(RCIN(JR:JR+14).EQ.'/NORMALIZATION:') then
+ NKEY=3
+ JR=JR+14
+ Else if(RCIN(JR:JR+ 8).EQ.'/CUT_OFF:') then
+ NKEY=4
+ JR=JR+ 8
+ Else if(RCIN(JR:JR+ 8).EQ.'/DEFAULT:') then
+ NKEY=5
+ JR=JR+ 8
+ Else if(RCIN(JR:JR+ 2).EQ.'/I:') then
+ NKEY=6
+ JR=JR+ 2
+ Else if(RCIN(JR:JR+ 2).EQ.'/M:') then
+ NKEY=7
+ JR=JR+ 2
+ Else
+ Go to 900
+ End if
+ Else
+ JR=JR-1
+ End if
+
+* read parameter
+
+ LPAR=0
+ CPAR=' '
+
+ 20 JR=JR+1
+
+ If(JR.GT.LR) then
+ 21 Read(NPRF,'(A)',Err=999,End=901) RCIN
+ If(RCIN(1:2).EQ.'CC') then
+ If(LFTR.LT.1024) then
+ LFTR=LFTR+1
+ CFTR(LFTR)=RCIN
+ End if
+ Go to 21
+ End if
+ LR=Xblnk(RCIN,64)
+ If(Ichar(RCIN(LR:LR)).EQ.13) LR=LR-1
+ If(RCIN(1:2).NE.'MA') then
+ JR=LR
+ CVAL=' '
+ Go to 100
+ End if
+ LFTR=0
+ JR=6
+ End if
+
+ If(RCIN(JR:JR).EQ.'/') then
+ JR=JR-1
+ CVAL=' '
+ Go to 100
+ End if
+
+ If(RCIN(JR:JR).NE.'=') then
+ If(LPAR.NE.0.OR.RCIN(JR:JR).NE.' ') then
+ LPAR=LPAR+1
+ If(LPAR.LE.64) then
+ CPAR(LPAR:LPAR)=RCIN(JR:JR)
+ End if
+ End if
+ Go to 20
+ End if
+
+* read value
+
+ LVAL=0
+ CVAL=' '
+
+ 30 JR=JR+1
+
+ If(JR.GT.LR) then
+ 31 Read(NPRF,'(A)',Err=999,End=901) RCIN
+ If(RCIN(1:2).EQ.'CC') then
+ If(LFTR.LT.1024) then
+ LFTR=LFTR+1
+ CFTR(LFTR)=RCIN
+ End if
+ Go to 31
+ End if
+ LR=Xblnk(RCIN,64)
+ If(Ichar(RCIN(LR:LR)).EQ.13) LR=LR-1
+ If(RCIN(1:2).NE.'MA') go to 102
+ LFTR=0
+ JR=6
+ End if
+
+ If(Index('/;',RCIN(JR:JR)).EQ.0) then
+ If(LVAL.NE.0.OR.RCIN(JR:JR).NE.' ') then
+ LVAL=LVAL+1
+ If(LVAL.LE.512) then
+ CVAL(LVAL:LVAL)=RCIN(JR:JR)
+ End if
+ End if
+ Go to 30
+ End if
+
+* check parameter length against buffer size and exit
+
+ 100 If(LPAR.GT.64) Go to 903
+ If(LVAL.GT.512) Go to 904
+ 101 Return
+
+ 102 If(LFTR.LT.1024) then
+ LFTR=LFTR+1
+ CFTR(LFTR)=RCIN
+ End if
+ 103 Read(NPRF,'(A)',Err=999,End=901) RCIN
+ If(RCIN(1:2).NE.'//') then
+ Go to 102
+ Else
+ Go to 902
+ End if
+
+* Error unknown data block
+
+ 900 IRC=2
+ Go to 101
+
+* Warn end of file
+
+ 901 IRC=-1
+ Go to 101
+
+* Warn profile separator found
+
+ 902 IRC=-2
+ Go to 101
+
+* Warn parameter name too long
+
+ 903 IRC=-3
+ Go to 101
+
+* Warn parameter value too long
+
+ 904 IRC=-4
+ Go to 101
+
+* Error reading file
+
+ 999 IRC=1
+ Go to 101
+
+ End
+*----------------------------------------------------------------------*
+ Integer Function PINTR(CVAL,NLOW,IRC)
+
+ Integer NLOW
+ Character*(*) CVAL
+
+ If(Index(CVAL,'*').NE.0) then
+ PINTR=NLOW
+ Else
+ Read(CVAL,*,Err= 101) PINTR
+ End if
+ 100 Return
+ 101 IRC=1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine PINTS(NSCO,ISCO,CVAL,NLOW,NABC,IRC)
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+ Integer ISCO(*)
+ Character*(*) CVAL
+ Integer NLOW
+
+ L1=Xblnk(CVAL,64)
+ NSCO=0
+ J1=1
+ Do 10 I1=1,L1
+ If(CVAL(I1:I1).EQ.',') then
+ J2=I1-1
+ NSCO=NSCO+1
+ If(NSCO.GT.NABC) Go to 102
+ If(J2.LT.J1) then
+ ISCO(NSCO)=0
+ Else
+ If(Index(CVAL(J1:J2),'*').NE.0) then
+ ISCO(NSCO)=NLOW
+ Else
+ Read(CVAL(J1:J2),*,Err=101) ISCO(NSCO)
+ End if
+ End if
+ J1=I1+1
+ End if
+ 10 Continue
+ J2=L1
+ NSCO=NSCO+1
+ If(NSCO.GT.NABC) Go to 102
+ If(J2.LT.J1) then
+ ISCO(NSCO)=0
+ Else
+ If(Index(CVAL(J1:J2),'*').NE.0) then
+ ISCO(NSCO)=NLOW
+ Else
+ Read(CVAL(J1:J2),*,Err=101) ISCO(NSCO)
+ End if
+ End if
+
+ 100 Return
+
+ 101 IRC=1
+ Go to 100
+ 102 IRC=-2
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine GETPI(CPAR,CVAL,INDX,ISCO,NABC,NLOW,IRC)
+
+ Character*(*) CPAR
+ Character*(*) CVAL
+ Integer ISCO(*)
+ Integer NLOW
+ Integer PINTR
+
+ If (CPAR.EQ.'I0') then
+ INDX= 0
+ Else if(CPAR.EQ.'I' ) then
+ INDX= 1
+ Else if(CPAR.EQ.'B0') then
+ INDX=27
+ Else if(CPAR.EQ.'B1') then
+ INDX=28
+ Else if(CPAR.EQ.'E0') then
+ INDX=29
+ Else if(CPAR.EQ.'E1') then
+ INDX=30
+
+ Else if(CPAR.EQ.'BM') then
+ INDX=31
+ Else if(CPAR.EQ.'BI') then
+ INDX=32
+ Else if(CPAR.EQ.'BD') then
+ INDX=33
+ Else if(CPAR.EQ.'BE') then
+ INDX=34
+
+ Else if(CPAR.EQ.'MM') then
+ INDX=35
+ Else if(CPAR.EQ.'MI') then
+ INDX=36
+ Else if(CPAR.EQ.'MD') then
+ INDX=37
+ Else if(CPAR.EQ.'ME') then
+ INDX=38
+
+ Else if(CPAR.EQ.'IM') then
+ INDX=39
+ Else if(CPAR.EQ.'II') then
+ INDX=40
+ Else if(CPAR.EQ.'ID') then
+ INDX=41
+ Else if(CPAR.EQ.'IE') then
+ INDX=42
+
+ Else if(CPAR.EQ.'DM') then
+ INDX=43
+ Else if(CPAR.EQ.'DI') then
+ INDX=44
+ Else if(CPAR.EQ.'DD') then
+ INDX=45
+ Else if(CPAR.EQ.'DE') then
+ INDX=46
+ Else
+ Go to 900
+ End if
+
+ If(INDX.EQ.1) then
+ Call PINTS(NSCO,ISCO,CVAL,NLOW,NABC,IRC)
+ If(NSCO.EQ.1) then
+ Do 10 I1=2,NABC
+ ISCO(I1)=ISCO( 1)
+ 10 Continue
+ End if
+ Else
+ ISCO(1)=PINTR(CVAL,NLOW,IRC)
+ End if
+
+ 100 Return
+ 900 IRC=-1
+ Go to 100
+ End
+*----------------------------------------------------------------------*
+ Subroutine GETPM(CPAR,CVAL,INDX,ISCO,NABC,NLOW,IRC)
+
+ Character*(*) CPAR
+ Character*(*) CVAL
+ Integer ISCO(*)
+ Integer NLOW
+ Integer PINTR
+
+ If (CPAR.EQ.'M0') then
+ INDX= 0
+ Else if(CPAR.EQ.'M' ) then
+ INDX= 1
+ Else if(CPAR.EQ.'D ') then
+ INDX=27
+ Else
+ Go to 900
+ End if
+
+ If(INDX.EQ.1) then
+ Call PINTS(NSCO,ISCO,CVAL,NLOW,NABC,IRC)
+ If(NSCO.EQ.1) then
+ Do 10 I1=2,NABC
+ ISCO(I1)=ISCO( 1)
+ 10 Continue
+ End if
+ Else
+ ISCO(1)=PINTR(CVAL,NLOW,IRC)
+ End if
+
+ 100 Return
+ 900 IRC=-1
+ Go to 100
+ End
diff --git a/reseq.f b/reseq.f
new file mode 100644
index 0000000..003b7a9
--- /dev/null
+++ b/reseq.f
@@ -0,0 +1,185 @@
+*----------------------------------------------------------------------*
+* $Id: reseq.f,v 2.12 2003/11/18 10:50:07 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine RESEQ
+ * (NSEQ,FSEQ,NABC,CABC,CSID,CSAC,CSDE,LSEQ,ISEQ,LEOF,
+ * INBS,OPTV,IRC)
+
+ Include 'ardim.f'
+ Include 'sterr.f'
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* reads sequence file in Swiss-Prot/EMBL format
+
+ Character*(*) FSEQ
+ Character CABC(0:26)
+ Character*(*) CSID
+ Character*(*) CSAC
+ Character*(*) CSDE
+ Integer*2 ISEQ(*)
+ Logical LEOF
+ Logical LOPN
+ Logical LIDF
+ Logical OPTV
+ Character*2 CMIS
+ Character*256 RCIN
+
+ IRC=0
+ LIDF=.FALSE.
+ LEOF=.FALSE.
+ CMIS='ID'
+ Inquire(File=FSEQ,OPENED=LOPN)
+ If(LOPN) go to 1
+ If(FSEQ.NE.'-') Open(NSEQ,File=FSEQ,Status='OLD',Err=900)
+ 1 Read(NSEQ,'(A)',Err=901,End=999,Iostat=IOS) RCIN
+ If(RCIN(1:1).EQ.'>') go to 903
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:2).NE.'ID') go to 1
+ IC=Index(RCIN(6:17),' ')+5
+ CSID=RCIN( 6:IC)
+ LIDF=.TRUE.
+
+ CMIS='AC'
+ 2 Read(NSEQ,'(A)',Err=901,End=902,Iostat=IOS) RCIN
+ If(RCIN(1:2).NE.'AC'.AND.RCIN(1:2).NE.'DE') go to 2
+ If(RCIN(1:2).EQ.'AC') then
+ IX=Index(RCIN,';')-1
+ If(IX.LE.0) go to 916
+ CSAC=RCIN(6:IX) // '|'
+ Else
+ CSDE=RCIN( 6:Xblnk(RCIN,64))
+ Go to 4
+ End if
+
+ CMIS='DE'
+ 3 Read(NSEQ,'(A)',Err=901,End=902,Iostat=IOS) RCIN
+ If(RCIN(1:2).NE.'DE') go to 3
+ CSDE=RCIN( 6:Xblnk(RCIN,64))
+
+ CMIS='SQ'
+ 4 Read(NSEQ,'(A)',Err=901,End=902,Iostat=IOS) RCIN
+ If(RCIN(1:2).NE.'DE') go to 5
+ LR=Xblnk(CSDE,64)
+ If(CSDE(LR:LR).EQ.Char(13)) LR=LR-1
+ JN=Xblnk(RCIN,64)
+ If((LR+JN-4).LT.512)
+ * CSDE=CSDE(1:LR) // ' ' // RCIN( 6:JN)
+
+ 5 Continue
+ If(RCIN(1:2).EQ.'SQ') go to 7
+
+ 6 Read(NSEQ,'(A)',Err=901,End=902,Iostat=IOS) RCIN
+ If(RCIN(1:2).NE.'SQ') go to 6
+
+ 7 Continue
+
+ J1=0
+ 10 Read(NSEQ,'(A)',Err=901,End= 20,Iostat=IOS) RCIN
+ If(RCIN(1:2).EQ.'//') go to 20
+
+ Do 15 I1=1,Xblnk(RCIN,64)
+ N1=0
+ K1=Ichar(RCIN(I1:I1))
+ If(K1.GE.97) then
+ K1=K1-32
+ RCIN(I1:I1)=Char(K1)
+ End if
+ If(K1.GT.90.OR.K1.LT.65) go to 15
+
+ Do 13 I2=1,NABC
+ If(CABC(I2).EQ.RCIN(I1:I1)) then
+ N1=I2
+ Go to 14
+ End if
+ 13 Continue
+ 14 J1=J1+1
+ If(J1.GT.IDMS) go to 915
+ ISEQ(J1)=N1
+ 15 Continue
+ Go to 10
+
+ 20 LSEQ=J1
+ If(LSEQ.LE.0) go to 917
+ INBS=INBS+1
+
+ 100 If(IOS.EQ.-1.AND.IRC.LT.1) then
+ LEOF=.TRUE.
+ If(INBS.LT.1) go to 921
+ End if
+
+ 105 Return
+
+ 110 If(LIDF) then
+ Write(NERR,*) ' While processing sequence ',
+ * CSID(1:Lblnk(CSID))
+ End if
+ Go to 100
+
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open sequence file'//
+ * ' ''',FSEQ(1:Xblnk(FSEQ,64)),'''.'
+ IRC=1
+ Go to 110
+ 901 Write(NERR,*) 'Error: Unable to read sequence file'//
+ * ' ''',FSEQ(1:Xblnk(FSEQ,64)),'''.'
+ IRC=1
+ Go to 110
+ 902 Write(NERR,*) 'Error: Unexpected end of file. '//
+ * 'Unable to find sequence ',CMIS,' line.'
+ Write(NERR,*) ' No sequence read.'
+ IRC=1
+ Go to 110
+ 903 Write(NERR,*) 'Error: Sequence file in wrong format.'//
+ * ' Try option -f.'
+ IRC=1
+ Go to 110
+ 915 Write(NERR,*) 'Error: Sequence length exceeds buffer ',
+ * 'size (',IDMS,').'
+ IRC=1
+ Go to 110
+ 916 Write(NERR,*) 'Error: Missing semicolon.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Xblnk(RCIN,64))
+ IRC=1
+ Go to 110
+ 917 Write(NERR,*) 'Error: Unexpected end of sequence.'//
+ * ' Sequence has zero length.'
+ IRC=1
+ Go to 110
+
+* warnings
+
+ 920 If(.NOT.OPTV) then
+ Write(NERR,*)'Warning: Unexpected sequence separator (''//'')',
+ * ' found. Unable to find sequence '//CMIS//' line.'
+ If(LIDF) then
+ Write(NERR,*) ' While processing sequence ',
+ * CSID(1:Lblnk(CSID))
+ End if
+ Write(NERR,*) ' Reading next sequence.'
+ End if
+ IRC=0
+ LIDF=.FALSE.
+ CMIS='ID'
+ Go to 1
+ 921 If(.NOT.OPTV) then
+ Write(NERR,*) 'Warning: No sequence has been read.'
+ Write(NERR,*) ' No alignment produced.'
+ End if
+ IRC=1
+ Go to 105
+
+ 999 IRC=-1
+ Go to 100
+
+ End
+
diff --git a/rfseq.f b/rfseq.f
new file mode 100644
index 0000000..b5079b6
--- /dev/null
+++ b/rfseq.f
@@ -0,0 +1,137 @@
+*----------------------------------------------------------------------*
+* $Id: rfseq.f,v 2.10 2003/11/18 10:50:07 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine RFSEQ
+ * (NSEQ,FSEQ,NABC,CABC,CSID,CSAC,CSDE,CSFH,LSEQ,ISEQ,LEOF,
+ * INBS,OPTV,IRC)
+
+ Include 'ardim.f'
+ Include 'sterr.f'
+
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* reads sequence file in Pearson Fasta format
+
+ Character*(*) FSEQ
+ Character CABC(0:26)
+ Character*(*) CSID
+ Character*(*) CSAC
+ Character*(*) CSFH
+ Character*(*) CSDE
+ Integer*2 ISEQ(*)
+ Logical LEOF
+ Logical LOPN
+ Logical OPTV
+ Character*512 RCIN
+
+ IRC=0
+ LEOF=.FALSE.
+ CSID=' '
+ CSAC=' '
+ CSDE=' '
+
+ If(RCIN(1:1).EQ.'>') Go to 2
+
+ Inquire(File=FSEQ,OPENED=LOPN)
+ If(LOPN) go to 1
+ If(FSEQ.NE.'-') Open(NSEQ,File=FSEQ,Status='OLD',Err=900)
+ 1 Read(NSEQ,'(A)',Err=901,End=999,Iostat=IOS) RCIN
+ If(RCIN(1:1).NE.'>') go to 1
+
+ 2 L=Xblnk(RCIN,64)
+ IX2=Index(RCIN(1:L),' ')-1
+ If(IX2.LE.0) IX2=L
+ Do I1=IX2,2,-1
+ If(Index(':;|',RCIN(I1:I1)).NE.0) go to 3
+ End do
+ 3 IX1=I1
+ Do I1=IX2+1,L
+ If(RCIN(I1:I1).NE.' ') go to 4
+ End do
+ 4 IX3=I1
+ CSAC=RCIN(2:IX1)
+* FIXME
+* Write(NERR,*) 'SEQUENCE_READ=',CSAC
+ CSID=RCIN(IX1+1:IX2)
+ CSDE=RCIN(IX3:L)
+ CSFH=RCIN(2:IX2)
+
+ J1=0
+ 10 Read(NSEQ,'(A)',Err=901,End= 20,Iostat=IOS) RCIN
+ L=Xblnk(RCIN,64)
+ If(RCIN(1:1).EQ.'>') go to 20
+
+ Do 15 I1=1,L
+ N1=0
+ K1=Ichar(RCIN(I1:I1))
+ If(K1.GE.97) then
+ K1=K1-32
+ RCIN(I1:I1)=Char(K1)
+ End if
+ If(K1.GT.90.OR.K1.LT.65) go to 15
+
+ Do 13 I2=1,NABC
+ If(CABC(I2).EQ.RCIN(I1:I1)) then
+ N1=I2
+ Go to 14
+ End if
+ 13 Continue
+ 14 J1=J1+1
+ If(J1.GT.IDMS) go to 915
+ ISEQ(J1)=N1
+ 15 Continue
+ Go to 10
+
+ 20 LSEQ=J1
+ If(LSEQ.LE.0) go to 916
+ INBS=INBS+1
+ 100 If(IOS.EQ.-1.AND.IRC.LT.1) then
+ LEOF=.TRUE.
+ If(INBS.LT.1) go to 920
+ End if
+
+ 105 Return
+
+ 110 IX=Lblnk(CSID)
+ If(IX.GT.1) then
+ Write(NERR,*) ' While processing sequence ',
+ * CSID(1:IX)
+ End if
+ Go to 100
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open sequence file'//
+ * ' ''',FSEQ(1:Xblnk(FSEQ,64)),'''.'
+ IRC=1
+ Go to 110
+ 901 Write(NERR,*) 'Error: Unable to read sequence file'//
+ * ' ''',FSEQ(1:Xblnk(FSEQ,64)),'''.'
+ IRC=1
+ Go to 110
+ 915 Write(NERR,*) 'Error: Sequence length exceeds buffer ',
+ * 'size (',IDMS,').'
+ IRC=1
+ Go to 110
+ 916 Write(NERR,*) 'Error: Unexpected end of sequence.'//
+ * ' Sequence has zero length.'
+ IRC=1
+ Go to 110
+
+ 920 If(.NOT.OPTV) then
+ Write(NERR,*) 'Warning: No sequence has been read.'
+ Write(NERR,*) ' No alignment produced.'
+ End if
+ IRC=-1
+ Go to 105
+
+ 999 IRC=-1
+ Go to 100
+ End
+
diff --git a/rhmmer.f b/rhmmer.f
new file mode 100644
index 0000000..f46de77
--- /dev/null
+++ b/rhmmer.f
@@ -0,0 +1,153 @@
+*----------------------------------------------------------------------*
+* $Id: rhmmer.f,v 2.5 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine RHMMER(NPRF,FPRF,LPRF,RIHM,RMHM,IDMP,NABC,CABC,
+ * INBP,IRC)
+
+ Include 'pfind.f'
+ Include 'sterr.f'
+
+ Character*(*) FPRF
+
+ Include 'hmdat.f'
+
+ Character CABC(0:26)
+
+ Character*512 RCIN
+ Character*32 CMIS
+
+* initializatons
+
+ IRC=0
+
+* open HMM file
+
+ If(FPRF.NE.'-') then
+ Open(NPRF,File=FPRF,Status='OLD',Err=900)
+ End if
+
+* read header lines
+
+ 1 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:8).EQ.'HMMER2.0') Go to 910
+ If(RCIN(1:1).EQ.'#') Go to 1
+ CMIS='profile length'
+ Read(RCIN,*,Err=903,End=903) LPRF
+ If(LPRF.GT.IDMP) Go to 904
+
+ 2 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:1).EQ.'#') Go to 2
+ CMIS='alphabet length'
+ Read(RCIN,*,Err=903,End=903) NABC
+ If(NABC.GT.26) Go to 904
+
+ 3 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:1).EQ.'#') Go to 3
+
+ 4 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:1).EQ.'#') Go to 4
+ CMIS='alphabet'
+ Read(RCIN,'(26A)',Err=903,End=903)
+ * (CABC(ii1),ii1=1,NABC)
+
+ 5 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:1).EQ.'#') Go to 5
+
+ 6 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:1).EQ.'#') Go to 6
+
+* read model parameters
+
+ CMIS=' '
+ Do I1=0,LPRF
+
+* - match state
+
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(MM,I1)
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(MD,I1)
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(MI,I1)
+
+ Do I2=1,NABC
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RMHM(I2,I1)
+ End do
+
+* - delete state
+
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(DM,I1)
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(DD,I1)
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(DI,I1)
+
+ RMHM( D,I1)=1.0
+
+* - insert state
+
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(IM,I1)
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(ID,I1)
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(II,I1)
+
+ Do I2=1,NABC
+ If(next(NPRF,RCIN).NE.0) Go to 902
+ Read(RCIN,*,Err=903) RIHM(I2,I1)
+ End do
+
+ End do
+
+ 100 Return
+
+ 900 Write(NERR,*) 'Error: Unable to open profile file'//
+ * ' ''',FPRF(1:Lblnk(FPRF)),'''.'
+ IRC=1
+ Go to 100
+
+ 901 Write(NERR,*) 'Error: Unable to read profile file'//
+ * ' ''',FPRF(1:Lblnk(FPRF)),'''.'
+ IRC=1
+ Go to 100
+
+ 902 Write(NERR,*) 'Error: Unexpected end of file.'
+ Write(NERR,*) ' No profile read.'
+ IRC=1
+ Go to 100
+
+ 903 Write(NERR,*) 'Error: Unable to read value of parameter(s) '//
+ * CMIS(1:Lblnk(CMIS))
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+
+ 904 Write(NERR,*) 'Error: Value of parameter '''//
+ * CMIS(1:Lblnk(CMIS)),''' exceeds buffer size.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+
+ 910 Write(NERR,*) 'Error: HMM profile file in wrong format.'//
+ * ' Try without option -o.'
+ IRC=1
+ Go to 100
+
+ End
+*----------------------------------------------------------------------*
+ Integer function next(NPRF,RCIN)
+
+ Character*(*) RCIN
+
+ 1 Read(NPRF,'(A)',Iostat=NEXT) RCIN
+ If(RCIN(1:1).EQ.'#') go to 1
+ Return
+
+ End
diff --git a/rhmmer2.f b/rhmmer2.f
new file mode 100644
index 0000000..d98ab18
--- /dev/null
+++ b/rhmmer2.f
@@ -0,0 +1,540 @@
+*----------------------------------------------------------------------*
+* $Id: rhmmer2.f,v 2.7 2003/11/28 11:57:32 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine RHMMER2
+ * (NPRF,FPRF,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * BLOG,FABC,P0,
+ * CHID,IIPD,CHMD,IMPD,
+ * INBP,LEOF,IRC)
+
+ Character*(*) FPRF
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+ Include 'sterr.f'
+
+* work fields
+
+ Character*512 RCIN
+ Logical LOPN
+ Logical LIDF
+ Logical LEOF
+ Logical LRPF
+ Character*8 CHIN(0:26)
+ Character*32 CMIS
+ Integer LREA
+
+* initializatons
+
+ IRC=0
+ BL=LOG(2.0)
+ LEOF=.FALSE.
+ LRPF=.FALSE.
+
+* open hmm file
+
+ LIDF=.FALSE.
+ CMIS='HMMER2.0'
+ Inquire(File=FPRF,OPENED=LOPN)
+ If(LOPN) go to 1
+ If(FPRF.NE.'-'.OR.NPRF.NE.5)
+ * Open(NPRF,File=FPRF,Status='OLD',Err=900)
+
+* read first line
+
+ 1 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:8).NE.'HMMER2.0') go to 1
+
+* name (Id)
+
+ CMIS='NAME'
+ 2 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:4).NE.'NAME') go to 2
+
+ K2=Lblnk(RCIN)
+ Do I1=K2,5,-1
+ If(RCIN(I1:I1).EQ.' ') then
+ K1=I1+1
+*** To be modified into goto ?
+ go to 3
+***
+ End if
+ End do
+
+* - lower case to upper, dash to underscore
+
+ 3 CPID=' '
+ J1=0
+ Do I1=K1,K2
+ J1=J1+1
+ M1=Ichar(RCIN(I1:I1))
+ If(M1.LE.122.AND.M1.GE.97) then
+ CPID(J1:J1)=Char(M1-32)
+ Else
+ CPID(J1:J1)=RCIN(I1:I1)
+ If(CPID(J1:J1).EQ.'-') CPID(J1:J1)='_'
+ End if
+ End do
+ LIDF=.TRUE.
+
+* AC, DE
+
+ CPAC=' '
+ CPDT=' '
+ CPDE=' '
+ CMIS='LENG'
+
+ 4 Read(NPRF,'(A)',Err=901,End=902) RCIN
+
+ If(RCIN(1:2).EQ.'//') then
+ go to 920
+ Else if(RCIN(1:4).EQ.'ACC ') then
+ CPAC=RCIN(7:)
+ Go to 4
+ Else if(RCIN(1:4).EQ.'LENG') then
+ Go to 6
+ Else if(RCIN(1:4).NE.'DESC') then
+ Go to 4
+ Else
+ CPDE=RCIN(7:)
+ End if
+
+* length
+
+ 5 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:4).NE.'LENG') go to 5
+
+ 6 Read(RCIN(5:),*,Err=910) LPRF
+ If(LPRF.GE.IDMP.OR.LPRF.LE.0) go to 904
+
+* alphabet
+
+ CMIS='ALPH'
+ 7 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:4).NE.'ALPH') go to 7
+
+ If(Index(RCIN,'Amino').NE.0) then
+ NABC=20
+ RCIN='ACDEFGHIKLMNPQRSTVWY'
+ Read(RCIN,'(26A)')(CABC(ii1),ii1=1,NABC)
+ Else if(Index(RCIN,'Nucleic').NE.0) then
+ NABC=4
+ RCIN='ACGT'
+ Read(RCIN,'(26A)')(CABC(ii1),ii1=1,NABC)
+ Else
+ Go to 911
+ End if
+
+* comment lines
+
+ LHDR=0
+ CMIS='XT'
+ 8 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:2).NE.'XT') then
+ LHDR=LHDR+1
+ If(LHDR.LT.512)
+ * CHDR(LHDR)='CC ' // RCIN
+ Go to 8
+ End if
+
+* XT (only NB and EC are relevant)
+
+ Read(RCIN(3:),*,Err=910) NXNB,NXNN,NXEC,NXEJ,NXCT,NXCC,NXJB,NXJJ
+
+* Null model (NI is null model residue extension score).
+
+ CMIS='NULT'
+ 9 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:4).NE.'NULT') Go to 9
+
+ Read(RCIN(5:),*,Err=910) NI
+ BLOG=EXP(BL/1000)
+ P0=EXP(Real(NI)/1000.0*BL)
+
+ CMIS='NULE'
+ 10 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:4).NE.'NULE') Go to 10
+
+ Read(RCIN(5:),*,Err=910)(IIPP(ii1,0),ii1=1,NABC)
+ Do I1=1,NABC
+ FABC(I1)=(EXP(Real(IIPP(I1,0))/1000*BL))/20.0
+ End do
+
+* Normalization parameters, cut-off values
+
+ RNOP(1,1)=-LOG10(350.0)
+ RNOP(2,1)=1.0
+ CMIS='HMM'
+ 11 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ If(RCIN(1:3).EQ.'EVD') then
+ CMIS='EVD'
+ Read(RCIN(4:),*,Err=910) RNOP(1,1),RNOP(2,1)
+ Else if(RCIN(1:3).NE.'HMM') then
+ Go to 11
+ End if
+
+ MDIS=2
+ NDIP(1)=1
+ NDIP(2)=LPRF
+
+ JNOR=1
+ MNOR(1)=1
+ NNOR(1)=1
+ NNPR(1)=1
+ CNTX(1)='bitscore'
+
+ RNOP(1,1)=-RNOP(1,1)*RNOP(2,1)/LOG(10.0)
+ RNOP(2,1)= RNOP(2,1)*0.001/LOG(10.0)
+
+* cut-off value
+
+ JCUT=1
+ MCLE(1)=0
+ CCUT(1)=' '
+ JCNM(1)=1
+ MCUT(1,1)=1
+
+*** This is done in htop.f:
+C RCUT(1,1)=RC
+C ICUT(1)=NINT((RCUT(1,1)-RNOP(1,1))/RNOP(2,1))+1
+***
+
+* defaults
+
+ CHID='-'
+ Do I1=0,26
+ IIPD(I1)=0
+ End do
+
+ IIPD(B0)=NLOW
+ IIPD(B1)=NLOW
+ IIPD(E0)=NLOW
+ IIPD(E1)=NLOW
+
+ IIPD(BM)=0
+ IIPD(BI)=NLOW
+ IIPD(BD)=NLOW
+ IIPD(BE)=NLOW
+ IIPD(MM)=NLOW
+ IIPD(MI)=NLOW
+ IIPD(MD)=NLOW
+ IIPD(ME)=0
+ IIPD(IM)=NLOW
+ IIPD(II)=NLOW
+ IIPD(ID)=NLOW
+ IIPD(IE)=NLOW
+ IIPD(DM)=NLOW
+ IIPD(DI)=NLOW
+
+ IIPD(DD)=0
+ IIPD(DE)=NLOW
+
+ CHMD='X'
+ Do I1=0,26
+ IMPD(I1)=0
+ End do
+ IMPD(D )=0
+
+* initialize main model
+
+ LPCI=.FALSE.
+
+ Do I1=0,LPRF
+ CHIP(I1)='-'
+ Do I2=0,47
+ IIPP(I2,I1)=IIPD(I2)
+ End do
+ End do
+ Do I2=0,NABC
+ IIPP(I2, 0)=NLOW
+ End do
+ Do I1=1,LPRF
+ CHMP(I1)='X'
+ Do I2=0,47
+ IMPP(I2,I1)=IMPD(I2)
+ End do
+ End do
+
+* main model parameters
+
+ CMIS='HMM'
+ Go to 13
+ 12 Read(NPRF,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:2).EQ.'//') go to 920
+ 13 If(RCIN(1:3).NE.'HMM') Go to 12
+ Read(NPRF,'(A)',Err=901,End=903) RCIN
+ If(RCIN(1:2).EQ.'//') go to 903
+
+* first line (position zero)
+
+ Read(NPRF,'(A)',Err=901,End=903) RCIN
+ If(RCIN(1:2).EQ.'//') go to 903
+ Call c2i(RCIN,CHIN,1,3)
+ If(CHIN(1).EQ.'*') then
+ IIPP(BM, 0)=NLOW
+ Else
+ Read(CHIN(1),*,Err=912) IIPP(BM, 0)
+ End if
+ If(CHIN(2).EQ.'*') then
+ IIPP(BI, 0)=NLOW
+ Else
+ Read(CHIN(2),*,Err=912) IIPP(BI, 0)
+ End if
+ If(CHIN(3).EQ.'*') then
+ IIPP(BD, 0)=NLOW
+ Else
+ Read(CHIN(3),*,Err=912) IIPP(BD, 0)
+ End if
+
+* subsequent lines (positions 1 to LPRF)
+
+ LREA=0
+ Do I1=1,LPRF
+ Read(NPRF,'(A)',Err=901,End=903) RCIN
+ If(RCIN(1:2).EQ.'//') go to 903
+ Call c2i(RCIN,CHIN,0,NABC)
+ Do I2=1,NABC
+ If(CHIN(I2).EQ.'*') then
+ IMPP(I2,I1)=NLOW
+ Else
+ Read(CHIN(I2),*,Err=912) IMPP(I2,I1)
+ End if
+ End do
+ Read(NPRF,'(A)',Err=901,End=903) RCIN
+ Call c2i(RCIN,CHIN,0,NABC)
+ Do I2=1,NABC
+ If(CHIN(I2).EQ.'*') then
+ IIPP(I2,I1)=NLOW
+ Else
+ Read(CHIN(I2),*,Err=912) IIPP(I2,I1)
+ End if
+ End do
+ Read(NPRF,'(A)',Err=901,End=903) RCIN
+ Call c2i(RCIN,CHIN,0,9)
+ Do I2=1,NABC
+ If(CHIN(I2).EQ.'*') then
+ IIPP(I2,I1+1)=NLOW
+ Else
+ Read(CHIN(I2),*,Err=912) IIPP(I2,I1+1)
+ End if
+ End do
+ IIPP(MM,I1)=IIPP( 1,I1+1)
+ IIPP(MI,I1)=IIPP( 2,I1+1)
+ IIPP(MD,I1)=IIPP( 3,I1+1)
+ IIPP(IM,I1)=IIPP( 4,I1+1)
+ IIPP(II,I1)=IIPP( 5,I1+1)
+ IIPP(DM,I1)=IIPP( 6,I1+1)
+ IIPP(DD,I1)=IIPP( 7,I1+1)
+ IIPP(B1,I1-1)=IIPP( 8,I1+1)
+ IIPP(B0,I1-1)=IIPP( 8,I1+1)
+ IIPP(E1,I1)=IIPP( 9,I1+1)
+ IIPP(E0,I1)=IIPP( 9,I1+1)
+ LREA=LREA+1
+ End do
+
+ IIPP(BM, 0)=IIPP(B0, 0)
+ IIPP(B0, 0)=0
+ IIPP(B1, 0)=0
+
+ IIPP(BM,LPRF)=IIPP(B0,LPRF)
+ IIPP(E0,LPRF)=0
+ IIPP(E1,LPRF)=0
+
+* null model corrections, other modifications:
+
+ Do I1=0,LPRF
+ If(IIPP(B0,I1).NE.NLOW)
+ * IIPP(B0,I1)=IIPP(B0,I1)+NXNB
+ If(IIPP(B1,I1).NE.NLOW)
+ * IIPP(B1,I1)=IIPP(B1,I1)+NXNB
+ If(IIPP(E0,I1).NE.NLOW)
+ * IIPP(E0,I1)=IIPP(E0,I1)+NXEC
+ If(IIPP(E1,I1).NE.NLOW)
+ * IIPP(E1,I1)=IIPP(E1,I1)+NXEC
+ X=0
+ Do I2=1,NABC
+ If(IIPP(I2,I1).NE.NLOW) then
+ IIPP(I2,I1)=IIPP(I2,I1)-NI
+ End if
+ X=X+FABC(I2)*IIPP(I2,I1)
+ End do
+ IIPP(I0,I1)=NINT(X)
+ If(IIPP(I0,I1).LE.NLOW+27) IIPP(I0,I1)=NLOW
+ End do
+ Do I1=1,LPRF
+ X=0
+ Do I2=1,NABC
+ If(IMPP(I2,I1).NE.NLOW) then
+ IMPP(I2,I1)=IMPP(I2,I1)-NI
+ End if
+ X=X+FABC(I2)*IMPP(I2,I1)
+ End do
+ IMPP(I0,I1)=NINT(X)
+ If(IMPP(I0,I1).LE.NLOW+27) IMPP(I0,I1)=NLOW
+ End do
+
+* add consensus characters:
+
+ Do I1=1,LPRF
+ K1=IMPP( 0,I1)
+ Do I2=1,NABC
+ If(IMPP(I2,I1).GE.K1) then
+ K1=IMPP(I2,I1)
+ CHMP(I1)=CABC(I2)
+ End if
+ End do
+ End do
+
+ INBP=INBP+1
+ LIDF=.FALSE.
+ LRPF=.TRUE.
+ If(LREA.NE.LPRF) Go to 921
+
+ 15 Read(NPRF,'(A)',Err=901,End=905) RCIN
+ If(RCIN(1:2).NE.'//') go to 15
+
+ 100 If(LRPF) IRC=0
+ Return
+
+ 110 If(LIDF) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ Go to 100
+
+* errors
+
+ 900 Write(NERR,*) 'Error: Unable to open profile file'//
+ * ' ''',FPRF(1:Lblnk(FPRF)),'''.'
+ IRC=1
+ Go to 110
+ 901 Write(NERR,*) 'Error: Unable to read profile file'//
+ * ' ''',FPRF(1:Lblnk(FPRF)),'''.'
+ IRC=1
+ Go to 110
+ 902 LEOF=.TRUE.
+ If(INBP.LT.1.OR.CMIS.NE.'HMMER2.0') then
+ Write(NERR,*) 'Error: Unexpected end of file. '//
+ * 'Unable to find profile ',CMIS(1:Lblnk(CMIS)),' line.'
+ Write(NERR,*) ' No profile read.'
+ IRC=1
+ Else
+C LEOF=.TRUE.
+ IRC=-1
+ End if
+ Go to 110
+ 903 LEOF=.TRUE.
+ If(INBP.LT.1) then
+ Write(NERR,*) 'Error: Unexpected end of file. '
+ Write(NERR,*) ' Profile length does not match ',
+ * 'expected length (',LPRF,').'
+ Write(NERR,*) ' No profile read.'
+ IRC=1
+ Else
+C LEOF=.TRUE.
+ IRC=0
+ End if
+ Go to 110
+ 904 Write(NERR,*) 'Error: Profile length exceeds buffer size (',
+ * IDMP,').'
+ IRC=1
+ Go to 110
+ 905 LEOF=.TRUE.
+ Go to 100
+
+ 910 Write(NERR,*) 'Error: Unable to read value of parameter(s) '//
+ * CMIS(1:Lblnk(CMIS))
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 110
+ 911 Write(NERR,*) 'Error: Unknown alphabet type defined.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 110
+ 912 Write(NERR,*) 'Error: Unable to read profile values.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 110
+
+* warnings
+
+ 920 Write(NERR,*) 'Warning: Unexpected profile separator (''//'')',
+ * ' found.'
+ Write(NERR,*) ' Unable to find ',
+ * CMIS(1:Lblnk(CMIS)),' line.'
+ If(LIDF) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ Write(NERR,*) ' Reading next profile.'
+ IRC=0
+ LIDF=.FALSE.
+ CMIS='HMMER2.0'
+ Go to 1
+ 921 Write(NERR,*) 'Warning: Expected (',LPRF,' and ',
+ * 'actual (',LREA,') profile sizes do not match.'
+ Write(NERR,*) ' Check profile syntax.'
+ If(LIDF) then
+ Write(NERR,*) ' While processing profile ',
+ * CPID(1:Lblnk(CPID))
+ End if
+ Go to 15
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine c2i(RCIN,CHIN,N1,N2)
+
+ Character*(*) RCIN
+ Character*8 CHIN(0:26)
+ Logical LSTR
+
+ K1=N1-1
+ J1=1
+ LSTR=.FALSE.
+ Do I1=1,Lblnk(RCIN)+1
+ If(LSTR) then
+ If(RCIN(I1:I1).NE.' ') then
+ Continue
+ Else
+ CHIN(K1)=RCIN(J1:I1-1)
+ LSTR=.FALSE.
+ End if
+ Else
+ If(RCIN(I1:I1).NE.' ') then
+ K1=K1+1
+*** To be modified into Go to ?
+ If(K1.GT.N2) Return
+***
+ J1=I1
+ LSTR=.TRUE.
+ Else
+ Continue
+ End if
+ End if
+ End do
+ Return
+ End
+
diff --git a/rhnul.f b/rhnul.f
new file mode 100644
index 0000000..6086ac1
--- /dev/null
+++ b/rhnul.f
@@ -0,0 +1,90 @@
+*----------------------------------------------------------------------*
+* $Id: rhnul.f,v 2.5 2003/07/03 13:08:58 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine RHNUL(NNUL,FNUL,FABC,NABC,IRC)
+
+ Include 'sterr.f'
+
+ Character*(*) FNUL
+
+ Real FABC(0:26)
+
+ Character*512 RCIN
+ Character*512 CBUF
+ Integer IOST
+
+ IOST=0
+
+ Open(NNUL,File=FNUL,Status='OLD',Err=900)
+
+ 1 Read(NNUL,'(A)',Err=901,End=902) RCIN
+ If(RCIN(1:1).EQ.'#') Go to 1
+
+ If(RCIN(1:5).EQ.'Amino'.AND.NABC.LT.20) then
+ Go to 903
+ Else if(RCIN(1:5).EQ.'Amino'.AND.NABC.GE.20) then
+ Continue
+ Else if(RCIN(1:7).EQ.'Nucleic'.AND.NABC.NE.4) then
+ Go to 903
+ Else if(RCIN(1:7).EQ.'Nucleic'.AND.NABC.EQ.4) then
+ Continue
+ Else
+ Go to 1
+ End if
+
+ M=0
+ 2 RCIN=' '
+ Read(NNUL,'(A)',Err=901,Iostat=IOST) RCIN
+ If(IOST.NE.0.AND.RCIN.EQ.' ') Go to 5
+ If(RCIN(1:1).EQ.'#'.OR.Lblnk(RCIN).EQ.0) Go to 2
+
+ L=Index(RCIN,'#')
+ If(L.EQ.0) then
+ L=Lblnk(RCIN)
+ Else
+ L=Lblnk(RCIN(1:L-1))
+ End if
+ CBUF(M+1:)=RCIN(1:L)
+ M=M+L+1
+ If(M.GT.512) Go to 907
+ Go to 2
+
+ 5 Read(CBUF(1:M+1),*,End=905,Err=906)(FABC(ii1),ii1=1,NABC)
+
+ 100 Return
+
+ 900 Write(NERR,*) 'Error: Unable to open random model file'//
+ * ' ''',FNUL(1:Lblnk(FNUL)),'''.'
+ IRC=1
+ Go to 100
+ 901 Write(NERR,*) 'Error: Unable to read random model file'//
+ * ' ''',FNUL(1:Lblnk(FNUL)),'''.'
+ IRC=1
+ Go to 100
+ 902 Write(NERR,*) 'Error: Unexpected end of file. '//
+ * 'Unable to read random model.'
+ IRC=1
+ Go to 100
+ 903 Write(NERR,*) 'Error: Random model alphabet does not match '//
+ * 'profile alphabet.'
+ Write(NERR,*) ' at line: ',
+ * RCIN(1:Lblnk(RCIN))
+ IRC=1
+ Go to 100
+ 905 Write(NERR,*) 'Error: Not enough values in random model.'
+ Write(NERR,*) ' values read: ',
+ * CBUF(1:Lblnk(CBUF))
+ IRC=1
+ Go to 100
+ 906 Write(NERR,*) 'Error: Unable to read random model values.'
+ IRC=1
+ Go to 100
+ 907 Write(NERR,*) 'Error: Random model exceeds buffer size.'
+ Write(NERR,*) ' at line: ',
+ * CBUF(1:Lblnk(CBUF))
+ IRC=1
+ Go to 100
+
+ End
diff --git a/schmm.f b/schmm.f
new file mode 100644
index 0000000..b97e20d
--- /dev/null
+++ b/schmm.f
@@ -0,0 +1,270 @@
+*----------------------------------------------------------------------*
+* $Id: schmm.f,v 2.3 2003/03/24 14:46:10 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine SCHMM
+ * (NOUT,IDMP,RIHM,RMHM,LHMM,NABC,FLOW,FSCA,OPTF,OPFF,RD,RI)
+
+
+ Real FNOR(26)
+
+ Include 'pfind.f'
+ Include 'hmdat.f'
+ Include 'sterr.f'
+
+ Logical OPTF
+ Logical OPFF
+
+* rescale emission probabilities
+
+ Do 20 I1=0,LHMM
+ Do I2=1,NABC
+ FNOR(I2)=RIHM(I2,I1)
+ End do
+ Call GetNP(FNOR,NABC,RNOR,FLOW)
+ If(RNOR.NE.0.0) then
+ Do I2=1,NABC
+ If(RIHM(I2,I1).GT.FLOW) RIHM(I2,I1)=RIHM(I2,I1)+RNOR
+ End do
+ If(RIHM(IM,I1).GT.FLOW) RIHM(IM,I1)=RIHM(IM,I1)-RNOR
+ If(RIHM(II,I1).GT.FLOW) RIHM(II,I1)=RIHM(II,I1)-RNOR
+ If(RIHM(ID,I1).GT.FLOW) RIHM(ID,I1)=RIHM(ID,I1)-RNOR
+ End if
+
+ If(RIHM(II,I1).GE.0) then
+ Write(NOUT,'(''# Insert position '',I4,
+ * '': Log Prob(I->I)='',F8.4,'' reset to -0.01'')')
+ * I1,RIHM(II,I1)
+ RIHM(II,I1)=-0.01
+ End if
+
+ If(I1.EQ.0) then
+ Do I2=1,NABC
+ RMHM(I2,I1)=FLOW
+ End do
+ Go to 20
+ End if
+
+ Do I2=1,NABC
+ FNOR(I2)=RMHM(I2,I1)
+ End do
+ Call GetNP(FNOR,NABC,RNOR,FLOW)
+ If(RNOR.NE.0.0) then
+ Do I2=1,NABC
+ If(RMHM(I2,I1).GT.FLOW) RMHM(I2,I1)=RMHM(I2,I1)+RNOR
+ End do
+ If(RIHM(MM,I1).GT.FLOW) RIHM(MM,I1)=RIHM(MM,I1)-RNOR
+ If(RIHM(MI,I1).GT.FLOW) RIHM(MI,I1)=RIHM(MI,I1)-RNOR
+ If(RIHM(MD,I1).GT.FLOW) RIHM(MD,I1)=RIHM(MD,I1)-RNOR
+ End if
+
+ If(RMHM( D,I1).GT.FLOW) then
+ RNOR=-RMHM( D,I1)
+ RMHM( D,I1)=0.0
+ RIHM(DM,I1)=RIHM(DM,I1)-RNOR
+ RIHM(DI,I1)=RIHM(DI,I1)-RNOR
+ RIHM(DD,I1)=RIHM(DD,I1)-RNOR
+ End if
+
+ 20 Continue
+
+* transitions
+
+ Do 50 I1=LHMM,0,-1
+
+* - insert positions
+
+ FNOR( 1)=RIHM(IM,I1)
+ FNOR( 2)=RIHM(ID,I1)
+ Call GetNP(FNOR, 2,RNOR,FLOW)
+ If(RIHM(II, I1).GT.FLOW)
+ * RNOR=RNOR+LOG(1.0-EXP(RIHM(II,I1)))
+ If(RIHM(IM,I1).GT.FLOW) RIHM(IM,I1)=RIHM(IM,I1)+RNOR
+ If(RIHM(ID,I1).GT.FLOW) RIHM(ID,I1)=RIHM(ID,I1)+RNOR
+ If(RIHM(MI,I1).GT.FLOW) RIHM(MI,I1)=RIHM(MI,I1)-RNOR
+ If(RIHM(DI,I1).GT.FLOW) RIHM(DI,I1)=RIHM(DI,I1)-RNOR
+
+ If(I1.EQ.0) go to 50
+
+* -match positions
+
+ FNOR( 1)=RIHM(MM,I1)
+ FNOR( 2)=RIHM(MI,I1)
+ FNOR( 3)=RIHM(MD,I1)
+ Call GetNP(FNOR, 3,RNOR,FLOW)
+ If(RIHM(MM,I1).GT.FLOW) RIHM(MM,I1)=RIHM(MM,I1)+RNOR
+ If(RIHM(MI,I1).GT.FLOW) RIHM(MI,I1)=RIHM(MI,I1)+RNOR
+ If(RIHM(MD,I1).GT.FLOW) RIHM(MD,I1)=RIHM(MD,I1)+RNOR
+ J1=I1-1
+ If(RIHM(MM,J1).GT.FLOW) RIHM(MM,J1)=RIHM(MM,J1)-RNOR
+ If(RIHM(IM,J1).GT.FLOW) RIHM(IM,J1)=RIHM(IM,J1)-RNOR
+ If(RIHM(DM,J1).GT.FLOW) RIHM(DM,J1)=RIHM(DM,J1)-RNOR
+
+* - delete positions
+
+ FNOR( 1)=RIHM(DM,I1)
+ FNOR( 2)=RIHM(DI,I1)
+ FNOR( 3)=RIHM(DD,I1)
+ Call GetNP(FNOR, 3,RNOR,FLOW)
+ If(RIHM(DM,I1).GT.FLOW) RIHM(DM,I1)=RIHM(DM,I1)+RNOR
+ If(RIHM(DI,I1).GT.FLOW) RIHM(DI,I1)=RIHM(DI,I1)+RNOR
+ If(RIHM(DD,I1).GT.FLOW) RIHM(DD,I1)=RIHM(DD,I1)+RNOR
+ J1=I1-1
+ If(RIHM(MD,J1).GT.FLOW) RIHM(MD,J1)=RIHM(MD,J1)-RNOR
+ If(RIHM(ID,J1).GT.FLOW) RIHM(ID,J1)=RIHM(ID,J1)-RNOR
+ If(RIHM(DD,J1).GT.FLOW) RIHM(DD,J1)=RIHM(DD,J1)-RNOR
+
+ 50 Continue
+
+ FNOR( 1)=RIHM(MM, 0)
+ FNOR( 2)=RIHM(MI, 0)
+ FNOR( 3)=RIHM(MD, 0)
+ Call GetNP(FNOR, 3,RNOR,FLOW)
+ If(RIHM(MM, 0).GT.FLOW) RIHM(MM, 0)=RIHM(MM, 0)+RNOR
+ If(RIHM(MI, 0).GT.FLOW) RIHM(MI, 0)=RIHM(MI, 0)+RNOR
+ If(RIHM(MD, 0).GT.FLOW) RIHM(MD, 0)=RIHM(MD, 0)+RNOR
+
+ FSCA=-RNOR
+
+* add FIMs
+
+ If(OPTF.OR.OPFF) then
+
+ If(RD.GT.0.99999) RD=0.99999
+ If(RI.GT.0.99999) RI=0.99999
+
+ If(RD.GT.0.0) then
+ RD=LOG(RD)
+ Else
+ RD=FLOW
+ End if
+ If(RI.GT.0.0) then
+ RI=LOG(RI)
+ Else
+ RI=FLOW
+ End if
+
+* - state M( 0)
+
+ RIHM(MD, 0)=RD
+ FNOR( 1)=RIHM(MI, 0)
+ FNOR( 2)=RIHM(MM, 0)
+ Call GetNP(FNOR, 2,RNOR,FLOW)
+ If(RIHM(MD, 0).GT.FLOW)
+ * RNOR=RNOR+LOG(1.0-EXP(RIHM(MD, 0)))
+ RIHM(MI, 0)=RIHM(MI, 0)+RNOR
+ RIHM(MM, 0)=RIHM(MM, 0)+RNOR
+
+ RIHM(MI, 0)=RD
+ FNOR( 1)=RIHM(MD, 0)
+ FNOR( 2)=RIHM(MM, 0)
+ Call GetNP(FNOR, 2,RNOR,FLOW)
+ If(RIHM(MI, 0).GT.FLOW)
+ * RNOR=RNOR+LOG(1.0-EXP(RIHM(MI, 0)))
+ RIHM(MD, 0)=RIHM(MD, 0)+RNOR
+ RIHM(MM, 0)=RIHM(MM, 0)+RNOR
+
+* - state I( 0)
+
+ RIHM(ID, 0)=RD
+ FNOR( 1)=RIHM(II, 0)
+ FNOR( 2)=RIHM(IM, 0)
+ Call GetNP(FNOR, 2,RNOR,FLOW)
+ If(RIHM(ID, 0).GT.FLOW)
+ * RNOR=RNOR+LOG(1.0-EXP(RIHM(ID, 0)))
+ RIHM(II, 0)=RIHM(II, 0)+RNOR
+ RIHM(IM, 0)=RIHM(IM, 0)+RNOR
+
+ RIHM(II, 0)=RI
+ FNOR( 1)=RIHM(ID, 0)
+ FNOR( 2)=RIHM(IM, 0)
+ Call GetNP(FNOR, 2,RNOR,FLOW)
+ If(RIHM(II, 0).GT.FLOW)
+ * RNOR=RNOR+LOG(1.0-EXP(RIHM(II, 0)))
+ RIHM(ID, 0)=RIHM(ID, 0)+RNOR
+ RIHM(IM, 0)=RIHM(IM, 0)+RNOR
+
+* - state M(LHMM)
+
+ RIHM(ID,LHMM)=RD
+ FNOR( 1)=RIHM(II,LHMM)
+ FNOR( 2)=RIHM(IM,LHMM)
+ Call GetNP(FNOR, 2,RNOR,FLOW)
+ If(RIHM(ID,LHMM).GT.FLOW)
+ * RNOR=RNOR+LOG(1.0-EXP(RIHM(ID,LHMM)))
+ RIHM(II,LHMM)=RIHM(II,LHMM)+RNOR
+ RIHM(IM,LHMM)=RIHM(IM,LHMM)+RNOR
+
+ RIHM(II,LHMM)=RI
+ FNOR( 1)=RIHM(ID,LHMM)
+ FNOR( 2)=RIHM(IM,LHMM)
+ Call GetNP(FNOR, 2,RNOR,FLOW)
+ If(RIHM(II,LHMM).GT.FLOW)
+ * RNOR=RNOR+LOG(1.0-EXP(RIHM(II,LHMM)))
+ RIHM(ID,LHMM)=RIHM(ID,LHMM)+RNOR
+ RIHM(IM,LHMM)=RIHM(IM,LHMM)+RNOR
+
+* - state D(LHMM)
+
+ RIHM(DI,LHMM)=RI
+ If(RI.GT.FLOW) then
+ RIHM(DM,LHMM)=1-EXP(RI)
+ Else
+ RIHM(DM,LHMM)=1.0
+ End if
+
+
+* - state I(LHMM)
+
+ RIHM(II,LHMM)=RI
+ If(RI.GT.FLOW) then
+ RIHM(IM,LHMM)=1-EXP(RI)
+ Else
+ RIHM(IM,LHMM)=1.0
+ End if
+
+ End if
+
+* - internal delete states
+
+ If(OPFF.AND.RD.GT.FLOW) then
+ RD=LOG(EXP(RD)/(1-EXP(RD)))
+ Do I1=1,LHMM-1
+ RIHM(DD,I1)=RD
+ FNOR( 1)=RIHM(DD,I1)
+ FNOR( 2)=RIHM(DI,I1)
+ FNOR( 3)=RIHM(DM,I1)
+ Call GetNP(FNOR, 3,RNOR,FLOW)
+ RIHM(DD,I1)=RIHM(DD,I1)+RNOR
+ RIHM(DI,I1)=RIHM(DI,I1)+RNOR
+ RIHM(DM,I1)=RIHM(DM,I1)+RNOR
+ End do
+ End if
+
+ 100 Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine GetNP(FNOR,INOR,RNOR,FLOW)
+
+ Real FNOR(*)
+
+ RNOR=0.0
+
+ RMAX=FLOW
+ Do I1=1,INOR
+ RMAX=MAX(RMAX,FNOR(I1))
+ End do
+
+ If(RMAX.LE.FLOW) go to 100
+
+ RSUM=0.0
+ RCUT=MAX(FLOW,RMAX-20.0)
+ Do I1=1,INOR
+ If(FNOR(I1).GT.RCUT) RSUM=RSUM+EXP(FNOR(I1)-RMAX)
+ End do
+ RNOR=-RMAX-LOG(RSUM)
+
+ 100 Return
+ End
+*----------------------------------------------------------------------*
diff --git a/score.lis b/score.lis
new file mode 100644
index 0000000..a2e6bfd
--- /dev/null
+++ b/score.lis
@@ -0,0 +1,2023 @@
+ 621 pos. 19 - 61 swiss|P21715|CYB_AKOJE shuffled
+ 614 pos. 2905 - 2946 swiss|P37276|DYHC_DROME shuffled
+ 606 pos. 205 - 244 swiss|P03873|CYBM_YEAST shuffled
+ 581 pos. 315 - 356 swiss|P12689|REV1_YEAST shuffled
+ 576 pos. 279 - 326 swiss|P14906|NPL1_YEAST shuffled
+ 572 pos. 188 - 216 swiss|P05050|ALKB_ECOLI shuffled
+ 569 pos. 506 - 550 swiss|P34231|YKS7_YEAST shuffled
+ 569 pos. 56 - 117 swiss|P24740|POL_HV1U4 shuffled
+ 561 pos. 77 - 114 swiss|P18011|IPAB_SHIFL shuffled
+ 557 pos. 1977 - 2019 swiss|P23456|RRPL_HANTV shuffled
+ 554 pos. 573 - 616 swiss|P06761|GR78_RAT shuffled
+ 551 pos. 1 - 23 swiss|P34869|CYB_HETFR shuffled
+ 548 pos. 75 - 119 swiss|P35384|CASR_BOVIN shuffled
+ 539 pos. 453 - 496 swiss|P28886|VGLF_PHODV shuffled
+ 532 pos. 1390 - 1431 swiss|P17779|RRPO_PVXX3 shuffled
+ 527 pos. 338 - 382 swiss|P11475|ERR2_HUMAN shuffled
+ 526 pos. 469 - 502 swiss|P37966|LPLA_BACSU shuffled
+ 525 pos. 2984 - 3031 swiss|P29991|POLG_DEN27 shuffled
+ 523 pos. 552 - 592 swiss|Q06248|HS74_PARLI shuffled
+ 523 pos. 353 - 391 swiss|P34609|YO60_CAEEL shuffled
+ 519 pos. 160 - 199 swiss|P09319|PRL1_OREMO shuffled
+ 517 pos. 28 - 68 swiss|P31295|CH10_CHRVI shuffled
+ 511 pos. 261 - 298 swiss|P36120|YK04_YEAST shuffled
+ 508 pos. 12 - 47 swiss|Q03426|KIME_HUMAN shuffled
+ 506 pos. 3323 - 3368 swiss|P30427|PLEC_RAT shuffled
+ 501 pos. 1486 - 1523 swiss|P09975|YCF2_MARPO shuffled
+ 501 pos. 91 - 134 swiss|P33359|YEHW_ECOLI shuffled
+ 500 pos. 1 - 26 swiss|P08035|VS06_ROTHS shuffled
+ 498 pos. 143 - 177 swiss|P38348|YB9Q_YEAST shuffled
+ 497 pos. 536 - 577 swiss|Q04957|DPO1_BACCA shuffled
+ 496 pos. 53 - 101 swiss|P12828|VE41_NPVAC shuffled
+ 493 pos. 82 - 123 swiss|P29483|TCPR_VIBCH shuffled
+ 489 pos. 13 - 60 swiss|P29407|PGK1_YARLI shuffled
+ 485 pos. 498 - 525 swiss|Q08823|NCAP_PPRV shuffled
+ 483 pos. 230 - 271 swiss|P06273|RPOC_MARPO shuffled
+ 483 pos. 132 - 173 swiss|P00355|G3P_PIG shuffled
+ 481 pos. 239 - 290 swiss|P31760|GSPK_AERHY shuffled
+ 479 pos. 1502 - 1538 swiss|P34241|YKB4_YEAST shuffled
+ 478 pos. 779 - 819 swiss|P13587|ATN1_YEAST shuffled
+ 478 pos. 83 - 140 swiss|P17380|VP8_WTV shuffled
+ 474 pos. 621 - 637 swiss|P10802|ODP2_AZOVI shuffled
+ 471 pos. 195 - 238 swiss|P29885|VENV_VACCP shuffled
+ 468 pos. 190 - 242 swiss|P27575|CH60_BORBU shuffled
+ 467 pos. 214 - 266 swiss|P32332|PMT1_YEAST shuffled
+ 467 pos. 14 - 66 swiss|P31401|VATB_MANSE shuffled
+ 466 pos. 1 - 17 swiss|P21985|FLA2_SPIAU shuffled
+ 463 pos. 542 - 573 swiss|P15484|CS32_ECOLI shuffled
+ 461 pos. 713 - 752 swiss|P38297|YB29_YEAST shuffled
+ 461 pos. 448 - 489 swiss|P38280|YBZ8_YEAST shuffled
+ 461 pos. 89 - 124 swiss|P18431|KSGZ_DROME shuffled
+ 460 pos. 469 - 506 swiss|P30738|RRPO_TMVKR shuffled
+ 457 pos. 68 - 117 swiss|P13581|HEM1_SALTY shuffled
+ 455 pos. 45 - 89 swiss|P35346|SSR5_HUMAN shuffled
+ 453 pos. 160 - 197 swiss|P35020|ABCX_GALSU shuffled
+ 452 pos. 183 - 227 swiss|P28073|PRCD_RAT shuffled
+ 451 pos. 36 - 78 swiss|P20513|YVAD_VACCC shuffled
+ 447 pos. 302 - 343 swiss|P21239|RUB1_BRANA shuffled
+ 446 pos. 880 - 914 swiss|P22523|MUKB_ECOLI shuffled
+ 446 pos. 343 - 359 swiss|P34273|YKH5_CAEEL shuffled
+ 445 pos. 347 - 380 swiss|P12849|KAP1_MOUSE shuffled
+ 445 pos. 145 - 184 swiss|P28438|RBL_PASGU shuffled
+ 444 pos. 371 - 415 swiss|P22224|SC15_YEAST shuffled
+ 443 pos. 3648 - 3696 swiss|P14688|GRSB_BACBR shuffled
+ 442 pos. 2162 - 2198 swiss|P13395|SPCA_DROME shuffled
+ 442 pos. 59 - 101 swiss|P38615|MDS1_YEAST shuffled
+ 442 pos. 54 - 96 swiss|P06773|DCTD_YEAST shuffled
+ 442 pos. 1 - 16 swiss|P01554|ELT1_ECOLI shuffled
+ 441 pos. 1 - 27 swiss|P20505|KRB1_VACCC shuffled
+ 439 pos. 348 - 395 swiss|P21062|VA39_VACCC shuffled
+ 439 pos. 272 - 312 swiss|P16900|GAG_OMVVS shuffled
+ 439 pos. 117 - 165 swiss|P15889|YR33_THEPE shuffled
+ 439 pos. 29 - 71 swiss|P29056|TF3B_YEAST shuffled
+ 438 pos. 738 - 779 swiss|P00723|BGAL_KLULA shuffled
+ 438 pos. 110 - 165 swiss|P34111|TFC3_YEAST shuffled
+ 438 pos. 95 - 135 swiss|P37056|YAEF_ECOLI shuffled
+ 437 pos. 572 - 612 swiss|P36336|VGLH_HSVMD shuffled
+ 437 pos. 94 - 138 swiss|P27121|DCOR_NEUCR shuffled
+ 436 pos. 986 - 1027 swiss|P30002|TEGU_HSV6G shuffled
+ 436 pos. 630 - 680 swiss|P25167|RPC2_DROME shuffled
+ 434 pos. 1 - 29 swiss|P25335|ALC_YEAST shuffled
+ 431 pos. 1424 - 1463 swiss|P12847|MYSE_RAT shuffled
+ 431 pos. 399 - 443 swiss|P27615|LIM2_RAT shuffled
+ 430 pos. 590 - 637 swiss|P17547|ADHE_ECOLI shuffled
+ 430 pos. 531 - 566 swiss|P38150|YB9Z_YEAST shuffled
+ 429 pos. 298 - 334 swiss|P32998|VG09_VARV shuffled
+ 429 pos. 247 - 294 swiss|P28931|V1A_TAV shuffled
+ 429 pos. 21 - 66 swiss|P34483|YMJ8_CAEEL shuffled
+ 428 pos. 284 - 324 swiss|P35170|AROF_CORGL shuffled
+ 428 pos. 85 - 100 swiss|P19167|RL23_EUGGR shuffled
+ 427 pos. 1 - 20 swiss|P03440|HEMA_IAEN7 shuffled
+ 426 pos. 1 - 22 swiss|P08302|YCO2_PARDE shuffled
+ 425 pos. 28 - 72 swiss|P05963|MLR_CHLNI shuffled
+ 424 pos. 1207 - 1250 swiss|P09547|ADR6_YEAST shuffled
+ 424 pos. 160 - 215 swiss|P17296|MPC2_ALCEU shuffled
+ 424 pos. 74 - 116 swiss|P35740|HEMA_NDVC shuffled
+ 423 pos. 999 - 1038 swiss|P27502|POL_RTBVP shuffled
+ 423 pos. 494 - 537 swiss|P29388|NU5M_ARATH shuffled
+ 423 pos. 1 - 41 swiss|P11107|VD10_BPT5 shuffled
+ 423 pos. 1 - 19 swiss|P21345|GLTP_ECOLI shuffled
+ 421 pos. 734 - 774 swiss|Q02158|PIPA_DICDI shuffled
+ 421 pos. 1 - 16 swiss|P31377|YA14_YEAST shuffled
+ 420 pos. 98 - 143 swiss|P14686|GRST_BACBR shuffled
+ 420 pos. 93 - 132 swiss|P17896|SP4B_BACSU shuffled
+ 419 pos. 113 - 156 swiss|P34191|ATP6_CROLA shuffled
+ 419 pos. 20 - 65 swiss|Q02256|PVH1_YEAST shuffled
+ 419 pos. 1 - 35 swiss|P26251|NIF1_RHISO shuffled
+ 418 pos. 485 - 520 swiss|P38156|MA3T_YEAST shuffled
+ 418 pos. 158 - 199 swiss|P15994|ATP6_PODAN shuffled
+ 417 pos. 1 - 20 swiss|P35451|MI17_BOVIN shuffled
+ 416 pos. 77 - 117 swiss|P33031|NUPC_ECOLI shuffled
+ 415 pos. 508 - 566 swiss|P12823|POLG_DEN2P shuffled
+ 415 pos. 262 - 301 swiss|P25167|RPC2_DROME shuffled
+ 415 pos. 261 - 296 swiss|P08659|LUCI_PHOPY shuffled
+ 415 pos. 1 - 40 swiss|P34719|T2M1_MORBO shuffled
+ 413 pos. 247 - 289 swiss|P32151|YIIG_ECOLI shuffled
+ 413 pos. 80 - 121 swiss|P36057|YKP4_YEAST shuffled
+ 413 pos. 1 - 30 swiss|P06637|HBA4_XENLA shuffled
+ 412 pos. 236 - 257 swiss|P33498|ENV_AVIR3 shuffled
+ 410 pos. 869 - 893 swiss|Q01107|DSC1_BOVIN shuffled
+ 410 pos. 766 - 813 swiss|P18963|IRA1_YEAST shuffled
+ 410 pos. 755 - 802 swiss|P22137|CLH_YEAST shuffled
+ 410 pos. 158 - 211 swiss|P25294|SIS1_YEAST shuffled
+ 409 pos. 449 - 472 swiss|P17563|SBP_MOUSE shuffled
+ 409 pos. 359 - 398 swiss|P18812|MALF_ENTAE shuffled
+ 409 pos. 128 - 174 swiss|Q04778|ALSR_BACSU shuffled
+ 409 pos. 121 - 159 swiss|P23964|ALUF_HUMAN shuffled
+ 409 pos. 85 - 101 swiss|P38161|YBK8_YEAST shuffled
+ 408 pos. 466 - 509 swiss|P25644|YCW7_YEAST shuffled
+ 408 pos. 386 - 417 swiss|P16708|UFBP_PIG shuffled
+ 408 pos. 121 - 161 swiss|P19817|RFAJ_SALTY shuffled
+ 408 pos. 1 - 44 swiss|P09959|SWI6_YEAST shuffled
+ 407 pos. 235 - 244 swiss|P02979|MLS2_STAAU shuffled
+ 406 pos. 324 - 365 swiss|P15729|GLCP_SYNY3 shuffled
+ 406 pos. 206 - 245 swiss|Q00537|KPT2_HUMAN shuffled
+ 406 pos. 135 - 179 swiss|Q05961|25A1_RAT shuffled
+ 405 pos. 934 - 956 swiss|P32504|CB31_YEAST shuffled
+ 404 pos. 360 - 381 swiss|P05149|MURO_ACICA shuffled
+ 403 pos. 1637 - 1685 swiss|P06447|RRPL_SENDZ shuffled
+ 403 pos. 1004 - 1020 swiss|P28956|UL37_HSVEB shuffled
+ 403 pos. 402 - 442 swiss|P20592|MX2_HUMAN shuffled
+ 402 pos. 9 - 49 swiss|P16239|ICEN_ERWHE shuffled
+ 400 pos. 345 - 370 swiss|P06575|CR41_BACSH shuffled
+ 399 pos. 220 - 264 swiss|P15193|CB2A_PINSY shuffled
+ 397 pos. 440 - 458 swiss|P23868|TRKA_ECOLI shuffled
+ 397 pos. 55 - 80 swiss|P04307|YVDE_VACCV shuffled
+ 396 pos. 741 - 793 swiss|Q00496|BXE_CLOBO shuffled
+ 395 pos. 220 - 259 swiss|P32138|YIHQ_ECOLI shuffled
+ 395 pos. 177 - 220 swiss|P33893|PT12_YEAST shuffled
+ 395 pos. 31 - 71 swiss|P07614|VL03_VACCV shuffled
+ 395 pos. 1 - 49 swiss|P08263|GTH1_HUMAN shuffled
+ 394 pos. 616 - 682 swiss|P20635|ETF2_VACCC shuffled
+ 394 pos. 191 - 233 swiss|P08770|TRA1_MAIZE shuffled
+ 394 pos. 102 - 124 swiss|P26708|V125_ASFL5 shuffled
+ 394 pos. 1 - 37 swiss|P07817|DCOP_ASPNG shuffled
+ 393 pos. 192 - 232 swiss|Q01444|YSR1_MYCMY shuffled
+ 393 pos. 179 - 219 swiss|P07974|HEMA_INCTA shuffled
+ 393 pos. 50 - 66 swiss|P15405|V07K_WCMVO shuffled
+ 392 pos. 502 - 537 swiss|P26896|IL2B_RAT shuffled
+ 392 pos. 483 - 502 swiss|P08776|K2C8_XENLA shuffled
+ 391 pos. 627 - 671 swiss|P25339|YGL3_YEAST shuffled
+ 391 pos. 158 - 212 swiss|Q08382|MODB_RHOCA shuffled
+ 390 pos. 312 - 353 swiss|P15650|ACDL_RAT shuffled
+ 390 pos. 258 - 305 swiss|P32361|IRE1_YEAST shuffled
+ 390 pos. 67 - 107 swiss|P34455|ACON_CAEEL shuffled
+ 390 pos. 1 - 31 swiss|P38271|YBX9_YEAST shuffled
+ 389 pos. 103 - 136 swiss|P14994|VAL3_BCTV shuffled
+ 388 pos. 466 - 510 swiss|P15937|ACU8_NEUCR shuffled
+ 388 pos. 215 - 249 swiss|P37493|YR20_BACSU shuffled
+ 387 pos. 255 - 294 swiss|P05116|ACC3_LYCES shuffled
+ 387 pos. 33 - 81 swiss|P28872|CAR3_CANAL shuffled
+ 387 pos. 1 - 12 swiss|P34128|NGF_BUNMU shuffled
+ 386 pos. 92 - 135 swiss|P24378|NCAP_VHSV0 shuffled
+ 385 pos. 602 - 651 swiss|P05519|CRYS_BACTI shuffled
+ 385 pos. 516 - 561 swiss|P36028|YK83_YEAST shuffled
+ 385 pos. 461 - 513 swiss|P14248|RPB1_PLAFD shuffled
+ 385 pos. 454 - 493 swiss|P05453|SUP2_YEAST shuffled
+ 385 pos. 405 - 450 swiss|P07218|PAL1_PHAVU shuffled
+ 385 pos. 101 - 141 swiss|P19014|HBA_CRIGA shuffled
+ 384 pos. 667 - 707 swiss|P16383|GCF_HUMAN shuffled
+ 384 pos. 70 - 98 swiss|P34771|RL23_ASTLO shuffled
+ 383 pos. 968 - 1025 swiss|P18293|ANPA_MOUSE shuffled
+ 383 pos. 204 - 232 swiss|P22468|GDL_DROME shuffled
+ 383 pos. 104 - 151 swiss|P23970|MENC_BACSU shuffled
+ 383 pos. 54 - 94 swiss|P34823|EF12_DAUCA shuffled
+ 383 pos. 43 - 85 swiss|P23890|CADC_ECOLI shuffled
+ 382 pos. 570 - 603 swiss|P34260|YKA9_CAEEL shuffled
+ 382 pos. 313 - 334 swiss|P24242|ASCG_ECOLI shuffled
+ 381 pos. 239 - 290 swiss|P15046|ACKA_ECOLI shuffled
+ 381 pos. 77 - 124 swiss|P20489|FCEA_MOUSE shuffled
+ 381 pos. 17 - 62 swiss|P16996|HEMA_IAHK7 shuffled
+ 380 pos. 383 - 405 swiss|P07157|EFTU_THETH shuffled
+ 380 pos. 249 - 290 swiss|P16355|RPA1_TRYBB shuffled
+ 380 pos. 237 - 276 swiss|P28582|CDPK_DAUCA shuffled
+ 380 pos. 142 - 188 swiss|P15625|SYFB_YEAST shuffled
+ 380 pos. 93 - 129 swiss|P17806|GB02_CRILO shuffled
+ 379 pos. 1078 - 1143 swiss|P17376|VL3_REOVL shuffled
+ 379 pos. 236 - 284 swiss|P04934|MSAP_PLAFC shuffled
+ 379 pos. 229 - 271 swiss|P16497|KINA_BACSU shuffled
+ 379 pos. 154 - 193 swiss|P25379|STDH_YEAST shuffled
+ 379 pos. 72 - 112 swiss|P21206|LCRV_YERPE shuffled
+ 379 pos. 62 - 97 swiss|P13745|GTA2_MOUSE shuffled
+ 378 pos. 237 - 278 swiss|P08318|PP15_HCMVA shuffled
+ 378 pos. 183 - 251 swiss|P23878|FEPC_ECOLI shuffled
+ 378 pos. 117 - 156 swiss|P10866|HEMA_MUMPR shuffled
+ 378 pos. 26 - 61 swiss|P35892|DNAA_SPIAP shuffled
+ 377 pos. 6 - 46 swiss|P32707|NRFB_ECOLI shuffled
+ 377 pos. 1 - 39 swiss|P24674|RBL_PICPU shuffled
+ 376 pos. 1554 - 1607 swiss|P08964|MYS1_YEAST shuffled
+ 376 pos. 349 - 389 swiss|P38164|YBK4_YEAST shuffled
+ 376 pos. 178 - 208 swiss|P26967|AC20_TENMO shuffled
+ 376 pos. 143 - 191 swiss|P31605|YCP1_CYAPA shuffled
+ 376 pos. 75 - 114 swiss|P20459|IF2A_YEAST shuffled
+ 376 pos. 4 - 44 swiss|P11725|OTC_MOUSE shuffled
+ 375 pos. 82 - 96 swiss|P31844|YGLN_BACSU shuffled
+ 374 pos. 238 - 290 swiss|P11559|MCRA_METVO shuffled
+ 373 pos. 161 - 175 swiss|P14357|VN02_VACCV shuffled
+ 373 pos. 63 - 109 swiss|P14318|MP20_DROME shuffled
+ 372 pos. 132 - 180 swiss|P19748|PAP2_CAPVK shuffled
+ 371 pos. 260 - 298 swiss|P36377|SPRC_CHICK shuffled
+ 371 pos. 232 - 247 swiss|P14229|T2SM_SERMA shuffled
+ 371 pos. 115 - 163 swiss|P07365|CHEW_ECOLI shuffled
+ 371 pos. 85 - 127 swiss|P24485|CD53_RAT shuffled
+ 370 pos. 609 - 640 swiss|P06445|ENV_RMCFV shuffled
+ 370 pos. 367 - 408 swiss|P29915|NQO3_PARDE shuffled
+ 370 pos. 321 - 351 swiss|P06166|VMAT_PI3B shuffled
+ 370 pos. 165 - 180 swiss|P09466|PP14_HUMAN shuffled
+ 370 pos. 6 - 52 swiss|Q05017|PHLX_RABIT shuffled
+ 370 pos. 1 - 8 swiss|P23212|MSRA_STAEP shuffled
+ 369 pos. 733 - 749 swiss|P07861|NEP_RAT shuffled
+ 369 pos. 330 - 367 swiss|P22591|RRPO_PVXCP shuffled
+ 369 pos. 229 - 274 swiss|P16528|ICLR_ECOLI shuffled
+ 369 pos. 75 - 93 swiss|P03755|VE85_LAMBD shuffled
+ 368 pos. 1572 - 1595 swiss|P26675|SOS_DROME shuffled
+ 368 pos. 80 - 119 swiss|P10668|COFI_PIG shuffled
+ 368 pos. 68 - 87 swiss|P15817|NXL4_BUNMU shuffled
+ 368 pos. 1 - 37 swiss|P38357|YB8F_YEAST shuffled
+ 368 pos. 1 - 36 swiss|P29460|I12B_HUMAN shuffled
+ 368 pos. 1 - 25 swiss|P19833|LIP1_MORSP shuffled
+ 368 pos. 1 - 17 swiss|P04119|LACB_PIG shuffled
+ 367 pos. 233 - 281 swiss|P05500|ATP6_OENBE shuffled
+ 367 pos. 176 - 216 swiss|P09938|RIR2_YEAST shuffled
+ 367 pos. 23 - 72 swiss|P04306|YVDD_VACCV shuffled
+ 367 pos. 1 - 22 swiss|Q06240|VANS_ENTFC shuffled
+ 366 pos. 359 - 392 swiss|P21549|SPYA_HUMAN shuffled
+ 366 pos. 198 - 240 swiss|P31776|YORI_HAEIN shuffled
+ 366 pos. 125 - 169 swiss|P07005|PROB_ECOLI shuffled
+ 366 pos. 106 - 160 swiss|P01011|AACT_HUMAN shuffled
+ 365 pos. 3350 - 3391 swiss|P04114|APB_HUMAN shuffled
+ 365 pos. 347 - 387 swiss|P07604|TYRR_ECOLI shuffled
+ 365 pos. 282 - 308 swiss|P26903|DCIB_BACSU shuffled
+ 365 pos. 1 - 21 swiss|P38146|YB9J_YEAST shuffled
+ 365 pos. 1 - 11 swiss|P08622|DNAJ_ECOLI shuffled
+ 364 pos. 635 - 670 swiss|P16641|SMC7_SCHMA shuffled
+ 364 pos. 314 - 361 swiss|Q00104|VG46_HSVI1 shuffled
+ 364 pos. 197 - 216 swiss|P00572|KTHY_YEAST shuffled
+ 364 pos. 159 - 192 swiss|P24078|PE21_NPVOP shuffled
+ 364 pos. 131 - 170 swiss|P23426|POL_VILV1 shuffled
+ 364 pos. 1 - 20 swiss|P37639|YHIX_ECOLI shuffled
+ 363 pos. 575 - 592 swiss|P09217|KPCZ_RAT shuffled
+ 363 pos. 107 - 172 swiss|P24615|VMAT_BRSVA shuffled
+ 363 pos. 1 - 24 swiss|P18617|IBMP_CAMVP shuffled
+ 362 pos. 595 - 636 swiss|P21445|ENV_FSVSM shuffled
+ 362 pos. 458 - 490 swiss|P18164|TA53_TREDE shuffled
+ 362 pos. 201 - 242 swiss|P14646|CNA4_RAT shuffled
+ 362 pos. 127 - 155 swiss|P04868|V17K_BSMV shuffled
+ 362 pos. 109 - 156 swiss|P07166|VIC2_AGRT5 shuffled
+ 362 pos. 75 - 89 swiss|Q08513|NTP1_SPVKA shuffled
+ 362 pos. 6 - 46 swiss|P09537|SOMA_PAROL shuffled
+ 362 pos. 1 - 35 swiss|P37434|UVRA_SALTY shuffled
+ 361 pos. 405 - 434 swiss|P21026|VG05_VACCC shuffled
+ 361 pos. 134 - 173 swiss|P33657|RPSE_CLOAB shuffled
+ 361 pos. 107 - 142 swiss|P26045|PTN3_HUMAN shuffled
+ 360 pos. 724 - 765 swiss|P00365|DHE2_NEUCR shuffled
+ 360 pos. 303 - 339 swiss|Q04696|KRY2_HUMAN shuffled
+ 360 pos. 215 - 251 swiss|P19405|PPB3_BACSU shuffled
+ 360 pos. 197 - 248 swiss|P13880|VMT1_INBAD shuffled
+ 359 pos. 960 - 1003 swiss|P18522|POL1_TBRVS shuffled
+ 359 pos. 606 - 649 swiss|P06546|SLPM_BACBR shuffled
+ 359 pos. 580 - 631 swiss|P23073|ENV_SFV1 shuffled
+ 359 pos. 475 - 545 swiss|P36775|LONM_YEAST shuffled
+ 359 pos. 289 - 326 swiss|P23351|RMS5_NEUCR shuffled
+ 359 pos. 178 - 216 swiss|P34976|AG2R_RABIT shuffled
+ 359 pos. 109 - 149 swiss|P16809|IR11_HCMVA shuffled
+ 359 pos. 107 - 148 swiss|P00472|MTE1_ECOLI shuffled
+ 359 pos. 69 - 109 swiss|P16121|HS26_LUPPO shuffled
+ 359 pos. 1 - 18 swiss|Q02752|PHPA_PLACH shuffled
+ 358 pos. 1540 - 1582 swiss|Q04575|RRPO_SHVX shuffled
+ 358 pos. 468 - 476 swiss|P30827|RBL_LIRTU shuffled
+ 358 pos. 349 - 365 swiss|P28353|RF2_SALTY shuffled
+ 358 pos. 168 - 196 swiss|P32680|YJAG_ECOLI shuffled
+ 358 pos. 137 - 177 swiss|P30011|NADC_ECOLI shuffled
+ 357 pos. 296 - 335 swiss|P24442|UL16_HSV6U shuffled
+ 357 pos. 293 - 313 swiss|P34621|YO85_CAEEL shuffled
+ 357 pos. 243 - 284 swiss|P20509|DPOL_VACCC shuffled
+ 357 pos. 1 - 12 swiss|P80275|NLT1_VITSX shuffled
+ 356 pos. 114 - 155 swiss|P19818|VAT_CAMVP shuffled
+ 356 pos. 1 - 16 swiss|P29566|T2MZ_METTF shuffled
+ 355 pos. 327 - 385 swiss|P08468|PT11_YEAST shuffled
+ 355 pos. 121 - 160 swiss|P29397|NUSG_THEMA shuffled
+ 354 pos. 445 - 486 swiss|Q00918|TGFB_RAT shuffled
+ 354 pos. 218 - 232 swiss|P03738|VMTL_LAMBD shuffled
+ 354 pos. 86 - 93 swiss|P03625|VG93_BPPF3 shuffled
+ 353 pos. 291 - 301 swiss|P34799|URID_CANLI shuffled
+ 353 pos. 250 - 299 swiss|P38154|AMPY_YEAST shuffled
+ 353 pos. 82 - 128 swiss|Q00254|VS09_ROTBK shuffled
+ 353 pos. 74 - 110 swiss|P02010|HBA_VIPAS shuffled
+ 353 pos. 1 - 38 swiss|P37275|NIL2_HUMAN shuffled
+ 353 pos. 1 - 26 swiss|P80084|ATP3_SPIOL shuffled
+ 353 pos. 1 - 19 swiss|P12610|CYSZ_ECOLI shuffled
+ 352 pos. 129 - 150 swiss|P14777|IN24_UROAP shuffled
+ 351 pos. 1094 - 1104 swiss|P07806|SYV_YEAST shuffled
+ 351 pos. 550 - 595 swiss|P37089|SCAA_RAT shuffled
+ 351 pos. 204 - 251 swiss|P26106|RRP3_IAHLO shuffled
+ 351 pos. 111 - 153 swiss|P35842|PPAB_YEAST shuffled
+ 351 pos. 11 - 51 swiss|P23761|GVPA_HALME shuffled
+ 351 pos. 1 - 35 swiss|P36165|YK69_YEAST shuffled
+ 350 pos. 193 - 228 swiss|P29881|COX2_ZOOAN shuffled
+ 350 pos. 160 - 169 swiss|P12199|NUGC_MARPO shuffled
+ 350 pos. 85 - 127 swiss|P20370|DC4C_ACICA shuffled
+ 350 pos. 42 - 88 swiss|P80317|TCPZ_MOUSE shuffled
+ 349 pos. 705 - 766 swiss|P06839|RAD3_YEAST shuffled
+ 349 pos. 236 - 283 swiss|P32370|BAIH_EUBSP shuffled
+ 349 pos. 115 - 160 swiss|P12627|VNFA_AZOVI shuffled
+ 349 pos. 109 - 133 swiss|P22029|BOTA_BOTJA shuffled
+ 349 pos. 74 - 124 swiss|Q00966|VMP_CAMVN shuffled
+ 348 pos. 1061 - 1095 swiss|P08678|CYAA_YEAST shuffled
+ 348 pos. 1 - 35 swiss|P26425|LACD_STRMU shuffled
+ 348 pos. 1 - 14 swiss|P06967|YCCA_ECOLI shuffled
+ 347 pos. 270 - 309 swiss|P19001|K1CS_MOUSE shuffled
+ 347 pos. 266 - 306 swiss|P24869|CG22_YEAST shuffled
+ 347 pos. 257 - 298 swiss|Q01726|MSHR_HUMAN shuffled
+ 347 pos. 225 - 274 swiss|P35470|CH62_RHIME shuffled
+ 347 pos. 178 - 210 swiss|Q04642|MXIE_SHIFL shuffled
+ 347 pos. 32 - 87 swiss|P22370|YPC5_CLAPU shuffled
+ 347 pos. 1 - 17 swiss|P19093|NGF_CAVPO shuffled
+ 345 pos. 929 - 968 swiss|Q02773|RPM2_YEAST shuffled
+ 345 pos. 833 - 860 swiss|P22430|ENV_EIAV5 shuffled
+ 345 pos. 343 - 347 swiss|P17179|PER2_ARMRU shuffled
+ 345 pos. 327 - 363 swiss|P26684|ET1R_RAT shuffled
+ 345 pos. 167 - 207 swiss|Q08276|HS7M_SOLTU shuffled
+ 345 pos. 91 - 132 swiss|Q00128|VG68_HSVI1 shuffled
+ 345 pos. 79 - 115 swiss|P22241|DRPD_CRAPL shuffled
+ 345 pos. 75 - 99 swiss|P27230|VE7_HPV35 shuffled
+ 345 pos. 71 - 104 swiss|P34782|YC67_ASTLO shuffled
+ 345 pos. 58 - 100 swiss|P16153|YTOX_CLODI shuffled
+ 345 pos. 21 - 79 swiss|P16823|UL71_HCMVA shuffled
+ 345 pos. 1 - 35 swiss|Q03874|VS09_ROTE2 shuffled
+ 344 pos. 262 - 276 swiss|Q00462|TRA2_FREDI shuffled
+ 344 pos. 162 - 174 swiss|P06941|VNSC_CDVO shuffled
+ 344 pos. 151 - 195 swiss|P27500|YP24_RTBVP shuffled
+ 344 pos. 35 - 64 swiss|P34789|RS48_ARATH shuffled
+ 343 pos. 996 - 1049 swiss|P25870|CLH_DICDI shuffled
+ 343 pos. 467 - 488 swiss|Q07158|TPS1_KLULA shuffled
+ 343 pos. 318 - 357 swiss|P14829|GYRA_KLEPN shuffled
+ 343 pos. 251 - 308 swiss|P32541|ENV_EIAVC shuffled
+ 343 pos. 241 - 305 swiss|P18935|CYB_DROME shuffled
+ 343 pos. 1 - 29 swiss|Q00967|VDBP_CAMVN shuffled
+ 343 pos. 1 - 8 swiss|Q04655|YMA6_VICFA shuffled
+ 342 pos. 647 - 681 swiss|P30996|BXF_CLOBO shuffled
+ 342 pos. 347 - 383 swiss|P21339|MSB1_YEAST shuffled
+ 342 pos. 268 - 300 swiss|P36378|SPRC_XENLA shuffled
+ 342 pos. 214 - 256 swiss|P27509|YPQQ_KLEPN shuffled
+ 342 pos. 172 - 189 swiss|P05090|APD_HUMAN shuffled
+ 342 pos. 76 - 123 swiss|P10138|RL15_MYCCA shuffled
+ 342 pos. 21 - 63 swiss|P31122|YDEA_ECOLI shuffled
+ 342 pos. 1 - 15 swiss|P35983|E1BS_ADEC2 shuffled
+ 341 pos. 570 - 612 swiss|P27237|OPDA_SALTY shuffled
+ 341 pos. 554 - 601 swiss|P16522|CC23_YEAST shuffled
+ 341 pos. 329 - 377 swiss|P20649|ATH1_ARATH shuffled
+ 341 pos. 264 - 319 swiss|P08400|PHOR_ECOLI shuffled
+ 341 pos. 147 - 172 swiss|P20601|ATPF_BACME shuffled
+ 341 pos. 114 - 153 swiss|P16188|1A25_HUMAN shuffled
+ 341 pos. 15 - 51 swiss|P15653|IPT_AGRT2 shuffled
+ 340 pos. 311 - 328 swiss|P25947|VT5_SFVKA shuffled
+ 340 pos. 308 - 368 swiss|P19367|HXK1_HUMAN shuffled
+ 340 pos. 209 - 250 swiss|P03556|POL_CAMVD shuffled
+ 340 pos. 198 - 241 swiss|P17790|BASI_CHICK shuffled
+ 340 pos. 197 - 231 swiss|P36710|E434_ADE12 shuffled
+ 340 pos. 103 - 147 swiss|P01870|GC_RABIT shuffled
+ 340 pos. 1 - 15 swiss|P04235|CD3D_MOUSE shuffled
+ 340 pos. 1 - 12 swiss|P14817|VG4A_BPPH8 shuffled
+ 339 pos. 2023 - 2063 swiss|P04114|APB_HUMAN shuffled
+ 339 pos. 506 - 572 swiss|P14105|MYSN_CHICK shuffled
+ 339 pos. 125 - 173 swiss|P17688|AROA_BRANA shuffled
+ 339 pos. 105 - 125 swiss|P16737|ULA6_HCMVA shuffled
+ 339 pos. 38 - 79 swiss|P12582|HEMA_IADH1 shuffled
+ 338 pos. 513 - 552 swiss|Q03845|FLBF_CAUCR shuffled
+ 338 pos. 238 - 279 swiss|P25552|GPPA_ECOLI shuffled
+ 338 pos. 147 - 184 swiss|P35016|ENPL_CATRO shuffled
+ 338 pos. 105 - 149 swiss|P19185|Y19K_BPCHP shuffled
+ 338 pos. 1 - 16 swiss|P32564|SCM4_YEAST shuffled
+ 338 pos. 1 - 15 swiss|P17366|YH22_VACCV shuffled
+ 337 pos. 963 - 1005 swiss|P09874|PPOL_HUMAN shuffled
+ 337 pos. 725 - 734 swiss|P06512|PSAB_SPIOL shuffled
+ 337 pos. 573 - 616 swiss|P20979|MCEL_VACCC shuffled
+ 337 pos. 457 - 493 swiss|P05099|CAMA_CHICK shuffled
+ 337 pos. 411 - 433 swiss|P09104|ENOG_HUMAN shuffled
+ 337 pos. 239 - 244 swiss|P04769|PROR_MOUSE shuffled
+ 337 pos. 76 - 84 swiss|P26553|VE5_HPV51 shuffled
+ 336 pos. 371 - 409 swiss|P09195|F16P_WHEAT shuffled
+ 336 pos. 317 - 344 swiss|Q05404|MYCL_XENLA shuffled
+ 336 pos. 293 - 299 swiss|Q00556|COAT_HEVS shuffled
+ 336 pos. 266 - 293 swiss|P21136|KGPB_BOVIN shuffled
+ 336 pos. 136 - 201 swiss|P36512|UDBD_RABIT shuffled
+ 336 pos. 36 - 79 swiss|P09814|POLG_TVMV shuffled
+ 335 pos. 276 - 321 swiss|P24814|GRR1_YEAST shuffled
+ 335 pos. 127 - 166 swiss|P29344|RS1_SPIOL shuffled
+ 335 pos. 121 - 156 swiss|P03580|COAT_TMVHR shuffled
+ 335 pos. 118 - 143 swiss|P20143|PSAH_HORVU shuffled
+ 335 pos. 100 - 112 swiss|P01659|KV3G_MOUSE shuffled
+ 335 pos. 93 - 98 swiss|P35696|ELIA_PHYDR shuffled
+ 335 pos. 57 - 115 swiss|P10924|PROF_MOUSE shuffled
+ 335 pos. 1 - 15 swiss|P29670|CYB_POMNI shuffled
+ 335 pos. 1 - 12 swiss|P12577|RRPL_PI3H4 shuffled
+ 334 pos. 220 - 282 swiss|P29339|RIP2_MOMBA shuffled
+ 334 pos. 174 - 235 swiss|P24559|PILT_PSEAE shuffled
+ 334 pos. 133 - 168 swiss|P16289|RRPL_RABVS shuffled
+ 334 pos. 82 - 127 swiss|P29145|NECB_HYDAT shuffled
+ 334 pos. 79 - 115 swiss|Q07703|METC_BORAV shuffled
+ 334 pos. 46 - 90 swiss|P04633|UCP_RAT shuffled
+ 334 pos. 1 - 29 swiss|Q03298|PHHY_ACICA shuffled
+ 333 pos. 546 - 580 swiss|P18799|ENV_HV1ND shuffled
+ 333 pos. 526 - 568 swiss|P27565|RRPP_SEND5 shuffled
+ 333 pos. 399 - 438 swiss|P08183|MDR1_HUMAN shuffled
+ 333 pos. 129 - 171 swiss|P28379|RBL_APHSI shuffled
+ 333 pos. 90 - 158 swiss|P29953|YPMI_RHIME shuffled
+ 333 pos. 73 - 108 swiss|P34552|YNK1_CAEEL shuffled
+ 333 pos. 1 - 35 swiss|P05915|VPX_HV2NZ shuffled
+ 333 pos. 1 - 20 swiss|P15631|VMP_SOCMV shuffled
+ 333 pos. 1 - 9 swiss|P18058|YHO1_BPT4 shuffled
+ 332 pos. 488 - 505 swiss|P13356|ATPB_BACFR shuffled
+ 332 pos. 390 - 433 swiss|P20695|PC4_RAT shuffled
+ 332 pos. 145 - 184 swiss|P21047|VE06_VACCC shuffled
+ 332 pos. 89 - 127 swiss|P31915|RL12_EUGGR shuffled
+ 332 pos. 34 - 76 swiss|Q02399|CDK5_BOVIN shuffled
+ 332 pos. 34 - 54 swiss|P05571|IOVO_COSCO shuffled
+ 331 pos. 504 - 514 swiss|P02916|MALF_ECOLI shuffled
+ 331 pos. 364 - 401 swiss|P26002|VNSS_TSWV1 shuffled
+ 331 pos. 336 - 378 swiss|P21345|GLTP_ECOLI shuffled
+ 331 pos. 323 - 349 swiss|P34015|VC22_VARV shuffled
+ 331 pos. 50 - 91 swiss|P25399|LIVJ_CITFR shuffled
+ 331 pos. 37 - 70 swiss|Q00361|ATPJ_BOVIN shuffled
+ 331 pos. 1 - 25 swiss|P26935|IDH_BACSU shuffled
+ 331 pos. 1 - 18 swiss|P36284|COAT_SMSV1 shuffled
+ 330 pos. 1337 - 1369 swiss|Q00107|VG67_HSVI1 shuffled
+ 330 pos. 524 - 574 swiss|P09523|POL_FMVD shuffled
+ 330 pos. 507 - 553 swiss|P17462|VP2_ROTBU shuffled
+ 330 pos. 445 - 454 swiss|P14244|MTMV_MICVA shuffled
+ 330 pos. 240 - 284 swiss|P19529|REPN_STAAU shuffled
+ 330 pos. 153 - 193 swiss|P32375|ALLA_YEAST shuffled
+ 330 pos. 136 - 183 swiss|P28262|RBL_PHORE shuffled
+ 330 pos. 119 - 141 swiss|P05076|V16K_TRVTC shuffled
+ 330 pos. 109 - 141 swiss|P14389|HBA_PTEAL shuffled
+ 330 pos. 52 - 94 swiss|P07105|FANB_ECOLI shuffled
+ 329 pos. 1616 - 1646 swiss|P19523|RRPO_CGMVS shuffled
+ 329 pos. 363 - 403 swiss|P07983|GUN1_BACSU shuffled
+ 329 pos. 193 - 234 swiss|Q02514|VL1_HPV17 shuffled
+ 329 pos. 124 - 175 swiss|P38224|YBP0_YEAST shuffled
+ 329 pos. 71 - 116 swiss|P24052|MK_CHICK shuffled
+ 329 pos. 43 - 94 swiss|P20613|SSP2_BOMMO shuffled
+ 329 pos. 1 - 10 swiss|Q00917|SUSY_ARATH shuffled
+ 328 pos. 218 - 269 swiss|P19179|FIMB_CHICK shuffled
+ 328 pos. 196 - 240 swiss|P23064|ENV_HTL1M shuffled
+ 328 pos. 179 - 219 swiss|P15206|CG2B_MARGL shuffled
+ 328 pos. 100 - 112 swiss|P13338|VG33_BPT4 shuffled
+ 327 pos. 519 - 553 swiss|P21277|NCAP_MUMP1 shuffled
+ 327 pos. 384 - 423 swiss|P19100|CPT7_PIG shuffled
+ 327 pos. 327 - 353 swiss|P05175|VAL1_BGMV shuffled
+ 327 pos. 259 - 299 swiss|P01879|ALC_RABIT shuffled
+ 327 pos. 258 - 285 swiss|P38486|LEG3_CANFA shuffled
+ 327 pos. 227 - 247 swiss|P10908|UGPQ_ECOLI shuffled
+ 327 pos. 226 - 262 swiss|P38179|YBI2_YEAST shuffled
+ 327 pos. 45 - 80 swiss|P38380|SECA_CAUCR shuffled
+ 327 pos. 1 - 14 swiss|P27352|IF_HUMAN shuffled
+ 326 pos. 351 - 391 swiss|P15443|KR14_HSVI1 shuffled
+ 326 pos. 264 - 305 swiss|P37666|YIAE_ECOLI shuffled
+ 326 pos. 213 - 254 swiss|P18342|TPMX_RAT shuffled
+ 326 pos. 92 - 100 swiss|P34813|YAPC_AGLNE shuffled
+ 326 pos. 78 - 100 swiss|P16939|YIS1_SHISO shuffled
+ 326 pos. 76 - 116 swiss|P23351|RMS5_NEUCR shuffled
+ 326 pos. 74 - 101 swiss|P20327|Y53_BPT3 shuffled
+ 326 pos. 62 - 100 swiss|P35719|RT08_YEAST shuffled
+ 326 pos. 55 - 86 swiss|P26250|NIFH_NOSCO shuffled
+ 326 pos. 1 - 14 swiss|P09399|STRH_STRGR shuffled
+ 326 pos. 1 - 12 swiss|P24278|ZN46_HUMAN shuffled
+ 326 pos. 1 - 9 swiss|P13771|VPB_BPD10 shuffled
+ 325 pos. 741 - 794 swiss|P33314|BUD2_YEAST shuffled
+ 325 pos. 717 - 751 swiss|P36124|YK09_YEAST shuffled
+ 325 pos. 431 - 474 swiss|P29402|CALX_ARATH shuffled
+ 325 pos. 406 - 449 swiss|P32050|NRFA_ECOLI shuffled
+ 325 pos. 338 - 375 swiss|P19631|ADH3_COTJA shuffled
+ 325 pos. 165 - 209 swiss|P12753|RA50_YEAST shuffled
+ 325 pos. 78 - 114 swiss|P25584|YCF6_YEAST shuffled
+ 325 pos. 76 - 115 swiss|P34609|YO60_CAEEL shuffled
+ 325 pos. 16 - 63 swiss|P27713|NIFA_HERSE shuffled
+ 325 pos. 1 - 24 swiss|Q07588|ADH_DROIM shuffled
+ 325 pos. 1 - 20 swiss|P20201|Y15K_SSV1 shuffled
+ 324 pos. 817 - 826 swiss|P09327|VIL1_HUMAN shuffled
+ 324 pos. 794 - 830 swiss|P30999|P120_MOUSE shuffled
+ 324 pos. 614 - 659 swiss|P04415|DPOL_BPT4 shuffled
+ 324 pos. 341 - 374 swiss|P25328|RRPW_YEAST shuffled
+ 324 pos. 250 - 285 swiss|P29219|MYOP_XENLA shuffled
+ 324 pos. 197 - 239 swiss|Q01180|NIFU_RHOSH shuffled
+ 324 pos. 101 - 108 swiss|P00274|THIO_ECOLI shuffled
+ 324 pos. 46 - 84 swiss|P07048|CPPA_NEIGO shuffled
+ 324 pos. 43 - 63 swiss|P12100|ANP1_AUSBR shuffled
+ 324 pos. 1 - 31 swiss|P20332|SOM2_ONCMY shuffled
+ 324 pos. 1 - 28 swiss|P37928|FIMW_SALTY shuffled
+ 324 pos. 1 - 12 swiss|P22819|BIOY_BACSH shuffled
+ 323 pos. 1614 - 1660 swiss|P33334|PR08_YEAST shuffled
+ 323 pos. 317 - 356 swiss|P02919|PBPB_ECOLI shuffled
+ 323 pos. 125 - 141 swiss|P12937|X_WHV8 shuffled
+ 323 pos. 88 - 122 swiss|P38508|RL14_THEMA shuffled
+ 323 pos. 72 - 112 swiss|P07934|KPBG_MOUSE shuffled
+ 323 pos. 26 - 59 swiss|P12566|HEMA_PI3HX shuffled
+ 323 pos. 1 - 32 swiss|P11278|PELP_YERPS shuffled
+ 323 pos. 1 - 16 swiss|P15418|VG1_BPI22 shuffled
+ 322 pos. 643 - 685 swiss|P05844|POLS_IPNVJ shuffled
+ 322 pos. 335 - 351 swiss|P04922|CSP_PLAKN shuffled
+ 322 pos. 309 - 357 swiss|P21133|AAAA_EMENI shuffled
+ 322 pos. 291 - 298 swiss|P05141|ADT2_HUMAN shuffled
+ 322 pos. 240 - 301 swiss|P06406|PSAA_MARPO shuffled
+ 322 pos. 1 - 45 swiss|P30141|MRP4_STRPY shuffled
+ 322 pos. 1 - 40 swiss|P24038|NIRT_PSEST shuffled
+ 322 pos. 1 - 14 swiss|Q07905|ARGB_BACST shuffled
+ 322 pos. 1 - 8 swiss|P20220|Y13K_SSV1 shuffled
+ 321 pos. 561 - 606 swiss|Q02206|YKY8_YEAST shuffled
+ 321 pos. 416 - 442 swiss|P27622|TAGC_BACSU shuffled
+ 321 pos. 206 - 248 swiss|P10872|TBA_TETPY shuffled
+ 321 pos. 191 - 227 swiss|P29879|COX2_SITGR shuffled
+ 321 pos. 158 - 163 swiss|P07121|PHCA_ANASP shuffled
+ 321 pos. 77 - 104 swiss|P14327|VSH7_DICDI shuffled
+ 321 pos. 44 - 87 swiss|P18196|MINC_ECOLI shuffled
+ 321 pos. 34 - 86 swiss|P31769|YORB_HAEIN shuffled
+ 321 pos. 1 - 18 swiss|P17622|RIBT_BACSU shuffled
+ 321 pos. 1 - 15 swiss|Q02458|URER_PROMI shuffled
+ 320 pos. 998 - 1043 swiss|P36594|RPB1_SCHPO shuffled
+ 320 pos. 572 - 613 swiss|P15073|ENV_MCFF shuffled
+ 320 pos. 303 - 343 swiss|P30000|CSCB_ECOLI shuffled
+ 320 pos. 243 - 257 swiss|P10425|BLA2_BACSP shuffled
+ 320 pos. 237 - 269 swiss|P32144|YIHW_ECOLI shuffled
+ 320 pos. 83 - 124 swiss|P25099|AA1R_RAT shuffled
+ 320 pos. 76 - 113 swiss|P00093|CY2_RHOPH shuffled
+ 320 pos. 1 - 19 swiss|P33789|TRY8_ECOLI shuffled
+ 320 pos. 1 - 16 swiss|P00138|CYCP_ALCSP shuffled
+ 320 pos. 1 - 14 swiss|P13125|DN7E_SULAC shuffled
+ 319 pos. 699 - 723 swiss|P30336|CADA_BACFI shuffled
+ 319 pos. 513 - 518 swiss|P21458|SP3E_BACSU shuffled
+ 319 pos. 367 - 374 swiss|P30678|GB15_MOUSE shuffled
+ 319 pos. 355 - 402 swiss|P10928|VG10_BPT4 shuffled
+ 319 pos. 325 - 364 swiss|P24313|RBL_ECTSI shuffled
+ 319 pos. 256 - 291 swiss|P29084|T2EB_HUMAN shuffled
+ 319 pos. 188 - 233 swiss|P34226|SKT5_YEAST shuffled
+ 319 pos. 182 - 195 swiss|P37290|IND1_HUMAN shuffled
+ 319 pos. 115 - 151 swiss|P27649|HUPD_RHILV shuffled
+ 319 pos. 107 - 150 swiss|P12815|CAP4_MOUSE shuffled
+ 319 pos. 94 - 133 swiss|P00806|NAAA_BPT7 shuffled
+ 319 pos. 65 - 109 swiss|P18173|DHGL_DROME shuffled
+ 319 pos. 35 - 76 swiss|P12091|RPOB_ORYSA shuffled
+ 319 pos. 1 - 29 swiss|P35068|H2B1_TIGCA shuffled
+ 319 pos. 1 - 18 swiss|P03454|HEMA_IAWIL shuffled
+ 318 pos. 759 - 803 swiss|P20126|POLR_EPMV shuffled
+ 318 pos. 448 - 495 swiss|Q06561|UN52_CAEEL shuffled
+ 318 pos. 434 - 466 swiss|P16203|NRAM_INBSI shuffled
+ 318 pos. 255 - 298 swiss|P04883|VGLG_VSVIG shuffled
+ 318 pos. 111 - 121 swiss|P13148|VNS2_IAPI0 shuffled
+ 317 pos. 2259 - 2304 swiss|P03305|POLG_FMDVO shuffled
+ 317 pos. 763 - 779 swiss|P26685|RIR1_ASFM2 shuffled
+ 317 pos. 457 - 490 swiss|P22687|CETP_RABIT shuffled
+ 317 pos. 289 - 336 swiss|P16141|CP5D_CANMA shuffled
+ 317 pos. 265 - 279 swiss|P19368|TYSY_LACLA shuffled
+ 317 pos. 252 - 259 swiss|P04639|APA1_RAT shuffled
+ 317 pos. 186 - 193 swiss|P15577|NU2M_PARTE shuffled
+ 317 pos. 176 - 216 swiss|P35973|VGLF_MEASA shuffled
+ 317 pos. 165 - 199 swiss|P27764|NHAA_PSECL shuffled
+ 317 pos. 159 - 195 swiss|P13466|GELA_DICDI shuffled
+ 317 pos. 151 - 193 swiss|P18471|TRAU_ECOLI shuffled
+ 317 pos. 74 - 108 swiss|P33662|YORX_CLOAB shuffled
+ 317 pos. 57 - 70 swiss|P31861|DP3B_RHOCA shuffled
+ 317 pos. 54 - 88 swiss|Q05114|ADH_DROWI shuffled
+ 317 pos. 35 - 78 swiss|P28049|LAB_XENLA shuffled
+ 317 pos. 5 - 57 swiss|P33384|YORY_LISMO shuffled
+ 317 pos. 1 - 54 swiss|P33969|BACR_HALHM shuffled
+ 317 pos. 1 - 15 swiss|P31721|C1QB_RAT shuffled
+ 317 pos. 1 - 15 swiss|P10163|PRP4_HUMAN shuffled
+ 316 pos. 745 - 780 swiss|P10568|MYSH_BOVIN shuffled
+ 316 pos. 594 - 605 swiss|P07153|RIB1_RAT shuffled
+ 316 pos. 277 - 324 swiss|P33051|VI08_VARV shuffled
+ 316 pos. 210 - 256 swiss|P37101|KPPR_SYNY3 shuffled
+ 316 pos. 199 - 242 swiss|P15988|CA26_CHICK shuffled
+ 316 pos. 124 - 162 swiss|P14692|KAF8_SORBI shuffled
+ 316 pos. 72 - 111 swiss|P06808|VLYS_BPT4 shuffled
+ 316 pos. 23 - 37 swiss|P16515|VG65_BPPH2 shuffled
+ 316 pos. 13 - 63 swiss|P26328|VSI3_TRYBB shuffled
+ 316 pos. 12 - 54 swiss|P08754|GBAK_HUMAN shuffled
+ 316 pos. 6 - 49 swiss|P31327|CPSM_HUMAN shuffled
+ 315 pos. 327 - 377 swiss|P35820|PSC_DROME shuffled
+ 315 pos. 281 - 286 swiss|P02863|GDA0_WHEAT shuffled
+ 315 pos. 215 - 229 swiss|Q04685|VP8_BTV13 shuffled
+ 315 pos. 1 - 20 swiss|P20732|COGA_PARCM shuffled
+ 314 pos. 675 - 688 swiss|P38338|YB9F_YEAST shuffled
+ 314 pos. 510 - 517 swiss|P36852|HEX_ADE08 shuffled
+ 314 pos. 336 - 363 swiss|P17731|HIS8_BACSU shuffled
+ 314 pos. 297 - 337 swiss|P30723|DNAK_PORUM shuffled
+ 314 pos. 244 - 279 swiss|P21328|RTJK_DROME shuffled
+ 314 pos. 127 - 132 swiss|P05473|YKP7_KLULA shuffled
+ 314 pos. 59 - 113 swiss|P28951|UL31_HSVEB shuffled
+ 314 pos. 1 - 30 swiss|P36521|RM11_YEAST shuffled
+ 314 pos. 1 - 30 swiss|P03744|VG37_BPT4 shuffled
+ 314 pos. 1 - 13 swiss|P07104|FANA_ECOLI shuffled
+ 313 pos. 1170 - 1213 swiss|P27314|RRPL_SEOU8 shuffled
+ 313 pos. 1061 - 1103 swiss|P08266|RPB2_DROME shuffled
+ 313 pos. 987 - 1023 swiss|Q06194|FA8_MOUSE shuffled
+ 313 pos. 801 - 840 swiss|P12387|CO3_CAVPO shuffled
+ 313 pos. 706 - 746 swiss|P17472|VGLB_HSVE4 shuffled
+ 313 pos. 417 - 437 swiss|P38159|ROG_HUMAN shuffled
+ 313 pos. 220 - 252 swiss|P05073|V29K_TRVSY shuffled
+ 313 pos. 198 - 245 swiss|P29053|TF2B_RAT shuffled
+ 313 pos. 186 - 198 swiss|P27174|YRG2_LACLA shuffled
+ 313 pos. 106 - 141 swiss|P01950|HBA_SUNMU shuffled
+ 313 pos. 88 - 134 swiss|P29821|VS09_ROTCC shuffled
+ 313 pos. 76 - 121 swiss|P35401|CRAC_DICDI shuffled
+ 313 pos. 20 - 29 swiss|P31540|HS98_NEUCR shuffled
+ 313 pos. 1 - 17 swiss|P05922|VPU_HV1PV shuffled
+ 312 pos. 1035 - 1078 swiss|P22432|VGL2_CVM4 shuffled
+ 312 pos. 550 - 597 swiss|P20585|DUG_HUMAN shuffled
+ 312 pos. 261 - 308 swiss|P18139|PP65_HCMVT shuffled
+ 312 pos. 213 - 268 swiss|P25414|RBL_AEGSQ shuffled
+ 312 pos. 140 - 176 swiss|P24505|SY61_DISOM shuffled
+ 312 pos. 102 - 122 swiss|P01361|ELHL_APLCA shuffled
+ 312 pos. 1 - 15 swiss|P01166|SMS1_HUMAN shuffled
+ 312 pos. 1 - 13 swiss|P17218|TRPF_LACCA shuffled
+ 311 pos. 1294 - 1314 swiss|P25390|KCW3_YEAST shuffled
+ 311 pos. 618 - 658 swiss|P33453|RRPL_UUK shuffled
+ 311 pos. 609 - 660 swiss|P00452|RIR1_ECOLI shuffled
+ 311 pos. 286 - 327 swiss|P22136|ATPU_YEAST shuffled
+ 311 pos. 244 - 261 swiss|P28078|RNG6_MOUSE shuffled
+ 311 pos. 196 - 235 swiss|P06441|POLG_HPAVL shuffled
+ 311 pos. 193 - 237 swiss|P06869|UROK_MOUSE shuffled
+ 311 pos. 121 - 149 swiss|P14533|CABO_LOLPE shuffled
+ 311 pos. 74 - 118 swiss|P30066|RL16_EPIVI shuffled
+ 311 pos. 13 - 48 swiss|P10050|NCAP_MEASH shuffled
+ 311 pos. 1 - 14 swiss|P13713|FLIC_SERMA shuffled
+ 310 pos. 1883 - 1922 swiss|P32600|TOR2_YEAST shuffled
+ 310 pos. 302 - 342 swiss|Q02775|SLU7_YEAST shuffled
+ 310 pos. 207 - 233 swiss|P13827|MSAP_PLAFD shuffled
+ 310 pos. 166 - 207 swiss|P04712|SUS1_MAIZE shuffled
+ 310 pos. 128 - 193 swiss|P37617|YHHO_ECOLI shuffled
+ 310 pos. 127 - 149 swiss|P06427|VE6_HPV33 shuffled
+ 310 pos. 119 - 136 swiss|P11315|E314_ADE03 shuffled
+ 310 pos. 37 - 56 swiss|P05585|IOVO_BONUM shuffled
+ 310 pos. 1 - 28 swiss|P25842|SODC_HAEPA shuffled
+ 310 pos. 1 - 13 swiss|P27471|NK13_RAT shuffled
+ 310 pos. 1 - 8 swiss|P32452|PHA2_YEAST shuffled
+ 310 pos. 1 - 8 swiss|P28285|5HTA_DROME shuffled
+ 309 pos. 2587 - 2633 swiss|Q01499|POLG_BVDVS shuffled
+ 309 pos. 863 - 905 swiss|P09619|PGDR_HUMAN shuffled
+ 309 pos. 703 - 745 swiss|P31554|YABG_ECOLI shuffled
+ 309 pos. 564 - 605 swiss|P32833|ORC2_YEAST shuffled
+ 309 pos. 540 - 579 swiss|P34930|HS71_PIG shuffled
+ 309 pos. 202 - 238 swiss|P14346|UL52_HSVSA shuffled
+ 309 pos. 182 - 189 swiss|P11322|E321_ADE03 shuffled
+ 309 pos. 117 - 158 swiss|P13843|VGLF_HRSV1 shuffled
+ 309 pos. 1 - 37 swiss|P06334|TCC3_MOUSE shuffled
+ 309 pos. 1 - 13 swiss|P35647|HAG1_EIKCO shuffled
+ 308 pos. 1754 - 1789 swiss|P04114|APB_HUMAN shuffled
+ 308 pos. 604 - 654 swiss|P06694|TRA3_ECOLI shuffled
+ 308 pos. 393 - 449 swiss|Q02111|KPCT_MOUSE shuffled
+ 308 pos. 359 - 398 swiss|P18884|RRP3_IAKIE shuffled
+ 308 pos. 281 - 326 swiss|P08810|ENV_SIVM2 shuffled
+ 308 pos. 219 - 258 swiss|P12977|EBN3_EBV shuffled
+ 308 pos. 199 - 221 swiss|P15959|NU6M_PODAN shuffled
+ 308 pos. 138 - 175 swiss|P12722|VGL2_IBVD2 shuffled
+ 308 pos. 93 - 136 swiss|P36349|VNS1_IACKB shuffled
+ 308 pos. 48 - 68 swiss|P31279|VGC_BPAL3 shuffled
+ 308 pos. 1 - 15 swiss|P11801|KPSH_HUMAN shuffled
+ 307 pos. 669 - 703 swiss|P12861|HS83_TRYBB shuffled
+ 307 pos. 606 - 651 swiss|P32558|CC68_YEAST shuffled
+ 307 pos. 496 - 516 swiss|P04347|GLC5_SOYBN shuffled
+ 307 pos. 416 - 458 swiss|P30129|COAT_PAVC2 shuffled
+ 307 pos. 387 - 413 swiss|P19926|AGP_ECOLI shuffled
+ 307 pos. 286 - 352 swiss|P36146|YK43_YEAST shuffled
+ 307 pos. 199 - 237 swiss|P25301|RA57_YEAST shuffled
+ 307 pos. 80 - 116 swiss|P28653|PGS1_MOUSE shuffled
+ 307 pos. 74 - 110 swiss|Q04211|TS21_MOUSE shuffled
+ 307 pos. 44 - 98 swiss|P08316|TP1_SHEEP shuffled
+ 307 pos. 18 - 98 swiss|P19927|MBHL_ECOLI shuffled
+ 307 pos. 1 - 10 swiss|P33723|YPT1_NEUCR shuffled
+ 306 pos. 490 - 544 swiss|P33341|YEHB_ECOLI shuffled
+ 306 pos. 381 - 394 swiss|Q06060|MAPK_PEA shuffled
+ 306 pos. 181 - 186 swiss|Q02175|CPEZ_SYNPY shuffled
+ 306 pos. 121 - 141 swiss|P07408|HBA_SQUAC shuffled
+ 306 pos. 108 - 123 swiss|P00870|RBS_SPIOL shuffled
+ 306 pos. 98 - 124 swiss|P34386|YLS1_CAEEL shuffled
+ 306 pos. 78 - 114 swiss|P25537|CAFA_ECOLI shuffled
+ 306 pos. 28 - 66 swiss|P12854|ADH1_DRONA shuffled
+ 305 pos. 657 - 696 swiss|Q03497|ST20_YEAST shuffled
+ 305 pos. 563 - 584 swiss|P25472|GUND_CLOCE shuffled
+ 305 pos. 550 - 589 swiss|P09299|UL09_VZVD shuffled
+ 305 pos. 353 - 396 swiss|P15907|CAG1_HUMAN shuffled
+ 305 pos. 332 - 371 swiss|P00525|KSRC_AVISR shuffled
+ 305 pos. 317 - 338 swiss|P19454|KC22_YEAST shuffled
+ 305 pos. 279 - 318 swiss|P17666|CPCE_RABIT shuffled
+ 305 pos. 170 - 215 swiss|P05459|PDXB_ECOLI shuffled
+ 305 pos. 99 - 134 swiss|P10352|ACP1_BRANA shuffled
+ 305 pos. 61 - 111 swiss|P18957|UVP1_ECOLI shuffled
+ 305 pos. 53 - 104 swiss|P05982|DHQU_RAT shuffled
+ 305 pos. 50 - 91 swiss|P04444|HBBZ_MOUSE shuffled
+ 305 pos. 1 - 29 swiss|P21358|RMAR_CANGA shuffled
+ 304 pos. 208 - 231 swiss|P33936|YOJB_ECOLI shuffled
+ 304 pos. 178 - 202 swiss|P19253|RL13_MOUSE shuffled
+ 304 pos. 148 - 193 swiss|P11222|VME1_IBVB2 shuffled
+ 304 pos. 138 - 149 swiss|P18382|VK07_VACCV shuffled
+ 304 pos. 10 - 30 swiss|P20837|VTTA_BPT3 shuffled
+ 304 pos. 1 - 24 swiss|P07993|COAT_PEMV shuffled
+ 304 pos. 1 - 17 swiss|P33831|SPI3_VARV shuffled
+ 304 pos. 1 - 15 swiss|P07232|LYC_PREEN shuffled
+ 304 pos. 1 - 12 swiss|P02490|CRAA_RAT shuffled
+ 303 pos. 423 - 460 swiss|P06800|CD45_MOUSE shuffled
+ 303 pos. 338 - 378 swiss|P34644|YOQ6_CAEEL shuffled
+ 303 pos. 287 - 325 swiss|P25190|VGL2_CVBF shuffled
+ 303 pos. 241 - 277 swiss|P23475|KU70_MOUSE shuffled
+ 303 pos. 232 - 243 swiss|P31605|YCP1_CYAPA shuffled
+ 303 pos. 230 - 283 swiss|P20484|MK11_YEAST shuffled
+ 303 pos. 200 - 223 swiss|Q03664|ARP3_TOBAC shuffled
+ 303 pos. 116 - 162 swiss|Q06610|RBCR_THIFE shuffled
+ 303 pos. 4 - 44 swiss|Q03158|NUCE_STRPN shuffled
+ 303 pos. 1 - 10 swiss|P24859|SC14_KLULA shuffled
+ 303 pos. 1 - 8 swiss|P00420|COX3_YEAST shuffled
+ 302 pos. 1037 - 1068 swiss|P12221|YCF0_MARPO shuffled
+ 302 pos. 1002 - 1046 swiss|P14771|SC25_YEAST shuffled
+ 302 pos. 531 - 571 swiss|P21131|TACY_STRPY shuffled
+ 302 pos. 530 - 560 swiss|P36002|KKT8_YEAST shuffled
+ 302 pos. 427 - 455 swiss|P22604|RRB1_MOUSE shuffled
+ 302 pos. 314 - 353 swiss|P04900|GB01_RAT shuffled
+ 302 pos. 209 - 260 swiss|Q00866|MATK_PINTH shuffled
+ 302 pos. 113 - 205 swiss|P11284|GAG_MMTVC shuffled
+ 302 pos. 1 - 26 swiss|P31727|CYTA_SARPE shuffled
+ 302 pos. 1 - 13 swiss|P22106|ASNB_ECOLI shuffled
+ 302 pos. 1 - 11 swiss|P38617|YDP1_SULAC shuffled
+ 302 pos. 1 - 11 swiss|P38051|YFBA_ECOLI shuffled
+ 301 pos. 574 - 625 swiss|P20103|NISB_LACLA shuffled
+ 301 pos. 547 - 585 swiss|P38289|YB13_YEAST shuffled
+ 301 pos. 455 - 469 swiss|P06713|NTRC_ECOLI shuffled
+ 301 pos. 385 - 430 swiss|P13382|DPOA_YEAST shuffled
+ 301 pos. 367 - 375 swiss|P04809|HS83_DROPS shuffled
+ 301 pos. 314 - 344 swiss|P38115|YBZ9_YEAST shuffled
+ 301 pos. 274 - 298 swiss|P28811|MMSB_PSEAE shuffled
+ 301 pos. 256 - 277 swiss|Q04699|MALD_STRPN shuffled
+ 301 pos. 234 - 310 swiss|P34028|DNAA_SPICI shuffled
+ 301 pos. 209 - 263 swiss|P16263|ODO2_BACSU shuffled
+ 301 pos. 156 - 204 swiss|P19559|GAG_BIV27 shuffled
+ 301 pos. 122 - 129 swiss|P03562|VAL2_TGMV shuffled
+ 301 pos. 113 - 146 swiss|P24292|HBB_ECHTE shuffled
+ 301 pos. 78 - 89 swiss|P14069|CLCY_MOUSE shuffled
+ 301 pos. 20 - 56 swiss|P16330|CN37_MOUSE shuffled
+ 301 pos. 1 - 15 swiss|P30854|EVGA_ECOLI shuffled
+ 300 pos. 658 - 694 swiss|P32886|POLG_JAEVJ shuffled
+ 300 pos. 580 - 624 swiss|Q01365|POL2_BAYMG shuffled
+ 300 pos. 302 - 310 swiss|Q00716|HEMA_RACVI shuffled
+ 300 pos. 229 - 273 swiss|P21909|EDD_ZYMMO shuffled
+ 300 pos. 211 - 224 swiss|P15329|GUNX_CLOTM shuffled
+ 300 pos. 182 - 200 swiss|P28148|TF22_ARATH shuffled
+ 300 pos. 162 - 203 swiss|P02353|RS3_MYCCA shuffled
+ 300 pos. 119 - 141 swiss|P03167|X_WHV1 shuffled
+ 300 pos. 116 - 141 swiss|P01924|HBA_PREEN shuffled
+ 300 pos. 103 - 142 swiss|P22796|HRL2_LACMU shuffled
+ 300 pos. 93 - 147 swiss|P10168|IL7_MOUSE shuffled
+ 300 pos. 56 - 90 swiss|P22376|YPA3_ASCIM shuffled
+ 300 pos. 34 - 71 swiss|P05088|PHAE_PHAVU shuffled
+ 300 pos. 17 - 66 swiss|P09003|MI25_TOBAC shuffled
+ 300 pos. 1 - 18 swiss|P17160|RP5M_AZOVI shuffled
+ 300 pos. 1 - 16 swiss|P18109|INS_DIDMA shuffled
+ 300 pos. 1 - 9 swiss|P28762|SODM_EPTST shuffled
+ 299 pos. 3415 - 3432 swiss|P32886|POLG_JAEVJ shuffled
+ 299 pos. 3024 - 3059 swiss|P12823|POLG_DEN2P shuffled
+ 299 pos. 654 - 693 swiss|P06701|SIR3_YEAST shuffled
+ 299 pos. 401 - 409 swiss|P13452|TODA_PSEPU shuffled
+ 299 pos. 362 - 374 swiss|P07331|KMOS_MSVMH shuffled
+ 299 pos. 190 - 225 swiss|P08403|AROM_ECOLI shuffled
+ 299 pos. 163 - 183 swiss|P26394|RFBC_SALTY shuffled
+ 299 pos. 153 - 191 swiss|P36210|R12A_ARATH shuffled
+ 299 pos. 131 - 181 swiss|P31425|PAL1_SOLTU shuffled
+ 299 pos. 101 - 141 swiss|P29882|UL07_EBV shuffled
+ 299 pos. 98 - 141 swiss|P01934|HBA3_GORGO shuffled
+ 299 pos. 32 - 84 swiss|P18947|VIT4_CAEEL shuffled
+ 299 pos. 26 - 78 swiss|P10662|RT01_YEAST shuffled
+ 299 pos. 4 - 45 swiss|Q00020|V1A_BBMV shuffled
+ 299 pos. 1 - 22 swiss|P23619|HLYX_ACTPL shuffled
+ 299 pos. 1 - 11 swiss|P30195|EPIB_STAEP shuffled
+ 298 pos. 2193 - 2243 swiss|P29991|POLG_DEN27 shuffled
+ 298 pos. 1467 - 1482 swiss|Q01097|NME2_MOUSE shuffled
+ 298 pos. 1161 - 1207 swiss|P13887|POLN_RRVN shuffled
+ 298 pos. 476 - 511 swiss|P29981|CP4C_BLADI shuffled
+ 298 pos. 445 - 483 swiss|P20301|APRN_ENTHI shuffled
+ 298 pos. 205 - 240 swiss|P34298|YKQ3_CAEEL shuffled
+ 298 pos. 197 - 232 swiss|P09070|HXB4_XENLA shuffled
+ 298 pos. 186 - 210 swiss|P03936|YAC9_MAIZE shuffled
+ 298 pos. 155 - 201 swiss|P17548|BPHD_PSES1 shuffled
+ 298 pos. 1 - 42 swiss|P03628|VG71_BPPF3 shuffled
+ 298 pos. 1 - 30 swiss|P33185|RIPB_BRYDI shuffled
+ 298 pos. 1 - 13 swiss|P30221|HS11_LYCES shuffled
+ 297 pos. 734 - 776 swiss|P26675|SOS_DROME shuffled
+ 297 pos. 562 - 568 swiss|P14252|RRPP_SENDF shuffled
+ 297 pos. 483 - 496 swiss|P28568|GTR3_CHICK shuffled
+ 297 pos. 421 - 438 swiss|P23085|HVC2_HETFR shuffled
+ 297 pos. 377 - 405 swiss|P31572|CAIB_ECOLI shuffled
+ 297 pos. 150 - 198 swiss|P23256|MALY_ECOLI shuffled
+ 297 pos. 138 - 165 swiss|P16048|GCSH_PEA shuffled
+ 297 pos. 123 - 162 swiss|P21068|VA49_VACCC shuffled
+ 297 pos. 81 - 102 swiss|P36822|VE7_HPV19 shuffled
+ 297 pos. 71 - 90 swiss|P04315|YVDG_VACCV shuffled
+ 297 pos. 40 - 80 swiss|P32285|YDX1_BPT4 shuffled
+ 297 pos. 6 - 57 swiss|P14198|AAC4_DICDI shuffled
+ 297 pos. 1 - 23 swiss|P80078|GLMS_CLOCO shuffled
+ 297 pos. 1 - 17 swiss|P29733|PYG3_MASLA shuffled
+ 297 pos. 1 - 15 swiss|P29827|CINA_STRGV shuffled
+ 296 pos. 626 - 640 swiss|P32801|ELM1_YEAST shuffled
+ 296 pos. 584 - 626 swiss|P19821|DPO1_THEAQ shuffled
+ 296 pos. 569 - 574 swiss|P11209|VGLF_HRSVR shuffled
+ 296 pos. 308 - 350 swiss|Q06278|XDH_HUMAN shuffled
+ 296 pos. 251 - 294 swiss|P16425|Y2R2_DROME shuffled
+ 296 pos. 190 - 232 swiss|P05087|PHAL_PHAVU shuffled
+ 296 pos. 1 - 22 swiss|P03012|TNP1_ECOLI shuffled
+ 295 pos. 1216 - 1258 swiss|P12866|STE6_YEAST shuffled
+ 295 pos. 1030 - 1057 swiss|P18910|ANPA_RAT shuffled
+ 295 pos. 863 - 907 swiss|P35917|FLT4_MOUSE shuffled
+ 295 pos. 695 - 705 swiss|P27028|PPCE_FLAME shuffled
+ 295 pos. 414 - 425 swiss|Q03613|YN84_CAEEL shuffled
+ 295 pos. 383 - 404 swiss|P15698|NANH_CLOSO shuffled
+ 295 pos. 331 - 341 swiss|P33915|YEJE_ECOLI shuffled
+ 295 pos. 271 - 310 swiss|P07717|DNLI_BPT3 shuffled
+ 295 pos. 237 - 264 swiss|P13059|RCII_BPP4 shuffled
+ 295 pos. 212 - 233 swiss|P14066|CBS1_YEAST shuffled
+ 295 pos. 211 - 256 swiss|P37565|YRD4_BACSU shuffled
+ 295 pos. 100 - 129 swiss|P04648|RS22_YEAST shuffled
+ 295 pos. 75 - 118 swiss|P23338|GPT_CRILO shuffled
+ 295 pos. 59 - 108 swiss|Q00126|VG02_HSVI1 shuffled
+ 295 pos. 9 - 45 swiss|P37321|BLE1_PSEAE shuffled
+ 295 pos. 1 - 10 swiss|P16328|FLID_SALTY shuffled
+ 294 pos. 610 - 615 swiss|P27736|UGST_WHEAT shuffled
+ 294 pos. 320 - 359 swiss|P37474|MFD_BACSU shuffled
+ 294 pos. 297 - 319 swiss|P04194|DCHS_CLOPE shuffled
+ 294 pos. 258 - 264 swiss|P32199|LPXA_RICRI shuffled
+ 294 pos. 213 - 226 swiss|P37884|PRL_MESAU shuffled
+ 294 pos. 182 - 197 swiss|Q05229|VG23_BPML5 shuffled
+ 294 pos. 174 - 209 swiss|P33096|PRL_ANGAN shuffled
+ 294 pos. 154 - 201 swiss|P26055|VNUC_IADMA shuffled
+ 294 pos. 81 - 123 swiss|P35188|STS1_YEAST shuffled
+ 294 pos. 52 - 101 swiss|P10607|SOMA_ONCKI shuffled
+ 294 pos. 1 - 22 swiss|P05579|IOVO_CIRAE shuffled
+ 294 pos. 1 - 13 swiss|P06341|HB2A_RAT shuffled
+ 294 pos. 1 - 8 swiss|P00823|ATPA_TOBAC shuffled
+ 293 pos. 2007 - 2052 swiss|P03303|POLG_HRV14 shuffled
+ 293 pos. 1410 - 1451 swiss|P02549|SPCA_HUMAN shuffled
+ 293 pos. 1013 - 1054 swiss|P25172|SUZ2_DROME shuffled
+ 293 pos. 530 - 553 swiss|P07961|MCRA_METVA shuffled
+ 293 pos. 456 - 498 swiss|P00825|ATPB_SPIOL shuffled
+ 293 pos. 437 - 482 swiss|P34243|YKB7_YEAST shuffled
+ 293 pos. 307 - 347 swiss|P34544|YNCA_CAEEL shuffled
+ 293 pos. 219 - 254 swiss|P23248|RS3B_YEAST shuffled
+ 293 pos. 212 - 222 swiss|P31853|ATPX_SPIOL shuffled
+ 293 pos. 150 - 196 swiss|P10869|AK_YEAST shuffled
+ 293 pos. 109 - 138 swiss|P23929|OSMC_ECOLI shuffled
+ 293 pos. 12 - 53 swiss|P19201|YOR2_COYMV shuffled
+ 293 pos. 1 - 12 swiss|P23934|NUMM_BOVIN shuffled
+ 293 pos. 1 - 11 swiss|P21003|VB07_VACCV shuffled
+ 293 pos. 1 - 11 swiss|P19914|DCMM_PSECF shuffled
+ 293 pos. 1 - 7 swiss|P31890|FAF2_ASCSU shuffled
+ 292 pos. 978 - 994 swiss|P35524|CIC1_RAT shuffled
+ 292 pos. 761 - 776 swiss|Q02945|VP4_ROTEH shuffled
+ 292 pos. 714 - 756 swiss|P15989|CA36_CHICK shuffled
+ 292 pos. 314 - 359 swiss|P33420|NI80_YEAST shuffled
+ 292 pos. 251 - 272 swiss|P25047|DNRI_STRPE shuffled
+ 292 pos. 131 - 182 swiss|P37268|FDFT_HUMAN shuffled
+ 292 pos. 60 - 100 swiss|P33298|TBP2_YEAST shuffled
+ 292 pos. 1 - 25 swiss|P06112|PHAA_SYNP6 shuffled
+ 292 pos. 1 - 20 swiss|P25736|END1_ECOLI shuffled
+ 292 pos. 1 - 14 swiss|P16326|FLGL_SALTY shuffled
+ 291 pos. 739 - 746 swiss|Q04657|CATA_MYCIT shuffled
+ 291 pos. 604 - 626 swiss|P15279|DHM1_METOR shuffled
+ 291 pos. 492 - 498 swiss|P15664|VNUC_IADNZ shuffled
+ 291 pos. 422 - 463 swiss|P35220|CTNA_DROME shuffled
+ 291 pos. 320 - 330 swiss|P10518|HEM2_MOUSE shuffled
+ 291 pos. 243 - 286 swiss|P31407|VAT1_BOVIN shuffled
+ 291 pos. 126 - 168 swiss|P34041|HIS7_TRIHA shuffled
+ 291 pos. 116 - 151 swiss|P02277|H2A3_WHEAT shuffled
+ 291 pos. 87 - 129 swiss|P20671|H2A3_MOUSE shuffled
+ 291 pos. 1 - 38 swiss|Q01818|VMT1_RAT shuffled
+ 291 pos. 1 - 29 swiss|P08748|COX2_PARPR shuffled
+ 290 pos. 3678 - 3717 swiss|P36022|DYHC_YEAST shuffled
+ 290 pos. 3020 - 3061 swiss|Q02963|POLG_PVYHU shuffled
+ 290 pos. 634 - 675 swiss|P25611|YCZ6_YEAST shuffled
+ 290 pos. 388 - 412 swiss|P37144|DHON_METGL shuffled
+ 290 pos. 281 - 329 swiss|P13915|CVCA_PEA shuffled
+ 290 pos. 260 - 295 swiss|P17712|HXKP_RAT shuffled
+ 290 pos. 230 - 281 swiss|Q02897|GLUC_ORYSA shuffled
+ 290 pos. 114 - 133 swiss|Q04745|IL4_PIG shuffled
+ 290 pos. 106 - 156 swiss|P06250|PETD_MARPO shuffled
+ 290 pos. 92 - 98 swiss|P00819|ACYM_PIG shuffled
+ 290 pos. 59 - 115 swiss|P12611|WHI2_YEAST shuffled
+ 290 pos. 48 - 95 swiss|P06220|LACI_KLEPN shuffled
+ 290 pos. 29 - 94 swiss|P36164|YK68_YEAST shuffled
+ 290 pos. 17 - 52 swiss|Q04353|YHSB_CLOAB shuffled
+ 290 pos. 1 - 40 swiss|P33399|LAH1_YEAST shuffled
+ 290 pos. 1 - 25 swiss|P17877|GUN1_CLOJO shuffled
+ 290 pos. 1 - 10 swiss|Q06461|SECA_ANTSP shuffled
+ 289 pos. 604 - 634 swiss|P17372|VC09_VACCV shuffled
+ 289 pos. 486 - 543 swiss|P14099|CNAG_BOVIN shuffled
+ 289 pos. 326 - 374 swiss|P35169|TOR1_YEAST shuffled
+ 289 pos. 293 - 320 swiss|P28643|FABG_CUPLA shuffled
+ 289 pos. 263 - 299 swiss|P34975|OPRK_RAT shuffled
+ 289 pos. 165 - 211 swiss|P30858|ARTP_ECOLI shuffled
+ 289 pos. 135 - 178 swiss|P16393|HMDH_STRPU shuffled
+ 289 pos. 94 - 141 swiss|P11533|DMD_CHICK shuffled
+ 289 pos. 43 - 88 swiss|P23087|HVCS_HETFR shuffled
+ 289 pos. 1 - 17 swiss|P03902|NULM_BOVIN shuffled
+ 289 pos. 1 - 10 swiss|P34991|URA8_HUMAN shuffled
+ 289 pos. 1 - 10 swiss|P27531|YP46_RTBV shuffled
+ 288 pos. 1038 - 1045 swiss|P09489|PRTS_SERMA shuffled
+ 288 pos. 969 - 999 swiss|P18596|ATCF_RAT shuffled
+ 288 pos. 710 - 749 swiss|P15001|PHYA_PEA shuffled
+ 288 pos. 566 - 602 swiss|P30730|LSHR_MOUSE shuffled
+ 288 pos. 529 - 552 swiss|P34135|HMD1_DICDI shuffled
+ 288 pos. 472 - 511 swiss|P26238|CHLB_MARPO shuffled
+ 288 pos. 441 - 486 swiss|P06272|RPOB_MARPO shuffled
+ 288 pos. 382 - 430 swiss|P18594|VID4_AGRT5 shuffled
+ 288 pos. 355 - 381 swiss|P38405|GBAF_HUMAN shuffled
+ 288 pos. 270 - 332 swiss|P11426|ACT_ENTHI shuffled
+ 288 pos. 253 - 301 swiss|P17177|CP27_RABIT shuffled
+ 288 pos. 222 - 244 swiss|P13956|MLSB_BACSU shuffled
+ 288 pos. 214 - 260 swiss|P24412|VME1_CVPRM shuffled
+ 288 pos. 198 - 237 swiss|P26208|BGLA_CLOTM shuffled
+ 288 pos. 192 - 239 swiss|P09034|ASSY_RAT shuffled
+ 288 pos. 162 - 205 swiss|P24801|ANX2_XENLA shuffled
+ 288 pos. 159 - 204 swiss|P38544|RAN_ONCVO shuffled
+ 288 pos. 148 - 191 swiss|P11618|VNS1_IACHI shuffled
+ 288 pos. 142 - 146 swiss|Q00676|LUQ1_APLCA shuffled
+ 288 pos. 128 - 137 swiss|P15580|NU3M_PODAN shuffled
+ 288 pos. 97 - 140 swiss|P08881|S3AD_KLEPN shuffled
+ 288 pos. 1 - 33 swiss|P29874|COX2_GALME shuffled
+ 288 pos. 1 - 29 swiss|P32217|VC18_SFVKA shuffled
+ 288 pos. 1 - 19 swiss|Q07465|RNI_AERHY shuffled
+ 288 pos. 1 - 12 swiss|P36207|RS16_GINBI shuffled
+ 287 pos. 2145 - 2157 swiss|P12916|POLG_HRV1B shuffled
+ 287 pos. 1582 - 1617 swiss|P35194|YBA4_YEAST shuffled
+ 287 pos. 731 - 737 swiss|P21604|VE02_VACCV shuffled
+ 287 pos. 543 - 582 swiss|P22983|PODK_BACSY shuffled
+ 287 pos. 489 - 540 swiss|P10666|KS6B_XENLA shuffled
+ 287 pos. 488 - 527 swiss|P22622|AMA1_PLAFR shuffled
+ 287 pos. 365 - 402 swiss|P32951|CAR1_CANPA shuffled
+ 287 pos. 333 - 345 swiss|P34973|D2D2_XENLA shuffled
+ 287 pos. 298 - 346 swiss|P29598|UROK_RAT shuffled
+ 287 pos. 288 - 304 swiss|P12843|IBP2_RAT shuffled
+ 287 pos. 236 - 260 swiss|P27771|PROC_TREPA shuffled
+ 287 pos. 229 - 268 swiss|P21747|EA92_VICFA shuffled
+ 287 pos. 193 - 238 swiss|P33342|YEHC_ECOLI shuffled
+ 287 pos. 185 - 231 swiss|P26198|ACTM_STYCL shuffled
+ 287 pos. 140 - 184 swiss|P26370|UGA3_YEAST shuffled
+ 287 pos. 137 - 176 swiss|P03582|MOVP_TMVOM shuffled
+ 287 pos. 81 - 118 swiss|P26449|BUB3_YEAST shuffled
+ 287 pos. 48 - 89 swiss|P21177|FADB_ECOLI shuffled
+ 287 pos. 1 - 17 swiss|P35634|FLA2_BARBA shuffled
+ 286 pos. 663 - 697 swiss|P28561|APCE_AGLNE shuffled
+ 286 pos. 561 - 565 swiss|P17002|HEMA_IAHUR shuffled
+ 286 pos. 340 - 392 swiss|P32896|PDC2_YEAST shuffled
+ 286 pos. 319 - 365 swiss|Q00506|NU4M_PHOVI shuffled
+ 286 pos. 230 - 259 swiss|P00922|CAH2_SHEEP shuffled
+ 286 pos. 228 - 259 swiss|P00918|CAH2_HUMAN shuffled
+ 286 pos. 224 - 241 swiss|P28066|PRCZ_HUMAN shuffled
+ 286 pos. 201 - 233 swiss|P24405|SOML_ONCKE shuffled
+ 286 pos. 45 - 74 swiss|P01378|NXL1_BUNMU shuffled
+ 286 pos. 1 - 41 swiss|P33873|VF15_VARV shuffled
+ 286 pos. 1 - 12 swiss|P00783|SUBT_BACSA shuffled
+ 285 pos. 1081 - 1127 swiss|P09547|ADR6_YEAST shuffled
+ 285 pos. 658 - 709 swiss|P07742|RIR1_MOUSE shuffled
+ 285 pos. 587 - 624 swiss|P08987|GTFB_STRMU shuffled
+ 285 pos. 495 - 507 swiss|P34158|CFTR_RAT shuffled
+ 285 pos. 492 - 499 swiss|P14323|GLU4_ORYSA shuffled
+ 285 pos. 488 - 498 swiss|P07381|VNUC_IAPAR shuffled
+ 285 pos. 482 - 491 swiss|P30546|HH1R_BOVIN shuffled
+ 285 pos. 440 - 485 swiss|P19227|P60_RAT shuffled
+ 285 pos. 375 - 414 swiss|P16502|RRP1_IABEI shuffled
+ 285 pos. 276 - 298 swiss|P22885|XERC_ECOLI shuffled
+ 285 pos. 259 - 269 swiss|P29729|PECE_MASLA shuffled
+ 285 pos. 197 - 237 swiss|P26196|P54_HUMAN shuffled
+ 285 pos. 158 - 168 swiss|P12729|PSA_DICDI shuffled
+ 285 pos. 153 - 199 swiss|P03107|VL2_HPV16 shuffled
+ 285 pos. 105 - 144 swiss|P08978|RL2A_NEUCR shuffled
+ 285 pos. 93 - 130 swiss|P38061|RL3P_YEAST shuffled
+ 285 pos. 30 - 64 swiss|P07085|RL35_ECOLI shuffled
+ 285 pos. 1 - 40 swiss|P10658|EPIP_RABIT shuffled
+ 285 pos. 1 - 24 swiss|P22702|Y3KD_NEUCR shuffled
+ 285 pos. 1 - 22 swiss|P19296|YORL_TTV1 shuffled
+ 285 pos. 1 - 18 swiss|P19697|HEMA_IADNZ shuffled
+ 285 pos. 1 - 17 swiss|P33787|TRM7_ECOLI shuffled
+ 285 pos. 1 - 12 swiss|P18086|FLAV_DESSA shuffled
+ 285 pos. 1 - 12 swiss|P07275|PUT2_YEAST shuffled
+ 285 pos. 1 - 9 swiss|P22878|GLN2_STRHY shuffled
+ 284 pos. 2277 - 2314 swiss|P23471|PTPZ_HUMAN shuffled
+ 284 pos. 1184 - 1191 swiss|Q05481|ZN91_HUMAN shuffled
+ 284 pos. 731 - 782 swiss|Q02440|MYSD_CHICK shuffled
+ 284 pos. 569 - 576 swiss|P02879|RICI_RICCO shuffled
+ 284 pos. 541 - 550 swiss|P12582|HEMA_IADH1 shuffled
+ 284 pos. 498 - 507 swiss|P06283|ATPA_MARPO shuffled
+ 284 pos. 488 - 533 swiss|Q06473|COX1_SYNY3 shuffled
+ 284 pos. 384 - 412 swiss|P36008|EF1H_YEAST shuffled
+ 284 pos. 298 - 306 swiss|P10424|BLA1_BACCE shuffled
+ 284 pos. 276 - 298 swiss|P29823|LACF_AGRRD shuffled
+ 284 pos. 245 - 274 swiss|P15194|CB2B_PINSY shuffled
+ 284 pos. 180 - 191 swiss|P13087|MIRA_RICDU shuffled
+ 284 pos. 104 - 143 swiss|P29755|AG2S_MOUSE shuffled
+ 284 pos. 78 - 128 swiss|P07871|THI1_RAT shuffled
+ 284 pos. 59 - 90 swiss|P03639|VGE_BPPHX shuffled
+ 284 pos. 26 - 67 swiss|P20463|TRPE_LEPBI shuffled
+ 283 pos. 1082 - 1088 swiss|P21615|RRPO_ROTBU shuffled
+ 283 pos. 680 - 725 swiss|P09547|ADR6_YEAST shuffled
+ 283 pos. 616 - 646 swiss|Q05133|VE1_HPV07 shuffled
+ 283 pos. 275 - 309 swiss|P12155|PSAA_ORYSA shuffled
+ 283 pos. 270 - 310 swiss|P15489|HS60_GIALA shuffled
+ 283 pos. 200 - 240 swiss|P22044|RRPP_PI4HA shuffled
+ 283 pos. 167 - 201 swiss|P38448|ALKH_ERWCH shuffled
+ 283 pos. 141 - 183 swiss|P26095|HEMA_IAHC7 shuffled
+ 283 pos. 117 - 134 swiss|P06322|TVA1_RABIT shuffled
+ 283 pos. 106 - 148 swiss|P24452|MBH1_MOUSE shuffled
+ 283 pos. 70 - 83 swiss|P04662|HEMA_IATRA shuffled
+ 283 pos. 35 - 58 swiss|P13315|Y627_BPT4 shuffled
+ 283 pos. 13 - 63 swiss|P19146|ARF2_YEAST shuffled
+ 283 pos. 1 - 11 swiss|P13886|POLN_ONNVG shuffled
+ 282 pos. 2852 - 2894 swiss|P29846|POLG_HCVTW shuffled
+ 282 pos. 1702 - 1708 swiss|P09977|YCFX_TOBAC shuffled
+ 282 pos. 1066 - 1105 swiss|P25648|YCX1_YEAST shuffled
+ 282 pos. 598 - 657 swiss|P31636|NAAA_PIG shuffled
+ 282 pos. 593 - 616 swiss|P17520|RRPO_PLRV1 shuffled
+ 282 pos. 570 - 610 swiss|P15101|DOPO_BOVIN shuffled
+ 282 pos. 548 - 586 swiss|P24786|TRKC_PIG shuffled
+ 282 pos. 540 - 567 swiss|P33819|VE06_VARV shuffled
+ 282 pos. 465 - 469 swiss|P03484|NRAM_IARI5 shuffled
+ 282 pos. 313 - 359 swiss|P25834|RBL_RIVHU shuffled
+ 282 pos. 288 - 330 swiss|Q04652|KELC_DROME shuffled
+ 282 pos. 199 - 238 swiss|Q05741|TRXB_STRCL shuffled
+ 282 pos. 170 - 209 swiss|P13017|AMPE_ECOLI shuffled
+ 282 pos. 143 - 191 swiss|P27444|COAT_SLCV shuffled
+ 282 pos. 139 - 144 swiss|Q01994|RISB_PHOLE shuffled
+ 282 pos. 132 - 175 swiss|P09368|PUT1_YEAST shuffled
+ 282 pos. 62 - 108 swiss|P34286|YKK9_CAEEL shuffled
+ 282 pos. 1 - 50 swiss|P22009|PX18_CANTR shuffled
+ 281 pos. 514 - 561 swiss|P09884|DPOA_HUMAN shuffled
+ 281 pos. 466 - 502 swiss|P03233|UL25_EBV shuffled
+ 281 pos. 222 - 248 swiss|P03218|VGL2_EBV shuffled
+ 281 pos. 202 - 235 swiss|P32460|DCG1_YEAST shuffled
+ 281 pos. 177 - 210 swiss|P03020|CRP_ECOLI shuffled
+ 281 pos. 153 - 200 swiss|P14439|HA23_MOUSE shuffled
+ 281 pos. 119 - 123 swiss|P28144|WN7B_SCEOC shuffled
+ 281 pos. 96 - 104 swiss|P23082|NDOA_PSEPU shuffled
+ 281 pos. 77 - 125 swiss|P03906|NU4M_PANTR shuffled
+ 281 pos. 57 - 104 swiss|P03418|NCAP_HRSVA shuffled
+ 281 pos. 33 - 43 swiss|P16485|Y5K_CYMV shuffled
+ 281 pos. 8 - 40 swiss|P37674|YIAM_ECOLI shuffled
+ 281 pos. 1 - 30 swiss|P03760|VRXA_LAMBD shuffled
+ 281 pos. 1 - 21 swiss|P11000|WAPA_STRMU shuffled
+ 280 pos. 1272 - 1313 swiss|P31635|RPB0_ARATH shuffled
+ 280 pos. 711 - 754 swiss|Q99323|MYSN_DROME shuffled
+ 280 pos. 346 - 387 swiss|P06407|PSAB_TOBAC shuffled
+ 280 pos. 260 - 296 swiss|P19013|K2C4_HUMAN shuffled
+ 280 pos. 247 - 269 swiss|Q07587|ADHR_DROLE shuffled
+ 280 pos. 168 - 211 swiss|P31378|YA15_YEAST shuffled
+ 280 pos. 156 - 165 swiss|P17079|RL12_YEAST shuffled
+ 280 pos. 136 - 141 swiss|P36128|YK13_YEAST shuffled
+ 280 pos. 124 - 159 swiss|P17449|VRP1_SALCH shuffled
+ 280 pos. 92 - 132 swiss|P03563|VAL3_TGMV shuffled
+ 280 pos. 64 - 106 swiss|P07351|INA4_MOUSE shuffled
+ 280 pos. 63 - 102 swiss|P36814|VE6_HPV52 shuffled
+ 280 pos. 1 - 19 swiss|P17629|HPR1_YEAST shuffled
+ 280 pos. 1 - 14 swiss|P04205|MAST_VESMA shuffled
+ 279 pos. 468 - 500 swiss|P06189|ARAA_SALTY shuffled
+ 279 pos. 338 - 379 swiss|P27961|POLG_HCVJ7 shuffled
+ 279 pos. 283 - 294 swiss|P13158|UNG_HSV23 shuffled
+ 279 pos. 158 - 204 swiss|P22010|GR78_KLULA shuffled
+ 279 pos. 132 - 174 swiss|P03995|GFAP_MOUSE shuffled
+ 279 pos. 49 - 101 swiss|P11023|RB3A_BOVIN shuffled
+ 279 pos. 23 - 58 swiss|P34440|YL82_CAEEL shuffled
+ 279 pos. 1 - 31 swiss|P29791|VGLF_BRSVA shuffled
+ 279 pos. 1 - 17 swiss|P26954|IL3B_MOUSE shuffled
+ 279 pos. 1 - 11 swiss|P03891|NU2M_HUMAN shuffled
+ 279 pos. 1 - 10 swiss|P28767|SODM_PETMA shuffled
+ 278 pos. 2063 - 2108 swiss|P26582|POLG_HPAV8 shuffled
+ 278 pos. 1336 - 1342 swiss|P06173|RPOB_SALTY shuffled
+ 278 pos. 642 - 682 swiss|P34545|YNJ1_CAEEL shuffled
+ 278 pos. 548 - 552 swiss|P27585|VNS1_EHDV2 shuffled
+ 278 pos. 498 - 505 swiss|P30612|CP5J_CANTR shuffled
+ 278 pos. 492 - 528 swiss|P21802|FGR2_HUMAN shuffled
+ 278 pos. 407 - 430 swiss|P35531|SP47_SHIFL shuffled
+ 278 pos. 381 - 402 swiss|Q07849|VE2_HPV04 shuffled
+ 278 pos. 365 - 410 swiss|P04819|DNLI_YEAST shuffled
+ 278 pos. 323 - 388 swiss|P36875|2AAA_PEA shuffled
+ 278 pos. 264 - 303 swiss|P30140|THIH_ECOLI shuffled
+ 278 pos. 248 - 256 swiss|P27268|VBR1_PYMVV shuffled
+ 278 pos. 236 - 275 swiss|P11851|VS09_ROTHH shuffled
+ 278 pos. 229 - 270 swiss|P32237|GRHR_SHEEP shuffled
+ 278 pos. 196 - 254 swiss|P22025|NCAP_UUK shuffled
+ 278 pos. 195 - 202 swiss|P08671|VMAT_RABVP shuffled
+ 278 pos. 153 - 198 swiss|P13778|REP1_ZYGRO shuffled
+ 278 pos. 153 - 192 swiss|P80316|TCPE_MOUSE shuffled
+ 278 pos. 137 - 169 swiss|P34147|RACA_DICDI shuffled
+ 278 pos. 85 - 108 swiss|P26155|RNPH_SALTY shuffled
+ 278 pos. 80 - 121 swiss|P37532|YR81_BACSU shuffled
+ 278 pos. 74 - 110 swiss|P24737|VIF_HV1U4 shuffled
+ 278 pos. 1 - 31 swiss|P22214|SC22_YEAST shuffled
+ 278 pos. 1 - 9 swiss|P23360|XYNA_THEAU shuffled
+ 277 pos. 1910 - 1955 swiss|P11075|SEC7_YEAST shuffled
+ 277 pos. 1751 - 1790 swiss|P13529|POLG_PPVD shuffled
+ 277 pos. 1750 - 1781 swiss|P34431|YL51_CAEEL shuffled
+ 277 pos. 490 - 526 swiss|P25179|VP5_BTV13 shuffled
+ 277 pos. 453 - 503 swiss|P32901|PTR2_YEAST shuffled
+ 277 pos. 435 - 477 swiss|P12541|TERM_ADE12 shuffled
+ 277 pos. 363 - 399 swiss|P20082|PARC_ECOLI shuffled
+ 277 pos. 362 - 379 swiss|P16847|UL28_HCMVA shuffled
+ 277 pos. 329 - 373 swiss|P29098|RRPO_PPMVS shuffled
+ 277 pos. 200 - 237 swiss|P12910|VMSA_WHV59 shuffled
+ 277 pos. 116 - 135 swiss|P11105|H32_MEDSA shuffled
+ 277 pos. 105 - 144 swiss|P15921|190K_RICRI shuffled
+ 277 pos. 80 - 101 swiss|Q00244|NULC_PLEBO shuffled
+ 277 pos. 61 - 87 swiss|P29907|YNQ1_PARDE shuffled
+ 277 pos. 47 - 60 swiss|P16754|UL02_HCMVA shuffled
+ 277 pos. 39 - 101 swiss|P12774|NU3M_PARLI shuffled
+ 277 pos. 1 - 36 swiss|P33983|RP54_ACICA shuffled
+ 277 pos. 1 - 21 swiss|P31233|CH10_PEA shuffled
+ 277 pos. 1 - 15 swiss|P36100|T2EA_YEAST shuffled
+ 277 pos. 1 - 15 swiss|P12179|YCF7_MARPO shuffled
+ 277 pos. 1 - 8 swiss|Q02264|VE2_PCPV1 shuffled
+ 276 pos. 746 - 781 swiss|P16730|UL87_HCMVA shuffled
+ 276 pos. 633 - 655 swiss|P07975|HEMA_INCJH shuffled
+ 276 pos. 598 - 640 swiss|P14090|GUNC_CELFI shuffled
+ 276 pos. 539 - 586 swiss|P13060|EF2_DROME shuffled
+ 276 pos. 523 - 569 swiss|P36724|VE1_HPV32 shuffled
+ 276 pos. 423 - 441 swiss|P25781|CYSP_THEAN shuffled
+ 276 pos. 369 - 422 swiss|P32497|NIP1_YEAST shuffled
+ 276 pos. 361 - 401 swiss|P05181|CPE1_HUMAN shuffled
+ 276 pos. 341 - 367 swiss|P16529|PEL1_ERWCA shuffled
+ 276 pos. 194 - 223 swiss|P29087|YSO3_DESAM shuffled
+ 276 pos. 104 - 148 swiss|P00517|KAPA_BOVIN shuffled
+ 276 pos. 84 - 123 swiss|P21583|SCF_HUMAN shuffled
+ 276 pos. 79 - 118 swiss|Q01442|SRP4_MYCMY shuffled
+ 276 pos. 76 - 88 swiss|P26836|YNGE_CLOPE shuffled
+ 276 pos. 57 - 95 swiss|P19759|HBE_GALCR shuffled
+ 276 pos. 34 - 77 swiss|P28547|KC2A_THEPA shuffled
+ 276 pos. 1 - 42 swiss|P38071|MRF1_YEAST shuffled
+ 276 pos. 1 - 17 swiss|P02853|PHSB_PHAVU shuffled
+ 276 pos. 1 - 11 swiss|P35075|CYB_COTJA shuffled
+ 276 pos. 1 - 10 swiss|P08420|PYRB_SALTY shuffled
+ 275 pos. 675 - 708 swiss|P05335|CAO4_CANMA shuffled
+ 275 pos. 660 - 717 swiss|P24183|FDNG_ECOLI shuffled
+ 275 pos. 615 - 638 swiss|P16519|NEC2_HUMAN shuffled
+ 275 pos. 411 - 439 swiss|Q02354|YAD2_YEAST shuffled
+ 275 pos. 366 - 408 swiss|P27565|RRPP_SEND5 shuffled
+ 275 pos. 355 - 379 swiss|P00333|ADH1_MAIZE shuffled
+ 275 pos. 333 - 367 swiss|P10827|THA2_HUMAN shuffled
+ 275 pos. 293 - 337 swiss|P33906|DEAD_KLEPN shuffled
+ 275 pos. 171 - 176 swiss|P08189|FIMF_ECOLI shuffled
+ 275 pos. 169 - 223 swiss|P38623|RCK2_YEAST shuffled
+ 275 pos. 158 - 204 swiss|P32383|PIP1_YEAST shuffled
+ 275 pos. 142 - 172 swiss|P08214|ATPF_PEA shuffled
+ 275 pos. 124 - 160 swiss|P13955|DYRA_STAAU shuffled
+ 275 pos. 104 - 141 swiss|P27874|MAS1_AGRRA shuffled
+ 275 pos. 60 - 99 swiss|P07650|DEOA_ECOLI shuffled
+ 275 pos. 44 - 86 swiss|P32311|OPSG_CARAU shuffled
+ 275 pos. 36 - 84 swiss|P35993|HX7P_XENLA shuffled
+ 275 pos. 23 - 65 swiss|P36537|UDBA_HUMAN shuffled
+ 275 pos. 1 - 29 swiss|P23255|TSM1_YEAST shuffled
+ 275 pos. 1 - 15 swiss|P35807|AKH2_SCHNI shuffled
+ 274 pos. 2002 - 2040 swiss|P27314|RRPL_SEOU8 shuffled
+ 274 pos. 1645 - 1689 swiss|P25391|LMA1_HUMAN shuffled
+ 274 pos. 1154 - 1191 swiss|P36328|POLN_EEVVP shuffled
+ 274 pos. 912 - 960 swiss|P18874|ATN3_PIG shuffled
+ 274 pos. 679 - 718 swiss|P15390|CINS_RAT shuffled
+ 274 pos. 603 - 642 swiss|P07969|HEMA_INCYA shuffled
+ 274 pos. 394 - 433 swiss|P19483|ATP0_BOVIN shuffled
+ 274 pos. 295 - 331 swiss|P28795|PAS3_YEAST shuffled
+ 274 pos. 291 - 328 swiss|P35561|IRK1_MOUSE shuffled
+ 274 pos. 259 - 298 swiss|P07561|TCR_BACST shuffled
+ 274 pos. 224 - 266 swiss|P09153|YCFA_ECOLI shuffled
+ 274 pos. 190 - 224 swiss|Q02049|VE1_HPV25 shuffled
+ 274 pos. 179 - 212 swiss|P09457|ATPO_YEAST shuffled
+ 274 pos. 178 - 199 swiss|Q01931|DS22_CRAPL shuffled
+ 274 pos. 176 - 219 swiss|P25181|VGLF_SV41 shuffled
+ 274 pos. 156 - 167 swiss|Q01044|VG71_HSVSA shuffled
+ 274 pos. 150 - 194 swiss|P06574|RPSB_BACSU shuffled
+ 274 pos. 137 - 180 swiss|P18343|TPMY_RAT shuffled
+ 274 pos. 122 - 176 swiss|P27135|RHAT_SALTY shuffled
+ 274 pos. 118 - 165 swiss|P38110|YBI8_YEAST shuffled
+ 274 pos. 74 - 118 swiss|P16893|TRAP_PLAFA shuffled
+ 274 pos. 65 - 119 swiss|P37711|VANY_ENTFC shuffled
+ 274 pos. 43 - 87 swiss|P27473|P44_PANTR shuffled
+ 274 pos. 33 - 74 swiss|P22213|SLY1_YEAST shuffled
+ 274 pos. 1 - 26 swiss|P32023|KGP3_DROME shuffled
+ 274 pos. 1 - 17 swiss|P00276|THIO_BPT4 shuffled
+ 274 pos. 1 - 16 swiss|Q02210|YMOR_PSEPU shuffled
+ 274 pos. 1 - 13 swiss|P14959|RBL_OLILU shuffled
+ 274 pos. 1 - 10 swiss|P24461|CPG1_RABIT shuffled
+ 274 pos. 1 - 9 swiss|P26880|YPA1_LEGPN shuffled
+ 274 pos. 1 - 8 swiss|P38289|YB13_YEAST shuffled
+ 273 pos. 556 - 599 swiss|P03314|POLG_YEFV1 shuffled
+ 273 pos. 482 - 500 swiss|P12495|GAG_HV1Z2 shuffled
+ 273 pos. 478 - 517 swiss|P07575|ENV_MPMV shuffled
+ 273 pos. 471 - 507 swiss|P38427|TSL1_YEAST shuffled
+ 273 pos. 421 - 427 swiss|P00891|CISY_ECOLI shuffled
+ 273 pos. 335 - 370 swiss|P20932|MDLB_PSEPU shuffled
+ 273 pos. 320 - 361 swiss|P35397|ROR1_HUMAN shuffled
+ 273 pos. 310 - 326 swiss|P28951|UL31_HSVEB shuffled
+ 273 pos. 293 - 332 swiss|P37074|GUB_CLOTM shuffled
+ 273 pos. 236 - 271 swiss|P19409|BAIB_EUBSP shuffled
+ 273 pos. 225 - 243 swiss|Q05259|VG48_BPML5 shuffled
+ 273 pos. 126 - 183 swiss|P20103|NISB_LACLA shuffled
+ 273 pos. 80 - 134 swiss|P23464|YI11_HALHA shuffled
+ 273 pos. 50 - 102 swiss|P00518|KPBG_RABIT shuffled
+ 273 pos. 50 - 89 swiss|P80061|DPOL_PYRFU shuffled
+ 273 pos. 40 - 84 swiss|P12945|NAT1_YEAST shuffled
+ 273 pos. 21 - 66 swiss|Q01681|POLG_PPVEA shuffled
+ 273 pos. 11 - 53 swiss|P12961|7B2_MOUSE shuffled
+ 273 pos. 1 - 49 swiss|P14185|EXOX_RHISN shuffled
+ 273 pos. 1 - 34 swiss|P13360|GLAS_DROME shuffled
+ 273 pos. 1 - 20 swiss|P03640|VGE_BPG4 shuffled
+ 273 pos. 1 - 12 swiss|Q08020|YMI1_SALTY shuffled
+ 272 pos. 1764 - 1815 swiss|Q01056|TEGU_HSVSA shuffled
+ 272 pos. 1392 - 1429 swiss|P11881|IP3R_MOUSE shuffled
+ 272 pos. 680 - 705 swiss|P32562|CC5_YEAST shuffled
+ 272 pos. 397 - 447 swiss|P26016|FURS_DROME shuffled
+ 272 pos. 346 - 353 swiss|P21279|GBQ_MOUSE shuffled
+ 272 pos. 336 - 377 swiss|Q07176|MSK7_MEDSA shuffled
+ 272 pos. 307 - 351 swiss|P03418|NCAP_HRSVA shuffled
+ 272 pos. 206 - 242 swiss|P12726|ALT_BPT4 shuffled
+ 272 pos. 194 - 204 swiss|P30202|VPRT_ADEM1 shuffled
+ 272 pos. 193 - 234 swiss|P17177|CP27_RABIT shuffled
+ 272 pos. 176 - 214 swiss|P08438|VCL_VICFA shuffled
+ 272 pos. 154 - 159 swiss|P19825|LATX_PAPSO shuffled
+ 272 pos. 133 - 143 swiss|P38183|YBH7_YEAST shuffled
+ 272 pos. 23 - 67 swiss|P38228|YBP4_YEAST shuffled
+ 272 pos. 14 - 54 swiss|P24934|E1A6_ADE02 shuffled
+ 272 pos. 5 - 46 swiss|P22071|3BH1_RAT shuffled
+ 272 pos. 1 - 37 swiss|P29491|TCPD_VIBCH shuffled
+ 272 pos. 1 - 22 swiss|P18550|RS19_PETHY shuffled
+ 272 pos. 1 - 15 swiss|P24254|YZPU_ECOLI shuffled
+ 271 pos. 687 - 717 swiss|Q02225|SKI_XENLA shuffled
+ 271 pos. 454 - 494 swiss|P03133|VNCS_PAVHH shuffled
+ 271 pos. 312 - 339 swiss|P06915|CSP_PLABE shuffled
+ 271 pos. 255 - 279 swiss|P22070|BLAD_KLEPN shuffled
+ 271 pos. 240 - 246 swiss|P29987|PYG2_ANASP shuffled
+ 271 pos. 193 - 235 swiss|P30153|2AAA_HUMAN shuffled
+ 271 pos. 127 - 165 swiss|P12342|IL2A_BOVIN shuffled
+ 271 pos. 125 - 164 swiss|P26367|PAX6_HUMAN shuffled
+ 271 pos. 120 - 147 swiss|P16681|PHNB_ECOLI shuffled
+ 271 pos. 116 - 155 swiss|P38271|YBX9_YEAST shuffled
+ 271 pos. 1 - 11 swiss|P17881|NCAP_SEOUS shuffled
+ 271 pos. 1 - 7 swiss|P06777|RAD1_YEAST shuffled
+ 270 pos. 815 - 869 swiss|P15207|ANDR_RAT shuffled
+ 270 pos. 542 - 563 swiss|Q08890|IDS_MOUSE shuffled
+ 270 pos. 485 - 518 swiss|P20621|NIFK_BRAJA shuffled
+ 270 pos. 429 - 441 swiss|Q03181|PPAS_HUMAN shuffled
+ 270 pos. 342 - 355 swiss|P31672|NIFS_LACDE shuffled
+ 270 pos. 337 - 355 swiss|Q00796|DHSO_HUMAN shuffled
+ 270 pos. 332 - 373 swiss|P00328|ADHS_HORSE shuffled
+ 270 pos. 251 - 262 swiss|P33464|VGL1_CVPR8 shuffled
+ 270 pos. 74 - 101 swiss|P12128|NULC_ORYSA shuffled
+ 270 pos. 67 - 122 swiss|P33156|RECA_AGRTU shuffled
+ 270 pos. 49 - 118 swiss|P31891|MBHL_ALCEU shuffled
+ 270 pos. 38 - 93 swiss|P23798|ME18_MOUSE shuffled
+ 270 pos. 35 - 76 swiss|P12531|TOP2_TRYBB shuffled
+ 270 pos. 28 - 67 swiss|Q03101|CYAG_DICDI shuffled
+ 270 pos. 26 - 58 swiss|P22755|SINI_BACLI shuffled
+ 270 pos. 26 - 48 swiss|P19651|TXA1_STOHE shuffled
+ 270 pos. 1 - 35 swiss|Q02956|KPCZ_MOUSE shuffled
+ 270 pos. 1 - 25 swiss|Q00673|NUGM_CANMA shuffled
+ 270 pos. 1 - 25 swiss|P23918|YMES_BACST shuffled
+ 270 pos. 1 - 12 swiss|P36354|NCAP_PI1HA shuffled
+ 270 pos. 1 - 11 swiss|P18768|CHVA_AGRTU shuffled
+ 269 pos. 654 - 711 swiss|P36033|YKW0_YEAST shuffled
+ 269 pos. 619 - 657 swiss|P00561|AK1H_ECOLI shuffled
+ 269 pos. 537 - 574 swiss|P22167|VGLF_BRSVC shuffled
+ 269 pos. 531 - 547 swiss|P08663|MERA_STAAU shuffled
+ 269 pos. 393 - 444 swiss|P17649|GATA_YEAST shuffled
+ 269 pos. 279 - 304 swiss|P08512|CIK3_DROME shuffled
+ 269 pos. 252 - 296 swiss|P26182|ACT_ACHBI shuffled
+ 269 pos. 247 - 295 swiss|P04272|ANX2_BOVIN shuffled
+ 269 pos. 211 - 250 swiss|Q08942|NRKA_TRYBB shuffled
+ 269 pos. 190 - 210 swiss|P02851|BAR2_CHITE shuffled
+ 269 pos. 132 - 176 swiss|P11926|DCOR_HUMAN shuffled
+ 269 pos. 105 - 146 swiss|P07251|ATPA_YEAST shuffled
+ 269 pos. 53 - 73 swiss|P33872|VF14_VARV shuffled
+ 269 pos. 50 - 93 swiss|Q01232|VA35_VACCV shuffled
+ 269 pos. 18 - 58 swiss|P26866|RT04_MARPO shuffled
+ 269 pos. 13 - 36 swiss|P12161|PSBI_ORYSA shuffled
+ 269 pos. 1 - 26 swiss|P32293|ARG3_PHAAU shuffled
+ 269 pos. 1 - 26 swiss|P11996|LP1B_DROME shuffled
+ 269 pos. 1 - 13 swiss|P20385|CF2_DROME shuffled
+ 269 pos. 1 - 10 swiss|P28785|TNAB_PROVU shuffled
+ 268 pos. 515 - 553 swiss|P33614|VGLF_NDVL shuffled
+ 268 pos. 332 - 346 swiss|P24113|LUXA_PHOPO shuffled
+ 268 pos. 225 - 270 swiss|Q07157|ZO1_HUMAN shuffled
+ 268 pos. 210 - 236 swiss|P22177|PCNA_SOYBN shuffled
+ 268 pos. 173 - 215 swiss|P24943|GLTT_BACST shuffled
+ 268 pos. 162 - 202 swiss|P09019|HXB5_XENLA shuffled
+ 268 pos. 160 - 168 swiss|P21057|VA34_VACCC shuffled
+ 268 pos. 143 - 147 swiss|P37240|TSHB_ONCMY shuffled
+ 268 pos. 136 - 174 swiss|P30969|GRHR_RAT shuffled
+ 268 pos. 87 - 126 swiss|P35875|PPOL_DROME shuffled
+ 268 pos. 52 - 87 swiss|P35402|ERD2_ARATH shuffled
+ 268 pos. 3 - 58 swiss|P27362|PGK_PLAFA shuffled
+ 268 pos. 1 - 36 swiss|P80314|TCPB_MOUSE shuffled
+ 268 pos. 1 - 26 swiss|P35937|VMT1_IAUSS shuffled
+ 268 pos. 1 - 12 swiss|P22014|TBB2_COLGR shuffled
+ 268 pos. 1 - 12 swiss|P03709|VPF1_LAMBD shuffled
+ 267 pos. 1685 - 1693 swiss|Q04610|POLN_HEVMY shuffled
+ 267 pos. 949 - 983 swiss|P08968|RPC1_TRYBB shuffled
+ 267 pos. 723 - 779 swiss|P09977|YCFX_TOBAC shuffled
+ 267 pos. 689 - 735 swiss|P17192|DPOL_HPBDB shuffled
+ 267 pos. 569 - 608 swiss|P33302|PDR5_YEAST shuffled
+ 267 pos. 429 - 468 swiss|P09855|UL21_HSV1E shuffled
+ 267 pos. 364 - 407 swiss|P18311|IF2_ENTFC shuffled
+ 267 pos. 362 - 405 swiss|P32068|TRPE_ARATH shuffled
+ 267 pos. 341 - 387 swiss|P36584|RL3_SCHPO shuffled
+ 267 pos. 330 - 334 swiss|P23464|YI11_HALHA shuffled
+ 267 pos. 318 - 376 swiss|P20583|HS71_TRYCR shuffled
+ 267 pos. 306 - 335 swiss|P25445|FASA_HUMAN shuffled
+ 267 pos. 294 - 302 swiss|P09118|URIC_RAT shuffled
+ 267 pos. 276 - 311 swiss|P33301|XRS2_YEAST shuffled
+ 267 pos. 240 - 248 swiss|P11041|PYHD_CPVBM shuffled
+ 267 pos. 233 - 240 swiss|P34326|HM16_CAEEL shuffled
+ 267 pos. 204 - 229 swiss|P09497|CLCB_HUMAN shuffled
+ 267 pos. 161 - 196 swiss|P11432|ELI_PEA shuffled
+ 267 pos. 144 - 155 swiss|P37861|RECX_PSEFL shuffled
+ 267 pos. 129 - 135 swiss|P08526|RL27_HUMAN shuffled
+ 267 pos. 111 - 141 swiss|P21498|YJEB_ECOLI shuffled
+ 267 pos. 111 - 118 swiss|P12139|RL20_ORYSA shuffled
+ 267 pos. 97 - 105 swiss|P36532|RM37_YEAST shuffled
+ 267 pos. 96 - 117 swiss|P15404|VMEM_WCMVO shuffled
+ 267 pos. 92 - 133 swiss|P09366|VN35_ROTP5 shuffled
+ 267 pos. 91 - 100 swiss|P11996|LP1B_DROME shuffled
+ 267 pos. 86 - 95 swiss|P00234|FER1_EQUTE shuffled
+ 267 pos. 50 - 89 swiss|P09836|UHPC_ECOLI shuffled
+ 267 pos. 46 - 51 swiss|P05562|IOVO_EUDEL shuffled
+ 267 pos. 39 - 78 swiss|Q05013|LIPA_NEIME shuffled
+ 267 pos. 12 - 36 swiss|P11495|TXAM_METSE shuffled
+ 267 pos. 1 - 26 swiss|P06223|RP54_KLEPN shuffled
+ 267 pos. 1 - 13 swiss|P35882|TRA1_MYCBO shuffled
+ 267 pos. 1 - 9 swiss|P32265|NFXB_PSEAE shuffled
+ 267 pos. 1 - 8 swiss|P19270|COA1_TTV1 shuffled
+ 266 pos. 720 - 763 swiss|P26342|TGR3_RAT shuffled
+ 266 pos. 654 - 696 swiss|P27801|PEP3_YEAST shuffled
+ 266 pos. 650 - 693 swiss|P27195|PPCF_FLAME shuffled
+ 266 pos. 592 - 645 swiss|P38254|YBU4_YEAST shuffled
+ 266 pos. 492 - 514 swiss|Q00612|G6PD_MOUSE shuffled
+ 266 pos. 450 - 472 swiss|P12698|ATPB_BACME shuffled
+ 266 pos. 428 - 459 swiss|P05508|NU4M_RAT shuffled
+ 266 pos. 422 - 429 swiss|P05133|NCAP_HANTV shuffled
+ 266 pos. 414 - 438 swiss|P28541|SECY_METVA shuffled
+ 266 pos. 389 - 412 swiss|P31058|YADC_ECOLI shuffled
+ 266 pos. 382 - 425 swiss|P34509|YMX1_CAEEL shuffled
+ 266 pos. 374 - 413 swiss|P13433|RPOM_YEAST shuffled
+ 266 pos. 322 - 357 swiss|P36101|YKC7_YEAST shuffled
+ 266 pos. 287 - 332 swiss|P37120|CP75_SOLME shuffled
+ 266 pos. 203 - 211 swiss|P25780|EUM1_EURMA shuffled
+ 266 pos. 200 - 206 swiss|P04604|NEF_HV1EL shuffled
+ 266 pos. 187 - 198 swiss|P37928|FIMW_SALTY shuffled
+ 266 pos. 182 - 187 swiss|P08085|BNZB_PSEPU shuffled
+ 266 pos. 140 - 180 swiss|P22626|ROA2_HUMAN shuffled
+ 266 pos. 136 - 145 swiss|P28626|YIM2_YEAST shuffled
+ 266 pos. 126 - 165 swiss|P00590|CUTI_FUSSO shuffled
+ 266 pos. 106 - 159 swiss|P21182|DCAM_YEAST shuffled
+ 266 pos. 91 - 146 swiss|P30896|BLA3_KLEPN shuffled
+ 266 pos. 61 - 70 swiss|P33997|ALPA_ECOLI shuffled
+ 266 pos. 48 - 105 swiss|Q05597|CBIP_SALTY shuffled
+ 266 pos. 48 - 87 swiss|P05008|INAB_BOVIN shuffled
+ 266 pos. 17 - 66 swiss|P23630|DCDA_BACSU shuffled
+ 266 pos. 12 - 18 swiss|P20860|FMF1_ECOLI shuffled
+ 266 pos. 3 - 44 swiss|P26122|RRP2_IALE1 shuffled
+ 266 pos. 1 - 11 swiss|P21367|YCAC_ECOLI shuffled
+ 266 pos. 1 - 10 swiss|P14470|FIBB_SHEEP shuffled
+ 265 pos. 874 - 929 swiss|P19321|BXD_CLOBO shuffled
+ 265 pos. 748 - 759 swiss|P26113|RRP3_IAZI1 shuffled
+ 265 pos. 693 - 700 swiss|P29719|GUNA_BACLA shuffled
+ 265 pos. 546 - 550 swiss|P12589|HEMA_IAME6 shuffled
+ 265 pos. 522 - 533 swiss|P24133|INV_SCHOC shuffled
+ 265 pos. 469 - 516 swiss|P20374|COX1_APIME shuffled
+ 265 pos. 436 - 488 swiss|P16785|TEGU_HCMVA shuffled
+ 265 pos. 406 - 414 swiss|Q07805|OAT_PLAFA shuffled
+ 265 pos. 343 - 378 swiss|P32214|CLRB_RAT shuffled
+ 265 pos. 338 - 401 swiss|P32915|S61A_YEAST shuffled
+ 265 pos. 310 - 358 swiss|P04341|NODC_RHIME shuffled
+ 265 pos. 296 - 303 swiss|P15212|PLR1_MOUSE shuffled
+ 265 pos. 254 - 313 swiss|P00640|T2PS_PROST shuffled
+ 265 pos. 241 - 261 swiss|P01920|HB24_HUMAN shuffled
+ 265 pos. 230 - 240 swiss|P18421|PRC5_RAT shuffled
+ 265 pos. 228 - 261 swiss|P23953|EST_MOUSE shuffled
+ 265 pos. 194 - 224 swiss|P29873|COX2_EXERO shuffled
+ 265 pos. 176 - 232 swiss|P20876|POL_HV2ST shuffled
+ 265 pos. 142 - 149 swiss|P17893|AHRC_BACSU shuffled
+ 265 pos. 87 - 128 swiss|Q03245|VN35_ROTHW shuffled
+ 265 pos. 69 - 103 swiss|P12605|VGLF_PI1HC shuffled
+ 265 pos. 60 - 80 swiss|P04301|YVDB_VACCV shuffled
+ 265 pos. 57 - 103 swiss|Q08715|URE1_HELFE shuffled
+ 265 pos. 13 - 36 swiss|P05968|RL10_HALCU shuffled
+ 265 pos. 4 - 52 swiss|P31926|SUSY_VICFA shuffled
+ 265 pos. 1 - 27 swiss|P09573|NRAM_IACKQ shuffled
+ 265 pos. 1 - 21 swiss|P09327|VIL1_HUMAN shuffled
+ 265 pos. 1 - 11 swiss|P05450|YAT7_RHOBL shuffled
+ 265 pos. 1 - 11 swiss|P03044|RPC3_LAMBD shuffled
+ 265 pos. 1 - 10 swiss|P16492|VGLH_HSVSA shuffled
+ 264 pos. 3096 - 3165 swiss|P19751|RRPA_CVMJH shuffled
+ 264 pos. 1060 - 1107 swiss|P33527|MRP_HUMAN shuffled
+ 264 pos. 1036 - 1065 swiss|P06272|RPOB_MARPO shuffled
+ 264 pos. 679 - 696 swiss|P08047|TFS1_HUMAN shuffled
+ 264 pos. 447 - 483 swiss|P09824|NIFB_RHIME shuffled
+ 264 pos. 434 - 439 swiss|P29758|OAT_MOUSE shuffled
+ 264 pos. 390 - 423 swiss|Q04967|HS76_PIG shuffled
+ 264 pos. 360 - 382 swiss|P07676|TRFA_ECOLI shuffled
+ 264 pos. 290 - 325 swiss|P07727|GRA1_RAT shuffled
+ 264 pos. 289 - 333 swiss|P12612|TCPA_YEAST shuffled
+ 264 pos. 254 - 299 swiss|P28441|RBL_PLAOC shuffled
+ 264 pos. 233 - 286 swiss|P31205|CHLI_EUGGR shuffled
+ 264 pos. 219 - 235 swiss|P01194|COLI_RAT shuffled
+ 264 pos. 179 - 223 swiss|P27237|OPDA_SALTY shuffled
+ 264 pos. 135 - 169 swiss|P34863|CYB_RABIT shuffled
+ 264 pos. 74 - 124 swiss|P02025|HBB_HYLLA shuffled
+ 264 pos. 64 - 87 swiss|P06373|RS15_TOBAC shuffled
+ 264 pos. 51 - 64 swiss|P29662|COX2_SCAPL shuffled
+ 264 pos. 12 - 67 swiss|P16687|PHNI_ECOLI shuffled
+ 264 pos. 1 - 29 swiss|P04842|ALOX_PICPA shuffled
+ 264 pos. 1 - 13 swiss|P36230|LECA_IRIHO shuffled
+ 263 pos. 573 - 627 swiss|P07224|PRTS_BOVIN shuffled
+ 263 pos. 502 - 529 swiss|P26031|VGLF_MEASI shuffled
+ 263 pos. 336 - 347 swiss|P23093|CSP_PLABA shuffled
+ 263 pos. 200 - 249 swiss|P16154|TOXA_CLODI shuffled
+ 263 pos. 164 - 226 swiss|P36006|YKM9_YEAST shuffled
+ 263 pos. 163 - 167 swiss|P34008|FLIL_CAUCR shuffled
+ 263 pos. 142 - 170 swiss|P22902|YME1_THIFE shuffled
+ 263 pos. 64 - 126 swiss|P37191|GATZ_ECOLI shuffled
+ 263 pos. 34 - 75 swiss|P23216|GLP1_GLYDI shuffled
+ 263 pos. 1 - 23 swiss|P15124|GLNA_METCA shuffled
+ 263 pos. 1 - 17 swiss|P23298|KPCL_MOUSE shuffled
+ 263 pos. 1 - 9 swiss|P23797|YAE2_YEAST shuffled
+ 263 pos. 1 - 8 swiss|P09389|MTBB_BPSPB shuffled
+ 262 pos. 774 - 797 swiss|P30322|DPOM_AGABT shuffled
+ 262 pos. 679 - 719 swiss|P20345|VG12_BPPH2 shuffled
+ 262 pos. 598 - 644 swiss|P32742|YNH4_CAEEL shuffled
+ 262 pos. 556 - 571 swiss|P12556|HEMA_NDVI shuffled
+ 262 pos. 492 - 544 swiss|P20438|CG12_YEAST shuffled
+ 262 pos. 410 - 421 swiss|P12906|TAMI_POVMC shuffled
+ 262 pos. 152 - 161 swiss|P26144|RRP1_IACAO shuffled
+ 262 pos. 100 - 151 swiss|P12645|BMP3_HUMAN shuffled
+ 262 pos. 1 - 41 swiss|P28093|WNT8_EVATR shuffled
+ 262 pos. 1 - 33 swiss|P07353|ING_BOVIN shuffled
+ 262 pos. 1 - 18 swiss|P25144|GRAR_BACSU shuffled
+ 262 pos. 1 - 17 swiss|P30521|GLGC_ANASP shuffled
+ 262 pos. 1 - 17 swiss|P12833|DYR3_SALTY shuffled
+ 262 pos. 1 - 8 swiss|P17904|SIBW_BACSU shuffled
+ 262 pos. 1 - 7 swiss|P11458|NADA_ECOLI shuffled
+ 262 pos. 1 - 7 swiss|P02538|K2CA_HUMAN shuffled
+ 261 pos. 3815 - 3863 swiss|P19751|RRPA_CVMJH shuffled
+ 261 pos. 2234 - 2241 swiss|P16785|TEGU_HCMVA shuffled
+ 261 pos. 978 - 1017 swiss|P25439|BRM_DROME shuffled
+ 261 pos. 869 - 878 swiss|P38149|YB9X_YEAST shuffled
+ 261 pos. 712 - 737 swiss|P32580|SUV3_YEAST shuffled
+ 261 pos. 677 - 700 swiss|P10244|MYBB_HUMAN shuffled
+ 261 pos. 560 - 603 swiss|P22967|ACET_MOUSE shuffled
+ 261 pos. 520 - 560 swiss|P15690|NUAM_BOVIN shuffled
+ 261 pos. 504 - 531 swiss|P16801|UL95_HCMVA shuffled
+ 261 pos. 475 - 501 swiss|P31023|DLDH_PEA shuffled
+ 261 pos. 454 - 510 swiss|P15822|ZEP1_HUMAN shuffled
+ 261 pos. 387 - 397 swiss|Q06386|VS06_ROTPY shuffled
+ 261 pos. 383 - 424 swiss|P06210|POLG_POL2L shuffled
+ 261 pos. 341 - 396 swiss|P38570|ITAE_HUMAN shuffled
+ 261 pos. 285 - 291 swiss|Q00286|HMP1_MOUSE shuffled
+ 261 pos. 233 - 288 swiss|P38280|YBZ8_YEAST shuffled
+ 261 pos. 149 - 183 swiss|Q01584|LIPO_BUFMA shuffled
+ 261 pos. 114 - 129 swiss|P31287|WNT6_XENLA shuffled
+ 261 pos. 64 - 110 swiss|P38263|YBV5_YEAST shuffled
+ 261 pos. 55 - 132 swiss|P34707|SKN1_CAEEL shuffled
+ 261 pos. 41 - 84 swiss|P03984|KAC6_RABIT shuffled
+ 261 pos. 39 - 113 swiss|P07248|ADR1_YEAST shuffled
+ 261 pos. 1 - 16 swiss|P31917|YC30_EUGGR shuffled
+ 261 pos. 1 - 16 swiss|P17309|VR3_BPT4 shuffled
+ 261 pos. 1 - 11 swiss|P15474|AROD_STRCO shuffled
+ 261 pos. 1 - 10 swiss|P07128|KHSE_BRELA shuffled
+ 261 pos. 1 - 9 swiss|P08799|MYS2_DICDI shuffled
+ 261 pos. 1 - 9 swiss|P04903|GTA2_RAT shuffled
+ 261 pos. 1 - 7 swiss|P14198|AAC4_DICDI shuffled
+ 260 pos. 1258 - 1299 swiss|P11055|MYSE_HUMAN shuffled
+ 260 pos. 1188 - 1228 swiss|P06209|POLG_POL32 shuffled
+ 260 pos. 747 - 773 swiss|P16954|GLGB_SYNP7 shuffled
+ 260 pos. 504 - 544 swiss|P14543|NIDO_HUMAN shuffled
+ 260 pos. 470 - 510 swiss|P20228|DCE_DROME shuffled
+ 260 pos. 458 - 503 swiss|P01026|CO3_RAT shuffled
+ 260 pos. 438 - 490 swiss|P16950|APU_THEET shuffled
+ 260 pos. 399 - 429 swiss|P23999|MYCS_RAT shuffled
+ 260 pos. 398 - 409 swiss|P24813|CAD1_YEAST shuffled
+ 260 pos. 372 - 416 swiss|P15089|CBPC_MOUSE shuffled
+ 260 pos. 366 - 379 swiss|P24962|CYBA_STELO shuffled
+ 260 pos. 288 - 294 swiss|Q01984|HMT_RAT shuffled
+ 260 pos. 251 - 308 swiss|P19021|AMD_HUMAN shuffled
+ 260 pos. 248 - 287 swiss|P12982|PP1B_DROME shuffled
+ 260 pos. 231 - 275 swiss|Q01023|UL95_HSVSA shuffled
+ 260 pos. 226 - 241 swiss|P23724|PRC5_YEAST shuffled
+ 260 pos. 220 - 245 swiss|P03206|BZLF_EBV shuffled
+ 260 pos. 206 - 230 swiss|P32960|RACX_BACSU shuffled
+ 260 pos. 171 - 196 swiss|P08022|FMR4_APLCA shuffled
+ 260 pos. 147 - 155 swiss|P25985|PR1_PHAVU shuffled
+ 260 pos. 115 - 157 swiss|P34569|YNV6_CAEEL shuffled
+ 260 pos. 90 - 129 swiss|P29434|DNAA_BUCAP shuffled
+ 260 pos. 88 - 142 swiss|P27684|RL40_SPIOL shuffled
+ 260 pos. 33 - 64 swiss|P26841|CAT4_PSEAE shuffled
+ 260 pos. 15 - 55 swiss|P36864|YPT5_VOLCA shuffled
+ 260 pos. 10 - 63 swiss|P11620|YPT1_SCHPO shuffled
+ 260 pos. 1 - 28 swiss|P33561|RHO_BORBU shuffled
+ 260 pos. 1 - 18 swiss|P27351|ADB_YEAST shuffled
+ 260 pos. 1 - 16 swiss|P26835|YNGD_CLOPE shuffled
+ 260 pos. 1 - 13 swiss|P25606|YCZ0_YEAST shuffled
+ 260 pos. 1 - 11 swiss|P25877|PSBK_HORVU shuffled
+ 259 pos. 1183 - 1224 swiss|P29995|IP3S_RAT shuffled
+ 259 pos. 717 - 747 swiss|Q03319|PRH1_SCHPO shuffled
+ 259 pos. 710 - 752 swiss|P33338|SLA2_YEAST shuffled
+ 259 pos. 596 - 641 swiss|P12351|CYP1_YEAST shuffled
+ 259 pos. 547 - 553 swiss|P25705|ATPA_HUMAN shuffled
+ 259 pos. 525 - 539 swiss|P32826|CBPX_ARATH shuffled
+ 259 pos. 371 - 420 swiss|P06877|MYC_FELCA shuffled
+ 259 pos. 363 - 385 swiss|P32792|YS83_YEAST shuffled
+ 259 pos. 361 - 426 swiss|P36336|VGLH_HSVMD shuffled
+ 259 pos. 302 - 336 swiss|P26434|NAH4_RAT shuffled
+ 259 pos. 299 - 342 swiss|P22892|ADG_MOUSE shuffled
+ 259 pos. 271 - 309 swiss|P34195|NU5M_CROLA shuffled
+ 259 pos. 246 - 286 swiss|P03664|VG4_BPFD shuffled
+ 259 pos. 232 - 236 swiss|P18582|CD81_HUMAN shuffled
+ 259 pos. 227 - 269 swiss|P07384|CAP1_HUMAN shuffled
+ 259 pos. 186 - 221 swiss|P34295|YKO7_CAEEL shuffled
+ 259 pos. 168 - 208 swiss|P29926|NQOE_PARDE shuffled
+ 259 pos. 168 - 186 swiss|P14498|TRS2_ECOLI shuffled
+ 259 pos. 159 - 165 swiss|P10758|LITH_RAT shuffled
+ 259 pos. 155 - 160 swiss|P16181|RS1X_ARATH shuffled
+ 259 pos. 114 - 164 swiss|P34624|YOJ1_CAEEL shuffled
+ 259 pos. 79 - 102 swiss|P04638|APA2_RAT shuffled
+ 259 pos. 17 - 59 swiss|P08831|IL1A_BOVIN shuffled
+ 259 pos. 4 - 55 swiss|P01469|CX2_NAJMO shuffled
+ 259 pos. 1 - 8 swiss|P00252|FER1_NOSMU shuffled
+ 258 pos. 1015 - 1030 swiss|Q04691|FBP1_DROME shuffled
+ 258 pos. 521 - 581 swiss|P36727|VE1_HPV40 shuffled
+ 258 pos. 443 - 447 swiss|P34429|YL38_CAEEL shuffled
+ 258 pos. 437 - 472 swiss|P20115|CISY_ARATH shuffled
+ 258 pos. 423 - 469 swiss|P22478|ATPB_BACFI shuffled
+ 258 pos. 412 - 468 swiss|P04711|CAPP_MAIZE shuffled
+ 258 pos. 396 - 443 swiss|P09270|UL52_VZVD shuffled
+ 258 pos. 396 - 442 swiss|P28706|RA13_SCHPO shuffled
+ 258 pos. 370 - 417 swiss|P34268|YKF5_CAEEL shuffled
+ 258 pos. 368 - 389 swiss|P23569|CHSY_PUELO shuffled
+ 258 pos. 283 - 296 swiss|P28033|CEBB_MOUSE shuffled
+ 258 pos. 276 - 322 swiss|P36345|VP40_NPVHZ shuffled
+ 258 pos. 274 - 313 swiss|P17124|HH2R_CANFA shuffled
+ 258 pos. 260 - 309 swiss|P20709|VINT_BPL54 shuffled
+ 258 pos. 183 - 204 swiss|P07778|YPQL_ACICA shuffled
+ 258 pos. 170 - 192 swiss|P02635|SCPB_PENSP shuffled
+ 258 pos. 151 - 202 swiss|P10822|ICW3_PSOTE shuffled
+ 258 pos. 131 - 177 swiss|Q01389|SLK1_YEAST shuffled
+ 258 pos. 123 - 152 swiss|P03638|VGD_BPG4 shuffled
+ 258 pos. 102 - 149 swiss|P35536|FLIZ_BACSU shuffled
+ 258 pos. 92 - 106 swiss|P06889|LV4E_HUMAN shuffled
+ 258 pos. 87 - 126 swiss|P04718|RBL2_RHORU shuffled
+ 258 pos. 80 - 127 swiss|P37622|YHHT_ECOLI shuffled
+ 258 pos. 72 - 108 swiss|P12781|NIFN_RHIME shuffled
+ 258 pos. 55 - 99 swiss|P23361|ADH_DROPI shuffled
+ 258 pos. 46 - 94 swiss|P19454|KC22_YEAST shuffled
+ 258 pos. 43 - 90 swiss|P21553|CISY_THEAC shuffled
+ 258 pos. 20 - 26 swiss|P37817|SP5M_BACSU shuffled
+ 258 pos. 15 - 62 swiss|P06573|MLSB_STRSA shuffled
+ 258 pos. 1 - 59 swiss|P36039|YKU7_YEAST shuffled
+ 258 pos. 1 - 32 swiss|P10996|NIFE_CLOPA shuffled
+ 258 pos. 1 - 15 swiss|P20208|Y14K_SSV1 shuffled
+ 258 pos. 1 - 10 swiss|P31122|YDEA_ECOLI shuffled
+ 258 pos. 1 - 7 swiss|P14739|UNGI_BPPB2 shuffled
+ 257 pos. 877 - 912 swiss|P03303|POLG_HRV14 shuffled
+ 257 pos. 645 - 681 swiss|P32565|SEN3_YEAST shuffled
+ 257 pos. 634 - 674 swiss|P25302|SWI4_YEAST shuffled
+ 257 pos. 627 - 644 swiss|P12258|YHOB_DROME shuffled
+ 257 pos. 563 - 616 swiss|P14650|PERT_RAT shuffled
+ 257 pos. 460 - 495 swiss|P14339|POLG_DEN23 shuffled
+ 257 pos. 386 - 428 swiss|P24151|NODC_RHILP shuffled
+ 257 pos. 386 - 391 swiss|P18209|PELD_ERWCH shuffled
+ 257 pos. 376 - 416 swiss|P14228|PGK_TRIRE shuffled
+ 257 pos. 341 - 381 swiss|P02824|HS72_DROME shuffled
+ 257 pos. 320 - 356 swiss|Q04574|POL1_BAYMG shuffled
+ 257 pos. 267 - 312 swiss|P26925|TRPD_METTH shuffled
+ 257 pos. 253 - 274 swiss|P00781|SUBT_BACSD shuffled
+ 257 pos. 245 - 277 swiss|Q00465|RIPA_LUFCY shuffled
+ 257 pos. 175 - 199 swiss|P12420|PRL_HORSE shuffled
+ 257 pos. 135 - 168 swiss|P08845|SULA_SERMA shuffled
+ 257 pos. 132 - 141 swiss|P02002|HBAD_PHACO shuffled
+ 257 pos. 113 - 129 swiss|Q04788|HMP1_PIG shuffled
+ 257 pos. 107 - 130 swiss|P27238|YFED_ECOLI shuffled
+ 257 pos. 33 - 77 swiss|P09827|GLNB_RHILV shuffled
+ 257 pos. 5 - 41 swiss|Q06848|ANCA_CLOTM shuffled
+ 257 pos. 1 - 39 swiss|P38620|KPR2_YEAST shuffled
+ 257 pos. 1 - 24 swiss|P09997|YIDA_ECOLI shuffled
+ 257 pos. 1 - 12 swiss|P36533|RM39_YEAST shuffled
+ 256 pos. 1625 - 1673 swiss|P08955|PYR1_MESAU shuffled
+ 256 pos. 857 - 908 swiss|P23466|CYAA_SACKL shuffled
+ 256 pos. 754 - 759 swiss|P12445|RRP3_IAFPR shuffled
+ 256 pos. 640 - 683 swiss|P05135|VGL2_IBV6 shuffled
+ 256 pos. 587 - 594 swiss|P19705|T1SE_ECOLI shuffled
+ 256 pos. 579 - 608 swiss|P17169|GLMS_ECOLI shuffled
+ 256 pos. 543 - 590 swiss|P05646|DNAK_BACME shuffled
+ 256 pos. 540 - 559 swiss|P27696|ILVB_KLEPN shuffled
+ 256 pos. 483 - 508 swiss|P08892|PGKD_TRYBB shuffled
+ 256 pos. 413 - 449 swiss|P26562|HEMA_IADA4 shuffled
+ 256 pos. 380 - 419 swiss|P23634|ATCR_HUMAN shuffled
+ 256 pos. 357 - 366 swiss|Q02284|5H1F_MOUSE shuffled
+ 256 pos. 221 - 234 swiss|P24800|PRRB_RAT shuffled
+ 256 pos. 208 - 249 swiss|P25199|NOLI_RHIME shuffled
+ 256 pos. 157 - 194 swiss|P37058|DHB3_HUMAN shuffled
+ 256 pos. 107 - 121 swiss|P13144|VNS2_IAMA8 shuffled
+ 256 pos. 103 - 138 swiss|P23741|HBB_LATCH shuffled
+ 256 pos. 76 - 120 swiss|Q00160|VG37_HSVI1 shuffled
+ 256 pos. 63 - 101 swiss|P33245|TATR_NPVBM shuffled
+ 256 pos. 60 - 98 swiss|P23613|PH20_CAVPO shuffled
+ 256 pos. 42 - 92 swiss|P11532|DMD_HUMAN shuffled
+ 256 pos. 40 - 79 swiss|P11730|KCCG_RAT shuffled
+ 256 pos. 35 - 78 swiss|P32348|TBG_USTVI shuffled
+ 256 pos. 2 - 14 swiss|P01514|MAST_VESLE shuffled
+ 256 pos. 1 - 21 swiss|P14578|COX1_ORYSA shuffled
+ 256 pos. 1 - 18 swiss|P27178|ATP6_SYNY3 shuffled
+ 256 pos. 1 - 9 swiss|Q02448|VM03_BORHE shuffled
+ 255 pos. 1622 - 1626 swiss|Q02880|TOPB_HUMAN shuffled
+ 255 pos. 1403 - 1445 swiss|P22082|SNF2_YEAST shuffled
+ 255 pos. 769 - 825 swiss|P06577|CRYS_BACTB shuffled
+ 255 pos. 732 - 765 swiss|P20918|PLMN_MOUSE shuffled
+ 255 pos. 598 - 612 swiss|P33900|NUOG_SALTY shuffled
+ 255 pos. 543 - 568 swiss|P21330|GAGJ_DROME shuffled
+ 255 pos. 470 - 500 swiss|P30100|CPN3_RAT shuffled
+ 255 pos. 430 - 480 swiss|P24298|ALAT_HUMAN shuffled
+ 255 pos. 416 - 468 swiss|P06115|CATT_YEAST shuffled
+ 255 pos. 325 - 330 swiss|P13445|RPOS_ECOLI shuffled
+ 255 pos. 316 - 369 swiss|P12131|NUCC_MARPO shuffled
+ 255 pos. 276 - 318 swiss|P10028|STB2_ECOLI shuffled
+ 255 pos. 240 - 293 swiss|P11209|VGLF_HRSVR shuffled
+ 255 pos. 231 - 241 swiss|P12046|PUR7_BACSU shuffled
+ 255 pos. 228 - 269 swiss|Q08352|DHA_BACSU shuffled
+ 255 pos. 189 - 202 swiss|P22645|YDH1_XANAU shuffled
+ 255 pos. 180 - 215 swiss|P37527|YR75_BACSU shuffled
+ 255 pos. 148 - 190 swiss|P19097|FAS2_YEAST shuffled
+ 255 pos. 124 - 141 swiss|P01971|HBA_ALCAA shuffled
+ 255 pos. 114 - 126 swiss|P14205|COM2_BACSU shuffled
+ 255 pos. 105 - 111 swiss|P02629|PRVA_LATCH shuffled
+ 255 pos. 103 - 132 swiss|P26835|YNGD_CLOPE shuffled
+ 255 pos. 95 - 165 swiss|P06227|RP34_BPSP1 shuffled
+ 255 pos. 77 - 84 swiss|P20920|TAT_EIAVY shuffled
+ 255 pos. 39 - 78 swiss|P11399|PYR2_MASLA shuffled
+ 255 pos. 36 - 56 swiss|P05592|IOVO_CYRMO shuffled
+ 255 pos. 31 - 87 swiss|P06968|DUT_ECOLI shuffled
+ 255 pos. 23 - 63 swiss|P27910|POLG_DEN18 shuffled
+ 255 pos. 21 - 32 swiss|P31590|PSAM_MARPO shuffled
+ 255 pos. 6 - 40 swiss|Q03524|SP5D_BACSU shuffled
+ 255 pos. 1 - 41 swiss|P25706|NU1C_MAIZE shuffled
+ 255 pos. 1 - 20 swiss|P35035|TRY1_ANOGA shuffled
+ 255 pos. 1 - 17 swiss|P32179|HAL2_YEAST shuffled
+ 255 pos. 1 - 12 swiss|P06153|RPC_BPPH1 shuffled
+ 254 pos. 1607 - 1663 swiss|P29846|POLG_HCVTW shuffled
+ 254 pos. 1580 - 1632 swiss|Q03396|RRPL_SV5WR shuffled
+ 254 pos. 651 - 671 swiss|P27406|COAT_FCVF9 shuffled
+ 254 pos. 577 - 618 swiss|P09469|VATA_DAUCA shuffled
+ 254 pos. 436 - 447 swiss|P00370|DHE4_ECOLI shuffled
+ 254 pos. 418 - 465 swiss|P28412|RBL_EPASP shuffled
+ 254 pos. 404 - 448 swiss|P05472|RPOL_KLULA shuffled
+ 254 pos. 374 - 379 swiss|P24956|CYB_EQUGR shuffled
+ 254 pos. 361 - 395 swiss|P13417|CHS3_SINAL shuffled
+ 254 pos. 302 - 314 swiss|P29538|MTH1_HAEPA shuffled
+ 254 pos. 298 - 336 swiss|P15909|VFP1_FOWPV shuffled
+ 254 pos. 293 - 317 swiss|P17408|TLM_MOUSE shuffled
+ 254 pos. 264 - 310 swiss|P32000|PRIM_BUCAP shuffled
+ 254 pos. 245 - 295 swiss|P38071|MRF1_YEAST shuffled
+ 254 pos. 176 - 212 swiss|P28869|ERK1_CANAL shuffled
+ 254 pos. 162 - 169 swiss|Q00277|GSHC_SCHMA shuffled
+ 254 pos. 136 - 177 swiss|P35010|ATPD_GALSU shuffled
+ 254 pos. 93 - 116 swiss|P04489|E411_ADE05 shuffled
+ 254 pos. 82 - 122 swiss|P22967|ACET_MOUSE shuffled
+ 254 pos. 68 - 113 swiss|P10960|SAP_RAT shuffled
+ 254 pos. 61 - 102 swiss|P07659|RPOL_BPT3 shuffled
+ 254 pos. 35 - 83 swiss|P23139|YPE2_RHORU shuffled
+ 254 pos. 28 - 58 swiss|Q04646|ATNG_MOUSE shuffled
+ 254 pos. 23 - 66 swiss|P37748|RFC_ECOLI shuffled
+ 254 pos. 1 - 10 swiss|P05333|PSBE_EUGGR shuffled
+ 254 pos. 1 - 8 swiss|P12112|ATPA_WHEAT shuffled
+ 253 pos. 1008 - 1019 swiss|P35559|IDE_RAT shuffled
+ 253 pos. 966 - 1000 swiss|P34367|YLJ2_CAEEL shuffled
+ 253 pos. 824 - 864 swiss|P11001|GTF1_STRDO shuffled
+ 253 pos. 643 - 678 swiss|P20504|RPO1_VACCC shuffled
+ 253 pos. 559 - 602 swiss|P26190|RRPO_ROTPC shuffled
+ 253 pos. 503 - 544 swiss|P23533|PT1_STACA shuffled
+ 253 pos. 370 - 413 swiss|P13806|CIC2_RABIT shuffled
+ 253 pos. 290 - 329 swiss|P13876|RRP3_INBAD shuffled
+ 253 pos. 285 - 324 swiss|P09938|RIR2_YEAST shuffled
+ 253 pos. 269 - 309 swiss|Q05764|ADDL_RAT shuffled
+ 253 pos. 261 - 278 swiss|P03627|VG27_BPPF3 shuffled
+ 253 pos. 220 - 267 swiss|P11561|MCRB_METVO shuffled
+ 253 pos. 180 - 188 swiss|P37470|SP5C_BACSU shuffled
+ 253 pos. 135 - 153 swiss|P02186|MYG_ELEMA shuffled
+ 253 pos. 132 - 164 swiss|P17572|PRL_MELGA shuffled
+ 253 pos. 122 - 174 swiss|P25732|CFAA_ECOLI shuffled
+ 253 pos. 117 - 162 swiss|P15187|RRPO_CNV shuffled
+ 253 pos. 117 - 139 swiss|P27349|GOS9_ORYSA shuffled
+ 253 pos. 63 - 90 swiss|Q01049|UL73_HSVSA shuffled
+ 253 pos. 60 - 83 swiss|P01479|SCX1_ANDAU shuffled
+ 253 pos. 55 - 89 swiss|P35352|CAR3_DICDI shuffled
+ 253 pos. 53 - 92 swiss|P04924|TNFA_RABIT shuffled
+ 253 pos. 48 - 68 swiss|P08854|MOP2_CLOPA shuffled
+ 253 pos. 36 - 72 swiss|P32868|VSIS_REOVJ shuffled
+ 253 pos. 31 - 66 swiss|P33310|MDL1_YEAST shuffled
+ 253 pos. 29 - 71 swiss|P37002|YBEI_ECOLI shuffled
+ 253 pos. 26 - 59 swiss|P37673|YIAL_ECOLI shuffled
+ 253 pos. 22 - 58 swiss|P13300|KITH_BPT4 shuffled
+ 253 pos. 4 - 45 swiss|P24855|DRN1_HUMAN shuffled
+ 253 pos. 1 - 36 swiss|P02203|MYG_VARVA shuffled
+ 253 pos. 1 - 13 swiss|P26681|ATPF_ENTFA shuffled
+ 253 pos. 1 - 8 swiss|P26843|LEPA_PSEFL shuffled
+ 252 pos. 985 - 1054 swiss|P25356|YCS2_YEAST shuffled
+ 252 pos. 813 - 868 swiss|P11531|DMD_MOUSE shuffled
+ 252 pos. 703 - 732 swiss|P26752|EF2_THEAC shuffled
+ 252 pos. 641 - 682 swiss|P31016|PSD9_RAT shuffled
+ 252 pos. 633 - 644 swiss|P17279|LEU2_RHIRA shuffled
+ 252 pos. 564 - 570 swiss|P26102|HEMA_IAHSP shuffled
+ 252 pos. 344 - 352 swiss|P25294|SIS1_YEAST shuffled
+ 252 pos. 341 - 380 swiss|P19835|BAL_HUMAN shuffled
+ 252 pos. 262 - 297 swiss|P29439|DP3B_BUCAP shuffled
+ 252 pos. 235 - 254 swiss|P15980|HA2C_PIG shuffled
+ 252 pos. 231 - 262 swiss|P32201|LPXA_YEREN shuffled
+ 252 pos. 189 - 225 swiss|Q04982|RMIL_CHICK shuffled
+ 252 pos. 184 - 201 swiss|P28280|UL04_HSV2H shuffled
+ 252 pos. 148 - 192 swiss|P17046|LMP2_RAT shuffled
+ 252 pos. 146 - 157 swiss|P24667|PA1S_HUMAN shuffled
+ 252 pos. 142 - 193 swiss|P07464|THGA_ECOLI shuffled
+ 252 pos. 134 - 174 swiss|P37249|PEDC_PEDAC shuffled
+ 252 pos. 110 - 161 swiss|P16863|CXA1_XENLA shuffled
+ 252 pos. 109 - 117 swiss|P18930|NU3M_DROME shuffled
+ 252 pos. 82 - 107 swiss|Q03198|IPIA_TOBAC shuffled
+ 252 pos. 67 - 80 swiss|P06251|PSAC_MARPO shuffled
+ 252 pos. 14 - 64 swiss|P37344|YCJB_ECOLI shuffled
+ 252 pos. 10 - 50 swiss|Q04626|YANA_PSEAE shuffled
+ 252 pos. 1 - 49 swiss|P21013|VF03_VACCC shuffled
+ 252 pos. 1 - 46 swiss|P32830|MRS5_YEAST shuffled
+ 252 pos. 1 - 21 swiss|P80194|DPO1_THECA shuffled
+ 252 pos. 1 - 15 swiss|P18875|HEMA_IAKIE shuffled
+ 252 pos. 1 - 12 swiss|P25015|YNIX_RHOCA shuffled
+ 252 pos. 1 - 11 swiss|P11472|PSBO_ANANI shuffled
+ 252 pos. 1 - 10 swiss|Q07271|TFS2_SULAC shuffled
+ 252 pos. 1 - 7 swiss|P00274|THIO_ECOLI shuffled
+ 251 pos. 805 - 826 swiss|Q01443|SSP2_PLAYO shuffled
+ 251 pos. 751 - 773 swiss|P38112|YBZ2_YEAST shuffled
+ 251 pos. 738 - 776 swiss|P36305|VP4_ROTB5 shuffled
+ 251 pos. 684 - 746 swiss|P12445|RRP3_IAFPR shuffled
+ 251 pos. 545 - 550 swiss|P12588|HEMA_IADH7 shuffled
+ 251 pos. 473 - 477 swiss|P00876|RBL_TOBAC shuffled
+ 251 pos. 387 - 412 swiss|P33097|AATC_BOVIN shuffled
+ 251 pos. 229 - 264 swiss|P36655|CYCZ_ECOLI shuffled
+ 251 pos. 198 - 206 swiss|P35990|VPRT_ADECU shuffled
+ 251 pos. 139 - 174 swiss|P17846|CYSI_ECOLI shuffled
+ 251 pos. 135 - 144 swiss|P24873|NU6M_ASCSU shuffled
+ 251 pos. 133 - 141 swiss|P19832|HBA_TRIOC shuffled
+ 251 pos. 119 - 162 swiss|P22892|ADG_MOUSE shuffled
+ 251 pos. 95 - 117 swiss|P11906|STBB_ECOLI shuffled
+ 251 pos. 42 - 84 swiss|P11440|CC2_MOUSE shuffled
+ 251 pos. 13 - 64 swiss|P04539|GENA_ECOLI shuffled
+ 251 pos. 1 - 29 swiss|P20724|ELYA_BACSU shuffled
+ 251 pos. 1 - 16 swiss|P00180|CPC1_RABIT shuffled
+ 251 pos. 1 - 10 swiss|P15161|GLB1_PARCH shuffled
+ 251 pos. 1 - 8 swiss|P34612|YOG3_CAEEL shuffled
+ 251 pos. 1 - 7 swiss|P17743|T2H2_HAEIN shuffled
+ 250 pos. 964 - 1001 swiss|P09851|GTPA_BOVIN shuffled
+ 250 pos. 897 - 919 swiss|P10275|ANDR_HUMAN shuffled
+ 250 pos. 668 - 675 swiss|P33215|NED1_MOUSE shuffled
+ 250 pos. 630 - 673 swiss|Q03386|GNDS_RAT shuffled
+ 250 pos. 608 - 617 swiss|P23975|NTNO_HUMAN shuffled
+ 250 pos. 572 - 608 swiss|P36033|YKW0_YEAST shuffled
+ 250 pos. 389 - 409 swiss|P35577|THBG_RAT shuffled
+ 250 pos. 203 - 262 swiss|P22609|PILC_PSEAE shuffled
+ 250 pos. 203 - 248 swiss|P08132|ANX4_PIG shuffled
+ 250 pos. 195 - 235 swiss|Q08877|DYNT_RAT shuffled
+ 250 pos. 195 - 199 swiss|Q07108|CD69_HUMAN shuffled
+ 250 pos. 105 - 151 swiss|P09888|OMPC_NEIGO shuffled
+ 250 pos. 97 - 140 swiss|P36811|VE6_HPV34 shuffled
+ 250 pos. 91 - 121 swiss|P07857|NLTP_BOVIN shuffled
+ 250 pos. 87 - 137 swiss|P14279|CB25_LYCES shuffled
+ 250 pos. 68 - 113 swiss|P02245|HEMT_THEZO shuffled
+ 250 pos. 65 - 113 swiss|P09556|PYR5_DICDI shuffled
+ 250 pos. 54 - 91 swiss|P06678|ZEAA_MAIZE shuffled
+ 250 pos. 38 - 63 swiss|P32272|YE2_BPT4 shuffled
+ 250 pos. 1 - 30 swiss|P10746|HEM4_HUMAN shuffled
+ 250 pos. 1 - 19 swiss|P25077|MDH_SALTY shuffled
+ 250 pos. 1 - 14 swiss|P08806|VPU_HV1ZH shuffled
+ 249 pos. 1153 - 1175 swiss|P12954|SRS2_YEAST shuffled
+ 249 pos. 898 - 909 swiss|P36859|NIA_PETHY shuffled
+ 249 pos. 845 - 873 swiss|P22413|PC1_HUMAN shuffled
+ 249 pos. 376 - 416 swiss|P32259|SIN4_YEAST shuffled
+ 249 pos. 369 - 433 swiss|P23678|U104_CAEEL shuffled
+ 249 pos. 297 - 336 swiss|P15966|VASS_BPFR shuffled
+ 249 pos. 286 - 296 swiss|P24734|AMPR_PSEAE shuffled
+ 249 pos. 234 - 267 swiss|P18845|ACH3_CARAU shuffled
+ 249 pos. 212 - 260 swiss|P16444|MDP1_HUMAN shuffled
+ 249 pos. 200 - 251 swiss|P01855|EPC_RAT shuffled
+ 249 pos. 143 - 186 swiss|P32592|ITB2_BOVIN shuffled
+ 249 pos. 142 - 198 swiss|P28566|5H1E_HUMAN shuffled
+ 249 pos. 108 - 147 swiss|P05302|MTD1_DESDN shuffled
+ 249 pos. 81 - 120 swiss|P04392|DMA_BPT4 shuffled
+ 249 pos. 60 - 100 swiss|P09347|FDEH_PSEPU shuffled
+ 249 pos. 37 - 78 swiss|P30952|MASY_YEAST shuffled
+ 249 pos. 1 - 16 swiss|P22198|PP1_MAIZE shuffled
+ 249 pos. 1 - 14 swiss|P35672|INVG_SALTY shuffled
+ 248 pos. 2045 - 2086 swiss|Q01886|HTS1_COCCA shuffled
+ 248 pos. 1422 - 1427 swiss|P30622|REST_HUMAN shuffled
+ 248 pos. 1212 - 1248 swiss|P09884|DPOA_HUMAN shuffled
+ 248 pos. 553 - 558 swiss|P33823|VB04_VARV shuffled
+ 248 pos. 544 - 550 swiss|P12583|HEMA_IADH2 shuffled
+ 248 pos. 495 - 529 swiss|P37013|YGAA_ECOLI shuffled
+ 248 pos. 432 - 459 swiss|P28452|RBL_SAXIN shuffled
+ 248 pos. 357 - 377 swiss|P16333|NCK_HUMAN shuffled
+ 248 pos. 356 - 392 swiss|P33450|FAT_DROME shuffled
+ 248 pos. 319 - 362 swiss|P38539|DHM1_METME shuffled
+ 248 pos. 317 - 335 swiss|P13844|VMAT_MEASU shuffled
+ 248 pos. 282 - 322 swiss|P37630|YHIM_ECOLI shuffled
+ 248 pos. 250 - 295 swiss|P14104|ACTB_ANSAN shuffled
+ 248 pos. 224 - 228 swiss|P04159|CB21_PEA shuffled
+ 248 pos. 186 - 221 swiss|P37297|STT4_YEAST shuffled
+ 248 pos. 180 - 222 swiss|P35538|FLHB_BACSU shuffled
+ 248 pos. 174 - 211 swiss|Q06927|VBR1_PHUV shuffled
+ 248 pos. 172 - 205 swiss|P16592|VS06_ROTE1 shuffled
+ 248 pos. 157 - 198 swiss|P34892|KI16_CAEEL shuffled
+ 248 pos. 128 - 158 swiss|P31690|YJAE_ECOLI shuffled
+ 248 pos. 125 - 166 swiss|Q01514|GBP1_MOUSE shuffled
+ 248 pos. 112 - 148 swiss|Q01478|VE05_VACCD shuffled
+ 248 pos. 98 - 117 swiss|P33844|VA21_VARV shuffled
+ 248 pos. 81 - 145 swiss|P24732|MLRT_RABIT shuffled
+ 248 pos. 73 - 141 swiss|P20234|POLG_OMV shuffled
+ 248 pos. 66 - 71 swiss|P01390|NXL1_NAJNI shuffled
+ 248 pos. 64 - 77 swiss|P24886|NULM_CAEEL shuffled
+ 248 pos. 8 - 52 swiss|P12065|LCA_PAPCY shuffled
+ 248 pos. 7 - 55 swiss|P13099|TOP3_YEAST shuffled
+ 248 pos. 1 - 35 swiss|P03890|NU1M_XENLA shuffled
+ 248 pos. 1 - 34 swiss|P36399|UPP_STRSL shuffled
+ 248 pos. 1 - 32 swiss|P29180|TXW6_NAJNA shuffled
+ 248 pos. 1 - 24 swiss|P31025|VEGP_HUMAN shuffled
+ 248 pos. 1 - 23 swiss|P09790|IGA_NEIGO shuffled
+ 248 pos. 1 - 20 swiss|P35779|VA3_SOLRI shuffled
+ 248 pos. 1 - 17 swiss|P35466|CAPL_BOVIN shuffled
+ 248 pos. 1 - 8 swiss|P16294|FA9_MOUSE shuffled
+ 247 pos. 1011 - 1022 swiss|P15988|CA26_CHICK shuffled
+ 247 pos. 915 - 951 swiss|Q02224|CENE_HUMAN shuffled
+ 247 pos. 911 - 923 swiss|P31542|CD4B_LYCES shuffled
+ 247 pos. 874 - 934 swiss|P04275|VWF_HUMAN shuffled
+ 247 pos. 745 - 775 swiss|P11198|VP4_ROTH1 shuffled
+ 247 pos. 700 - 728 swiss|P17945|HGF_RAT shuffled
+ 247 pos. 656 - 705 swiss|P09294|VTER_VZVD shuffled
+ 247 pos. 539 - 551 swiss|Q02216|MASY_CANTR shuffled
+ 247 pos. 525 - 574 swiss|P23892|DCLY_ECOLI shuffled
+ 247 pos. 512 - 516 swiss|P30397|YC64_EUGGR shuffled
+ 247 pos. 427 - 510 swiss|P13637|ATN3_HUMAN shuffled
+ 247 pos. 345 - 370 swiss|P38615|MDS1_YEAST shuffled
+ 247 pos. 343 - 385 swiss|P21373|FRE2_YEAST shuffled
+ 247 pos. 305 - 342 swiss|P28791|SC20_YEAST shuffled
+ 247 pos. 214 - 235 swiss|P04873|NCAP_BUNLC shuffled
+ 247 pos. 187 - 234 swiss|P35425|VN53_ROTSP shuffled
+ 247 pos. 175 - 215 swiss|P23643|VPS3_YEAST shuffled
+ 247 pos. 170 - 222 swiss|P13972|TRJ4_ECOLI shuffled
+ 247 pos. 163 - 201 swiss|P29781|STRL_STRGR shuffled
+ 247 pos. 149 - 169 swiss|P06334|TCC3_MOUSE shuffled
+ 247 pos. 126 - 153 swiss|P16427|HYCA_ECOLI shuffled
+ 247 pos. 121 - 150 swiss|P20674|COXA_HUMAN shuffled
+ 247 pos. 111 - 151 swiss|P15886|YRL1_METVA shuffled
+ 247 pos. 106 - 158 swiss|P38619|YRL2_SULAC shuffled
+ 247 pos. 48 - 90 swiss|P33541|RPOM_NEUIN shuffled
+ 247 pos. 14 - 25 swiss|P34171|OBP2_BOMMO shuffled
+ 247 pos. 3 - 51 swiss|P34202|MOPE_ERWCA shuffled
+ 247 pos. 1 - 10 swiss|P38466|YM23_MARPO shuffled
+ 246 pos. 796 - 808 swiss|P27175|DHG_GLUOX shuffled
+ 246 pos. 678 - 697 swiss|P21421|RPOB_PLAFA shuffled
+ 246 pos. 544 - 566 swiss|P26140|HEMA_IAZIN shuffled
+ 246 pos. 503 - 554 swiss|P03427|RRP3_IAWIL shuffled
+ 246 pos. 479 - 530 swiss|P34152|KFAK_MOUSE shuffled
+ 246 pos. 416 - 455 swiss|P11090|CRUA_BRANA shuffled
+ 246 pos. 411 - 460 swiss|P24554|SMS_ECOLI shuffled
+ 246 pos. 380 - 426 swiss|P24116|DNAA_MYCCA shuffled
+ 246 pos. 329 - 375 swiss|P27828|NFRC_ECOLI shuffled
+ 246 pos. 324 - 341 swiss|Q01147|CREB_MOUSE shuffled
+ 246 pos. 237 - 260 swiss|Q00492|SUM1_LYTVA shuffled
+ 246 pos. 234 - 239 swiss|P27648|CYBH_RHILV shuffled
+ 246 pos. 149 - 206 swiss|P00807|BLAC_STAAU shuffled
+ 246 pos. 149 - 177 swiss|P17364|VC08_VACCV shuffled
+ 246 pos. 144 - 149 swiss|P02888|DISD_DICDI shuffled
+ 246 pos. 126 - 132 swiss|P21943|VAL3_ABMVW shuffled
+ 246 pos. 108 - 129 swiss|P20670|H2A2_MOUSE shuffled
+ 246 pos. 102 - 144 swiss|P32999|VI01_VARV shuffled
+ 246 pos. 100 - 126 swiss|Q02425|YMTF_STRMU shuffled
+ 246 pos. 95 - 132 swiss|P20054|PYR1_DICDI shuffled
+ 246 pos. 89 - 136 swiss|P26015|VS06_ROTGA shuffled
+ 246 pos. 87 - 109 swiss|P38458|YM14_MARPO shuffled
+ 246 pos. 70 - 77 swiss|P09361|YC08_MARPO shuffled
+ 246 pos. 64 - 111 swiss|P00075|CYC_ENTIN shuffled
+ 246 pos. 57 - 98 swiss|P08483|ACM3_RAT shuffled
+ 246 pos. 22 - 70 swiss|P13097|ESM7_DROME shuffled
+ 246 pos. 1 - 36 swiss|P19130|FRI1_PIG shuffled
+ 246 pos. 1 - 26 swiss|P34136|HMD2_DICDI shuffled
+ 246 pos. 1 - 17 swiss|P27506|PQQD_KLEPN shuffled
+ 246 pos. 1 - 10 swiss|P32167|YIIX_ECOLI shuffled
+ 246 pos. 1 - 8 swiss|P04366|IATR_PIG shuffled
+ 245 pos. 2914 - 2963 swiss|P23098|DYHC_TRIGR shuffled
+ 245 pos. 955 - 961 swiss|P03588|V1A_BMV shuffled
+ 245 pos. 886 - 932 swiss|P08004|CHS1_YEAST shuffled
+ 245 pos. 766 - 775 swiss|P13842|VP4_ROTHK shuffled
+ 245 pos. 719 - 770 swiss|P23579|RPOB_EUGGR shuffled
+ 245 pos. 609 - 633 swiss|P08150|PBP2_ECOLI shuffled
+ 245 pos. 554 - 601 swiss|P22056|POLS_ONNVG shuffled
+ 245 pos. 382 - 417 swiss|P33161|PGK_PENCI shuffled
+ 245 pos. 358 - 402 swiss|P22326|SYY1_BACSU shuffled
+ 245 pos. 357 - 398 swiss|Q00798|RBP1_PLAVB shuffled
+ 245 pos. 336 - 355 swiss|Q05424|GBA1_NEUCR shuffled
+ 245 pos. 331 - 340 swiss|P04901|GBB1_HUMAN shuffled
+ 245 pos. 296 - 324 swiss|P22980|MYOD_CAEEL shuffled
+ 245 pos. 249 - 285 swiss|P15576|NU1M_LEITA shuffled
+ 245 pos. 236 - 284 swiss|P34982|OLFE_HUMAN shuffled
+ 245 pos. 236 - 255 swiss|P01150|THYL_RAT shuffled
+ 245 pos. 183 - 211 swiss|P21337|TER5_ECOLI shuffled
+ 245 pos. 180 - 190 swiss|P31894|COOF_RHORU shuffled
+ 245 pos. 179 - 219 swiss|P01024|CO3_HUMAN shuffled
+ 245 pos. 118 - 167 swiss|P25785|TIM2_MOUSE shuffled
+ 245 pos. 114 - 130 swiss|P31491|YERA_YERPE shuffled
+ 245 pos. 109 - 145 swiss|P10587|MYSG_CHICK shuffled
+ 245 pos. 72 - 121 swiss|P37439|PTGB_SALTY shuffled
+ 245 pos. 41 - 80 swiss|P20551|YVDB_VACCC shuffled
+ 245 pos. 40 - 79 swiss|P06735|REMA_STAEP shuffled
+ 245 pos. 31 - 39 swiss|P35808|AKH2_SCHGR shuffled
+ 245 pos. 15 - 56 swiss|P23764|GSHP_RAT shuffled
+ 245 pos. 1 - 35 swiss|P34983|OLF4_MOUSE shuffled
+ 245 pos. 1 - 20 swiss|P16218|GUNH_CLOTM shuffled
+ 245 pos. 1 - 18 swiss|P31835|CDG2_BACMA shuffled
+ 245 pos. 1 - 16 swiss|P12284|AGNX_APLSP shuffled
+ 245 pos. 1 - 11 swiss|P26851|NULM_MARPO shuffled
+ 244 pos. 828 - 869 swiss|P04415|DPOL_BPT4 shuffled
+ 244 pos. 514 - 524 swiss|Q05047|CP72_CATRO shuffled
+ 244 pos. 487 - 537 swiss|P33066|NTP1_VARV shuffled
+ 244 pos. 484 - 518 swiss|P36124|YK09_YEAST shuffled
+ 244 pos. 350 - 360 swiss|P24725|PSBA_GALSU shuffled
+ 244 pos. 319 - 358 swiss|P08103|KHCK_MOUSE shuffled
+ 244 pos. 294 - 331 swiss|Q06464|YCS4_ANTSP shuffled
+ 244 pos. 287 - 326 swiss|P17194|VMSA_HPBDB shuffled
+ 244 pos. 257 - 296 swiss|P19624|PDXA_ECOLI shuffled
+ 244 pos. 245 - 292 swiss|P25490|TYY1_HUMAN shuffled
+ 244 pos. 205 - 219 swiss|P14715|SPR1_IPOBA shuffled
+ 244 pos. 131 - 152 swiss|P08700|IL3_HUMAN shuffled
+ 244 pos. 121 - 132 swiss|P35225|IL13_HUMAN shuffled
+ 244 pos. 108 - 147 swiss|Q05005|BRB2_RABIT shuffled
+ 244 pos. 96 - 104 swiss|P01845|LAC3_MOUSE shuffled
+ 244 pos. 91 - 147 swiss|Q05144|RAC1_MOUSE shuffled
+ 244 pos. 87 - 123 swiss|Q06486|KC1D_RAT shuffled
+ 244 pos. 79 - 126 swiss|P13836|AVRC_PSESG shuffled
+ 244 pos. 71 - 94 swiss|P30013|AMPD_SALTY shuffled
+ 244 pos. 57 - 61 swiss|P11794|VP8_CARMV shuffled
+ 244 pos. 36 - 76 swiss|P20473|CB23_TETTH shuffled
+ 244 pos. 19 - 59 swiss|P10797|RBS3_ARATH shuffled
+ 244 pos. 1 - 42 swiss|P03027|NIFA_KLEPN shuffled
+ 244 pos. 1 - 30 swiss|P80212|SDHA_CLOPR shuffled
+ 244 pos. 1 - 21 swiss|P35481|CYT_CYPCA shuffled
+ 244 pos. 1 - 13 swiss|P09900|RS10_RAT shuffled
+ 244 pos. 1 - 11 swiss|P35587|HYPA_HYPLI shuffled
+ 244 pos. 1 - 9 swiss|P20199|Y9K5_SSV1 shuffled
+ 243 pos. 810 - 859 swiss|P21615|RRPO_ROTBU shuffled
+ 243 pos. 760 - 796 swiss|P11325|SYLM_YEAST shuffled
+ 243 pos. 633 - 672 swiss|P03261|DPOL_ADE02 shuffled
+ 243 pos. 342 - 377 swiss|P11569|HGDA_ACIFE shuffled
+ 243 pos. 339 - 373 swiss|P03880|MBI1_EMENI shuffled
+ 243 pos. 335 - 341 swiss|P17330|G3P3_CAEEL shuffled
+ 243 pos. 327 - 352 swiss|P06005|PSBD_SPIOL shuffled
+ 243 pos. 311 - 336 swiss|P28860|GLPX_ECOLI shuffled
+ 243 pos. 306 - 345 swiss|P04000|OPSR_HUMAN shuffled
+ 243 pos. 301 - 314 swiss|P37738|FATD_VIBAN shuffled
+ 243 pos. 290 - 329 swiss|P08185|CBG_HUMAN shuffled
+ 243 pos. 236 - 247 swiss|P37543|YR98_BACSU shuffled
+ 243 pos. 182 - 216 swiss|P05984|METR_SALTY shuffled
+ 243 pos. 168 - 207 swiss|P27574|PYP1_SCHPO shuffled
+ 243 pos. 161 - 202 swiss|P13595|NCA1_MOUSE shuffled
+ 243 pos. 150 - 183 swiss|P31166|APT_ARATH shuffled
+ 243 pos. 122 - 145 swiss|P02132|HBB1_XENLA shuffled
+ 243 pos. 108 - 121 swiss|P13205|ANFB_RAT shuffled
+ 243 pos. 96 - 115 swiss|P20857|THIO_ANASP shuffled
+ 243 pos. 72 - 114 swiss|P23489|RCA_CHLRE shuffled
+ 243 pos. 50 - 54 swiss|P15854|VG66_BPPH5 shuffled
+ 243 pos. 4 - 43 swiss|P06461|VE5B_HPV6B shuffled
+ 243 pos. 1 - 35 swiss|P19370|ACHN_CARAU shuffled
+ 243 pos. 1 - 35 swiss|P13485|TAGF_BACSU shuffled
+ 243 pos. 1 - 31 swiss|Q01036|VG51_HSVSA shuffled
+ 243 pos. 1 - 19 swiss|P10656|GLNA_CLOAB shuffled
+ 243 pos. 1 - 14 swiss|Q01329|PTA1_YEAST shuffled
+ 243 pos. 1 - 14 swiss|P04528|REGA_BPT4 shuffled
+ 243 pos. 1 - 12 swiss|P23859|POTC_ECOLI shuffled
+ 242 pos. 2385 - 2422 swiss|Q02224|CENE_HUMAN shuffled
+ 242 pos. 1292 - 1340 swiss|P18177|TOXB_CLODI shuffled
+ 242 pos. 979 - 1032 swiss|P03370|POL_VILV shuffled
+ 242 pos. 693 - 735 swiss|P06593|PHY3_AVESA shuffled
+ 242 pos. 543 - 577 swiss|P17376|VL3_REOVL shuffled
+ 242 pos. 508 - 550 swiss|P38280|YBZ8_YEAST shuffled
+ 242 pos. 470 - 522 swiss|P26136|HEMA_IAMAB shuffled
+ 242 pos. 443 - 492 swiss|P80317|TCPZ_MOUSE shuffled
+ 242 pos. 404 - 440 swiss|P04587|POL_HV1B5 shuffled
+ 242 pos. 402 - 438 swiss|P38274|YBY3_YEAST shuffled
+ 242 pos. 375 - 410 swiss|P33260|CPCI_HUMAN shuffled
+ 242 pos. 352 - 365 swiss|P37119|C713_SOLME shuffled
+ 242 pos. 260 - 270 swiss|Q01479|VMT1_DHVI1 shuffled
+ 242 pos. 194 - 237 swiss|Q01035|VG74_HSVSA shuffled
+ 242 pos. 150 - 193 swiss|P33819|VE06_VARV shuffled
+ 242 pos. 146 - 170 swiss|P11069|GLB3_LUMTE shuffled
+ 242 pos. 135 - 176 swiss|P04802|SYDC_YEAST shuffled
+ 242 pos. 133 - 162 swiss|P13613|LACB_EQUAS shuffled
+ 242 pos. 123 - 162 swiss|P31776|YORI_HAEIN shuffled
+ 242 pos. 117 - 121 swiss|P28265|SBP_BACSU shuffled
+ 242 pos. 85 - 127 swiss|P22123|RAPA_DISOM shuffled
+ 242 pos. 42 - 90 swiss|Q08479|KADA_ORYSA shuffled
+ 242 pos. 1 - 17 swiss|P25176|VS09_ROTEL shuffled
+ 242 pos. 1 - 16 swiss|P00911|TRPC_ACICA shuffled
+ 242 pos. 1 - 14 swiss|P15569|ELIB_PHYCI shuffled
+ 242 pos. 1 - 12 swiss|P34631|YOJ8_CAEEL shuffled
diff --git a/sh3.gpr b/sh3.gpr
new file mode 100644
index 0000000..464436b
--- /dev/null
+++ b/sh3.gpr
@@ -0,0 +1,66 @@
+(Peptide) Length: 53
+
+# ID SH3
+# AC PS90004
+# DE Src homology domain SH3.
+
+Cons A C D E F G H I K L M N P Q R S T V W Y Gap Len ..
+ F -20 -30 -30 -40 20 -30 -20 10 -20 0 -10 -20 -30 -30 -40 -20 -10 0 -50 20 260 30
+ I -10 -50 -20 -30 -20 -30 0 10 10 -10 10 -10 -20 -10 10 -10 0 10 -40 -40 260 30
+ A 20 -30 10 0 -50 20 -20 -10 -10 -30 -20 10 10 0 -20 20 20 0 -80 -50 260 30
+ L -30 -80 -50 -40 20 -60 -20 20 -40 60 40 -30 -30 -20 -30 -30 -20 10 -30 0 260 30
+ Y -40 -20 -60 -60 90 -70 0 -10 -50 -10 -30 -30 -60 -50 -60 -40 -40 -40 -10 110 260 30
+ D 10 -60 30 30 -70 0 0 -20 -10 -40 -30 20 0 10 -20 0 0 -20 -90 -60 260 30
+ Y -50 -30 -60 -60 100 -70 -10 -10 -20 -10 -20 -30 -60 -50 -50 -40 -40 -40 -10 110 260 30
+ K -10 -60 10 10 -40 -20 0 -20 20 -30 -10 10 -10 10 10 0 0 -30 -70 -60 260 30
+ A 10 -40 10 0 -50 10 -10 -10 0 -30 -10 10 0 0 0 10 10 -10 -70 -60 260 30
+ R 0 -50 0 0 -50 -10 0 -10 10 -30 -10 10 0 10 10 0 0 -20 -50 -50 260 30
+! 11
+ R 0 -50 10 10 -60 0 10 -20 10 -40 -20 10 0 10 20 10 0 -20 -50 -50 260 30
+ E 10 -60 20 20 -60 0 0 -20 -10 -40 -20 10 10 10 -10 0 0 -30 -80 -60 260 30
+ D 0 -60 20 20 -60 0 10 -30 0 -50 -30 20 -10 20 -10 0 0 -40 -70 -40 260 30
+ D 0 -80 40 30 -60 0 0 -20 -10 -30 -20 20 -20 20 -20 0 -10 -30 -90 -60 260 30
+ L -20 -80 -50 -50 20 -50 -30 30 -40 70 50 -40 -30 -30 -40 -30 -20 30 -40 -20 260 30
+ S 10 -40 10 10 -50 10 0 -20 10 -40 -20 10 0 0 0 10 10 -20 -60 -50 260 30
+ F -30 -70 -60 -60 60 -50 -30 30 -20 50 30 -40 -50 -40 -50 -40 -30 10 -30 30 260 30
+ Q -10 -60 0 0 -30 -20 10 -10 10 -20 0 0 -10 10 10 -10 0 -10 -60 -40 260 30
+ K -10 -80 0 10 -30 -20 0 -20 30 -30 0 10 0 20 20 0 0 -30 -60 -60 260 30
+ G 20 -50 10 0 -70 70 -30 -40 -20 -60 -40 10 -10 -20 -40 20 0 -20 -100 -80 260 30
+! 21
+ D 10 -70 50 40 -80 10 10 -30 0 -50 -30 20 -10 20 -20 0 0 -40 -100 -60 260 30
+ I 0 -50 -10 -20 -20 -20 -10 20 0 0 10 -10 -20 0 0 -10 0 10 -60 -50 260 30
+ L -20 -60 -50 -50 30 -50 -30 40 -30 60 40 -40 -40 -30 -40 -30 -20 30 -50 0 260 30
+ Q -10 -50 -10 -10 -30 -20 0 0 0 -20 -10 0 -10 0 0 -10 0 -10 -60 -30 260 30
+ V 0 -40 -30 -40 -10 -30 -30 50 -30 30 30 -20 -20 -20 -30 -20 0 50 -80 -40 260 30
+ L -10 -60 -30 -30 -10 -30 -20 20 -30 30 20 -20 -20 -20 -30 -20 -10 20 -50 -30 260 30
+ D 0 -60 30 30 -60 0 10 -30 20 -50 -20 20 -10 20 10 0 0 -40 -70 -50 260 30
+ K -10 -60 0 0 -20 -10 0 -30 30 -40 -10 10 -10 0 10 0 0 -30 -60 -40 260 30
+ N 10 -40 10 10 -50 0 0 -20 0 -30 -20 10 10 0 -10 10 10 -10 -70 -50 260 30
+ X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10
+! 31
+ G 10 -50 0 0 -50 10 -20 -10 -20 -30 -20 0 0 -10 -20 0 0 -10 -80 -60 260 30
+ G 10 -60 30 30 -70 30 0 -40 -10 -50 -40 20 -10 10 -20 10 0 -30 -100 -60 260 30
+ W -90 -120 -90 -110 10 -110 -40 -80 -50 -30 -60 -60 -80 -70 30 -40 -80 -90 260 0 260 30
+ W -70 -90 -90 -90 0 -90 -40 -50 -50 -10 -40 -60 -70 -60 20 -30 -60 -60 180 -10 260 30
+ K -10 -70 0 0 -30 -20 0 -20 20 -30 -10 10 -10 10 20 0 -10 -30 -50 -50 260 30
+ G 20 -30 0 -10 -60 30 -30 -20 -30 -40 -30 0 0 -20 -30 10 0 0 -100 -60 260 30
+ Q -20 -60 0 0 -30 -30 10 -20 0 -20 -10 0 -20 10 10 -10 -10 -30 -50 -30 260 30
+ X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20
+ T 0 -40 -10 -10 -40 0 -20 0 -10 -20 0 0 -10 -10 -10 0 10 0 -70 -50 260 30
+ T 0 -50 0 0 -30 -10 -10 -10 10 -30 -10 10 -10 0 0 10 10 -10 -60 -40 260 30
+! 41
+ G 0 -50 0 -10 -50 30 -20 -30 -10 -50 -30 0 -10 -10 -10 10 0 -20 -70 -60 260 30
+ K 0 -60 10 10 -50 -10 10 -20 20 -40 -10 10 -10 20 20 0 0 -30 -60 -60 260 30
+ R -10 -60 -10 -10 -50 -30 10 -10 10 -30 -10 0 -10 10 30 -10 -10 -20 -20 -60 260 30
+ G 10 -50 0 0 -60 60 -30 -30 -30 -50 -40 0 -10 -20 -40 10 0 -20 -100 -60 260 30
+ W -50 -50 -50 -50 20 -60 -20 -20 -40 -10 -30 -30 -60 -50 -30 -30 -40 -40 40 30 260 30
+ F -30 -50 -60 -60 60 -50 -30 40 -10 30 20 -40 -40 -50 -40 -30 -20 20 -40 30 260 30
+ P 20 -40 -10 -10 -70 -10 0 -30 -20 -40 -30 -10 80 0 0 10 0 -20 -80 -70 260 30
+ G 10 -30 0 0 -40 20 -10 -20 0 -30 -20 0 0 -10 -10 10 10 -10 -60 -50 260 30
+ N 10 -50 20 10 -50 0 10 -20 10 -40 -20 20 0 0 0 10 10 -20 -70 -40 260 30
+ Y -50 -10 -70 -70 100 -80 -10 -10 -50 -10 -30 -30 -70 -60 -60 -40 -40 -50 0 130 260 30
+! 51
+ V 0 -30 -30 -50 -20 -20 -30 50 -30 20 20 -20 -20 -30 -40 -10 0 50 -80 -50 260 30
+ E 10 -60 20 30 -60 0 0 -20 10 -40 -20 10 0 20 0 0 0 -30 -80 -60 260 30
+ P 0 -50 -10 -10 -20 -20 -10 -20 -10 -30 -20 0 10 -10 -20 0 -10 -20 -60 -30 260 30
+ * 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
diff --git a/sh3.msf b/sh3.msf
new file mode 100644
index 0000000..2ff83c4
--- /dev/null
+++ b/sh3.msf
@@ -0,0 +1,86 @@
+
+ /usr/tmp/aaaa03740 MSF: 93 Type: N January 01, 1776 12:00 Check: 871 ..
+
+ Name: ABL1_HUMAN_1 Len: 93 Check: 7415 Weight: 1.00
+ Name: BEB1_YEAST_1 Len: 93 Check: 6527 Weight: 1.00
+ Name: CC25_YEAST_1 Len: 93 Check: 2233 Weight: 1.00
+ Name: CICX_HUMAN_1 Len: 93 Check: 4047 Weight: 1.00
+ Name: GTPA_HUMAN_1 Len: 93 Check: 5690 Weight: 1.00
+ Name: MSAB_HUMAN_1 Len: 93 Check: 2663 Weight: 1.00
+ Name: MYSB_DICDI_1 Len: 93 Check: 3422 Weight: 1.00
+ Name: NCF1_HUMAN_1 Len: 93 Check: 5067 Weight: 1.00
+ Name: NCF1_HUMAN_2 Len: 93 Check: 4929 Weight: 1.00
+ Name: NCK_HUMAN_1 Len: 93 Check: 6368 Weight: 1.00
+ Name: NCK_HUMAN_2 Len: 93 Check: 3962 Weight: 1.00
+ Name: NCK_HUMAN_3 Len: 93 Check: 6499 Weight: 1.00
+ Name: P85A_BOVIN_1 Len: 93 Check: 4105 Weight: 1.00
+ Name: PIP5_HUMAN_1 Len: 93 Check: 6487 Weight: 1.00
+ Name: SCD2_SCHPO_1 Len: 93 Check: 4071 Weight: 1.00
+ Name: SCD2_SCHPO_2 Len: 93 Check: 2703 Weight: 1.00
+ Name: SEM5_CAEEL_1 Len: 93 Check: 4231 Weight: 1.00
+ Name: SEM5_CAEEL_2 Len: 93 Check: 5640 Weight: 1.00
+ Name: SRC_CHICK_1 Len: 93 Check: 8009 Weight: 1.00
+ Name: STE6_SCHPO_1 Len: 93 Check: 5061 Weight: 1.00
+ Name: VAV_HUMAN_1 Len: 93 Check: 9929 Weight: 1.00
+ Name: VAV_HUMAN_2 Len: 93 Check: 4259 Weight: 1.00
+ Name: YFJ4_YEAST_1 Len: 93 Check: 2459 Weight: 1.00
+ Name: YHR4_YEAST_1 Len: 93 Check: 7079 Weight: 1.00
+ Name: YHR4_YEAST_2 Len: 93 Check: 9409 Weight: 1.00
+ Name: ZO1_HUMAN_1 Len: 93 Check: 8607 Weight: 1.00
+
+//
+
+ ABL1_HUMAN_1 NDPNLFVALY DFV-----AS GDNTLSI--- ----TKGEKL RVLGY-----
+ BEB1_YEAST_1 GNFPMYIAIN EYF-----KR MEDELDM--- ----KPGDKI KVITD-----
+ CC25_YEAST_1 RPIGIVVAAY DFNYPIKKDS SSQLLSV--- ----QQGETI YILNK-----
+ CICX_HUMAN_1 PVAFAVRTNV GYN-----PS PGDEVPVQGV AITFEPKDFL HIKEK-----
+ GTPA_HUMAN_1 EDRRRVRAIL PYT----KVP DTDEISF--- ----LKGDMF IVHNE-----
+ MSAB_HUMAN_1 PVAFAVRTNV SYS-----AA HEDDVPVPGM AISFEAKDFL HVKEK-----
+ MYSB_DICDI_1 PSRPTAKALY DYD-----AS STDELSF--- ----KEGDII FIVQK-----
+ NCF1_HUMAN_1 IILQTYRAIA DYE-----KT SGSEMAL--- ----STGDVV EVVEK-----
+ NCF1_HUMAN_2 YAGEPYVAIK AYT-----AV EGDEVSL--- ----LEGEAV EVIHK-----
+ NCK_HUMAN_1 AEEVVVVAKF DYV-----AQ QEQELDI--- ----KKNERL WLLDD-----
+ NCK_HUMAN_2 ---------F NYM-----AE REDELSL--- ----IKGTKV IVMEK-----
+ NCK_HUMAN_3 QVLHVVQALY PFS-----SS NDEELNF--- ----EKGDVM DVIEK-----
+ P85A_BOVIN_1 AEGYQYRALY DYK-----KE REEDIDL--- ----HLGDIL TVNKGSLVAL
+ PIP5_HUMAN_1 MPQRTVKALY DYK-----AK RSDELSF--- ----CRGALI HNVSK-----
+ SCD2_SCHPO_1 PPRKVIRALY DYT-----AR KATEVSF--- ----AKGDFF HVIGR-----
+ SCD2_SCHPO_2 SQPLFGIVQF DFA-----AE RPDELEA--- ----KAGEAI IIIAR-----
+ SEM5_CAEEL_1 ---MEAVAEH DFQ-----AG SPDELSF--- ----KRGNTL KVLNK-----
+ SEM5_CAEEL_2 VETKFVQALF DFN-----PQ ESGELAF--- ----KRGDVI TLINK-----
+ SRC_CHICK_1 GGVTTFVALY DYE-----SR TETDLSF--- ----KKGERL QIVNN-----
+ STE6_SCHPO_1 -MRFQTTAIS DYE----NSS NPSFLKF--- ----SAGDTI IVIEV-----
+ VAV_HUMAN_1 ---------- ---------- ----LRL--- ----NPGDIV ELTKA-----
+ VAV_HUMAN_2 KYFGTAKARY DFC-----AR DRSELSL--- ----KEGDII KILNK-----
+ YFJ4_YEAST_1 TSSPKAVALY SFA-----GE ESGDLPF--- ----RKGDVI TILKK-----
+ YHR4_YEAST_1 SDDGKNKVLY AYV-----QK DDDEITI--- ----TPGDKI SLVAR-----
+ YHR4_YEAST_2 LPVRTMEAIY AYE-----AQ GDDEISI--- ----DPGDII TVIRG-----
+ ZO1_HUMAN_1 GDSFYIRTHF EYE-----KE SPYGLSF--- ----NKGEVF RAVDT-----
+
+ ABL1_HUMAN_1 ---------N HNGEWCEAQT K------NGQ GWVPSNYITP VNS
+ BEB1_YEAST_1 -------DEE YKDGWYFGRN LR----TNEE GLYPVVFTQK ITV
+ CC25_YEAST_1 ---------- NSSGWWDGLV IDDSNGKVNR GWFPQNFGRP LRD
+ CICX_HUMAN_1 ---------- YNNDWWIGRL VK---EGCEV GFIPS----- ---
+ GTPA_HUMAN_1 ---------- LEDGWMWVTN LR----TDEQ GLIVEDLVEE VGR
+ MSAB_HUMAN_1 ---------- FNNDWWIGRL VK---EGCEI GFIPS----- ---
+ MYSB_DICDI_1 ---------- DNGGWTQGEL K-----SGQK GWAPTNYLQY N--
+ NCF1_HUMAN_1 ---------- SESGWWFCQM K------AKR GWIPASFLEP LDS
+ NCF1_HUMAN_2 ---------- LLDGWWVIRK D------DVT GYFPSMYLQK SGQ
+ NCK_HUMAN_1 ---------- -SKSWWRVRN SM-----NKT GFVPSNYVER KNS
+ NCK_HUMAN_2 ---------- CSDGWWRGSY N------GQV GWFPSNYVTE EGD
+ NCK_HUMAN_3 --------PE NDPEWWKCRK I-----NGMV GLVPKNYVTV MQN
+ P85A_BOVIN_1 GFSDGQEAKP EEIGWLNGYN ET----TGER GDFPGTYVEY IGR
+ PIP5_HUMAN_1 ---------- EPGGWWKGDY G-----TRIQ QYFPSNYVED IST
+ SCD2_SCHPO_1 ---------E NDKAWYEVCN PA----AGTR GFVPVSHFEE IGK
+ SCD2_SCHPO_2 ---------- SNHEWLVAKP IG---RLGGP GLIPLSFIQL RDL
+ SEM5_CAEEL_1 ---------D EDPHWYKAEL D------GNE GFIPSNYIRM TEC
+ SEM5_CAEEL_2 ---------- DDPNWWEGQL N------NRR GIFPSNYVCP YNS
+ SRC_CHICK_1 ---------- TEGDWWLAHS LT----TGQT GYIPSNYVAP SDS
+ STE6_SCHPO_1 ---------- LEDGWCDGIC S------EKR GWFPTSCIDS SKI
+ VAV_HUMAN_1 ---------E AEQNWWEGRN TS----TNEI GWFPCNRVKP YVH
+ VAV_HUMAN_2 ---------K GQQGWWRGEI Y------GRV GWFPANYVEE DYS
+ YFJ4_YEAST_1 --------SD SQNDWWTGRV N------GRE GIFPANYVEL V--
+ YHR4_YEAST_1 ---------D TGSGWTKINN DT----TGET GLVPTTYIRI SSA
+ YHR4_YEAST_2 ---------D DGSGWTYGEC D------GLK GLFPTSYCK- ---
+ ZO1_HUMAN_1 ------LYNG KLGSWLAIRI GK-NHKEVER GIIPNKNRAE QLA
+
diff --git a/sh3.prf b/sh3.prf
new file mode 100644
index 0000000..c2310bf
--- /dev/null
+++ b/sh3.prf
@@ -0,0 +1,133 @@
+ID SH3; MATRIX.
+AC PS50002;
+DT NOV-1995 (CREATED); NOV-1995 (DATA UPDATE); NOV-1995 (INFO UPDATE).
+DE Src homology 3 (SH3) domain profile.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=62;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=57;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.9383; R2=0.016376; TEXT='OrigScore';
+MA /CUT_OFF: LEVEL=0; SCORE=462; N_SCORE=8.5; MODE=1;
+MA /DEFAULT: D=-20; I=-20; B1=-60; E1=-60; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='P'; M=-4,-8,-26,-7,-1,-19,-11,-11,-15,-3,-16,-9,-6,6,-3,-6,-2,-3,-14,-25,-15,-3;
+MA /M: SY='E'; M=-5,-3,-25,0,4,-18,-8,-9,-17,-5,-15,-11,-4,-4,-3,-8,-1,-6,-14,-26,-14,0;
+MA /M: M=-5,-8,-25,-8,-4,-17,-4,-14,-14,-5,-13,-8,-7,-6,-7,-6,-4,-7,-11,-24,-15,-6;
+MA /M: M=-10,-6,-23,-7,-1,-9,-17,-8,-15,-1,-12,-6,-6,-6,-3,-1,-6,-4,-14,-21,-6,-2;
+MA /M: SY='Y'; M=-5,-15,-21,-18,-9,-4,-24,-12,-1,-6,-1,1,-13,-17,-5,-5,-8,-1,0,-14,3,-8;
+MA /M: SY='V'; M=2,-22,-14,-27,-23,7,-21,-17,11,-18,4,4,-20,-25,-22,-19,-9,-4,19,-15,4,-23;
+MA /M: SY='R'; M=-9,-15,-24,-17,-9,-13,-25,-14,1,3,-6,1,-11,-19,-4,9,-9,-3,6,-22,-6,-8;
+MA /M: SY='A'; M=38,-11,-9,-19,-11,-18,-5,-21,-7,-11,-9,-9,-11,-12,-12,-19,8,3,4,-23,-19,-11;
+MA /M: SY='L'; M=-8,-20,-22,-22,-13,-2,-27,-14,11,-16,22,11,-18,-23,-11,-12,-18,-7,5,-21,-2,-13;
+MA /M: SY='Y'; M=-17,-19,-26,-22,-20,30,-26,9,-2,-13,0,-1,-16,-28,-14,-11,-16,-9,-7,15,54,-19;
+MA /M: SY='D'; M=-11,30,-28,43,14,-34,-6,-4,-33,-2,-27,-24,13,-4,0,-10,2,-8,-26,-35,-20,6;
+MA /M: SY='Y'; M=-19,-23,-27,-26,-23,44,-29,6,1,-17,4,0,-20,-30,-20,-14,-20,-10,-6,22,61,-23;
+MA /M: SY='E'; M=-6,5,-23,6,11,-22,-15,-3,-19,2,-18,-10,2,-7,6,-3,0,-4,-16,-28,-14,8;
+MA /I: I=-6; MI=0; IM=0; B1=-50;
+MA /M: SY='A'; M=16,-9,-20,-12,-5,-22,-2,-16,-17,-4,-18,-12,-6,2,-6,-8,5,-1,-11,-24,-20,-7;
+MA /M: SY='E'; M=-4,-2,-25,-3,8,-23,-13,-6,-19,5,-19,-10,1,-7,7,6,2,-2,-16,-26,-15,6;
+MA /M: SY='D'; M=-6,5,-24,7,7,-23,-10,-3,-22,2,-20,-12,4,-9,4,1,4,0,-18,-29,-14,5;
+MA /M: SY='P'; M=-4,4,-24,9,9,-28,-6,-10,-26,-3,-25,-19,0,11,-2,-8,3,-4,-23,-31,-22,2;
+MA /M: SY='D'; M=-10,18,-26,24,10,-29,-1,-4,-30,-1,-26,-20,10,-8,1,-6,3,-6,-25,-31,-17,5;
+MA /M: SY='E'; M=-12,18,-28,28,35,-28,-14,3,-31,3,-22,-21,6,-6,9,-4,0,-9,-28,-31,-16,22;
+MA /M: SY='L'; M=-8,-28,-18,-30,-21,7,-30,-21,21,-27,38,17,-27,-28,-20,-20,-24,-8,13,-21,-1,-21;
+MA /M: SY='S'; M=3,0,-19,0,2,-22,-6,-10,-20,-5,-22,-15,3,-3,1,-5,15,8,-15,-30,-17,0;
+MA /M: SY='F'; M=-12,-28,-20,-34,-25,36,-29,-20,13,-26,21,11,-22,-27,-27,-19,-20,-8,10,-8,11,-24;
+MA /I: I=-6; MI=0; IM=0;
+MA /M: SY='K'; M=-9,-1,-23,-2,5,-20,-17,-5,-20,14,-17,-8,1,-14,5,14,-4,-4,-16,-24,-11,4;
+MA /M: SY='K'; M=-5,-4,-28,-3,9,-25,-16,-9,-22,17,-21,-11,-3,1,5,9,-5,-7,-18,-24,-15,6;
+MA /M: SY='G'; M=-1,-3,-28,-3,-12,-29,50,-16,-37,-13,-29,-20,4,-18,-14,-14,1,-16,-28,-23,-27,-13;
+MA /M: SY='D'; M=-14,30,-29,44,28,-34,-14,-1,-32,2,-24,-23,11,-8,7,-6,0,-9,-27,-35,-19,18;
+MA /M: SY='I'; M=-8,-18,-23,-22,-14,-3,-27,-16,10,-7,2,6,-14,-18,-11,-7,-11,-4,10,-20,-2,-14;
+MA /M: SY='I'; M=-10,-28,-18,-32,-25,11,-32,-19,24,-25,22,16,-24,-27,-21,-21,-20,-8,19,-18,4,-24;
+MA /M: SY='Y'; M=-9,-7,-24,-10,-3,-8,-22,0,-7,-3,-7,-3,-4,-17,-1,-2,-5,-1,-8,-18,2,-3;
+MA /M: SY='I'; M=-4,-27,-19,-32,-27,1,-32,-27,32,-24,19,14,-24,-26,-23,-23,-16,-5,32,-25,-5,-27;
+MA /M: SY='L'; M=-7,-21,-18,-23,-16,-2,-26,-18,14,-20,18,9,-19,-23,-15,-17,-14,-5,11,-24,-5,-17;
+MA /M: SY='E'; M=-6,14,-24,14,16,-24,-9,-2,-26,6,-23,-17,14,-11,5,3,3,-4,-23,-30,-16,10;
+MA /M: SY='K'; M=-4,5,-22,6,6,-23,-14,-6,-21,11,-21,-11,3,-13,4,5,1,-2,-14,-26,-11,4;
+MA /I: I=-5; MI=0; MD=-13; IM=0;
+MA /M: SY='S'; M=-5,-1,-16,-1,-1,-12,-11,-5,-11,-5,-11,-8,0,-13,-3,-7,1,1,-8,-22,-7,-3; D=-3;
+MA /I: I=-5; MI=-13; IM=-13; DM=-13;
+MA /M: SY='D'; M=-10,22,-25,26,16,-27,-9,0,-26,-1,-23,-19,17,-8,3,-6,4,-4,-24,-34,-18,9;
+MA /M: SY='D'; M=-4,6,-24,8,3,-27,3,-8,-25,-2,-23,-16,4,-7,-2,-7,1,-8,-20,-29,-19,0;
+MA /M: SY='D'; M=-8,13,-27,16,7,-26,11,1,-31,-6,-26,-19,11,-13,-2,-9,2,-10,-27,-28,-16,2;
+MA /M: SY='W'; M=-20,-40,-50,-40,-30,10,-20,-29,-20,-20,-20,-20,-40,-30,-20,-20,-40,-30,-30,148,31,-20;
+MA /M: SY='W'; M=-16,-32,-32,-33,-26,11,-23,-20,-11,-19,-7,-9,-31,-29,-18,-18,-30,-19,-18,85,27,-20;
+MA /M: SY='R'; M=-11,-5,-27,-5,4,-14,-21,-8,-15,9,-10,-6,-5,-15,2,10,-9,-7,-13,-18,-5,2;
+MA /M: SY='G'; M=15,-16,-14,-20,-20,-19,17,-23,-11,-18,-12,-8,-11,-20,-19,-21,0,-8,0,-23,-21,-20;
+MA /M: SY='R'; M=-12,-2,-26,-1,12,-23,-20,-2,-22,16,-17,-9,-1,-14,10,23,-5,-7,-17,-24,-10,9;
+MA /M: SY='N'; M=-8,-2,-10,-6,-9,-11,-18,-5,-9,-9,-7,-6,2,-19,-9,-7,-3,-3,-7,-29,-8,-10;
+MA /M: M=-8,-5,-22,-7,-4,-14,-15,-6,-8,-4,-6,-3,-3,-16,-5,-4,-7,-6,-7,-26,-9,-5;
+MA /I: I=-4; MI=-12; MD=-12; IM=-12;
+MA /M: SY='R'; M=-1,0,-12,-1,-2,-12,-4,-6,-11,1,-10,-7,1,-8,-2,3,3,3,-6,-16,-8,-3; D=-2;
+MA /I: I=-4; MI=0; MD=-12; IM=0; DM=-12; E1=-50;
+MA /M: SY='T'; M=-2,2,-13,-1,-2,-11,-7,-9,-11,-5,-10,-8,3,-10,-4,-7,7,12,-7,-21,-9,-3; D=-2;
+MA /I: I=-4; MI=-12; IM=-12; DM=-12;
+MA /M: SY='G'; M=-5,0,-23,0,-7,-26,28,-13,-30,-9,-23,-16,4,-19,-11,-9,-2,-13,-23,-26,-23,-9;
+MA /M: SY='Q'; M=-10,3,-28,4,15,-28,-14,1,-24,13,-21,-10,3,-8,17,11,-2,-8,-23,-25,-13,15;
+MA /M: SY='E'; M=-8,-6,-25,-6,10,-18,-21,-8,-13,4,-13,-7,-6,-10,8,7,-3,-3,-11,-22,-11,8;
+MA /M: SY='G'; M=0,-10,-30,-10,-19,-29,67,-20,-39,-20,-28,-19,-1,-20,-19,-20,-1,-20,-29,-20,-29,-19;
+MA /M: SY='Y'; M=-15,-27,-28,-30,-24,20,-29,-16,10,-23,14,7,-25,-27,-20,-19,-25,-13,2,20,21,-22;
+MA /M: SY='I'; M=-8,-29,-21,-35,-28,22,-32,-25,26,-26,15,10,-23,-26,-28,-23,-17,-7,24,-14,7,-28;
+MA /M: SY='P'; M=-8,-20,-38,-11,-1,-29,-19,-20,-19,-10,-29,-19,-20,84,-10,-20,-9,-9,-27,-30,-29,-10;
+MA /M: SY='S'; M=11,-5,-10,-8,-5,-19,-3,-13,-17,-7,-20,-14,0,-12,-5,-10,17,8,-8,-31,-18,-5;
+MA /M: SY='N'; M=-3,18,-19,8,-1,-21,-4,-2,-18,-2,-24,-16,28,-11,-1,-4,10,4,-19,-35,-19,-1;
+MA /M: SY='Y'; M=-16,-20,-22,-23,-20,28,-28,6,-1,-13,1,-1,-17,-28,-15,-10,-17,-9,-6,13,50,-20;
+MA /M: SY='V'; M=-5,-27,-15,-29,-25,1,-29,-25,23,-18,14,10,-25,-27,-23,-15,-14,-2,31,-25,-7,-25;
+MA /M: SY='E'; M=-1,-1,-23,0,14,-24,-16,-6,-20,6,-16,-11,-3,-11,11,5,1,-1,-16,-24,-14,12;
+MA /M: SY='E'; M=-9,-7,-27,-2,11,-20,-20,-10,-15,0,-14,-9,-9,11,0,-5,-7,-8,-17,-26,-14,4;
+MA /M: M=-6,-13,-21,-15,-9,-8,-20,-11,0,-7,-3,0,-10,-17,-7,-6,-7,-5,0,-19,-3,-9;
+MA /M: SY='D'; M=-8,9,-25,10,5,-23,-8,-5,-21,2,-19,-13,8,-10,-1,0,-1,-6,-18,-29,-15,1;
+MA /M: SY='S'; M=-1,-4,-21,-5,-4,-18,-9,-6,-14,-7,-14,-10,-1,-7,-4,-5,4,-1,-11,-29,-14,-5;
+MA /I: E1=0; IE=-105; DE=-105;
+NR /RELEASE=32,49340;
+NR /TOTAL=153(133); /POSITIVE=153(133); /UNKNOWN=0(0); /FALSE_POS=0(0);
+NR /FALSE_NEG=0; /PARTIAL=3;
+CC /TAXO-RANGE=??E?V; /MAX-REPEAT=4;
+DR P00519, ABL1_HUMAN, T; P00520, ABL_MOUSE , T; P00522, ABL_DROME , T;
+DR P00523, SRC_CHICK , T; P00524, SRC_RSVSR , T; P00525, SRC_AVISR , T;
+DR P00526, SRC_RSVP , T; P00527, YES_AVISY , T; P00528, SRC1_DROME, T;
+DR P02549, SPCA_HUMAN, T; P03949, ABL1_CAEEL, T; P04821, CC25_YEAST, T;
+DR P05433, GAGC_AVISC, T; P05480, SRCN_MOUSE, T; P06239, LCK_HUMAN , T;
+DR P06240, LCK_MOUSE , T; P06241, FYN_HUMAN , T; P07751, SPCN_CHICK, T;
+DR P07947, YES_HUMAN , T; P07948, LYN_HUMAN , T; P08103, HCK_MOUSE , T;
+DR P08487, PIP4_BOVIN, T; P08630, SRC2_DROME, T; P08631, HCK_HUMAN , T;
+DR P09324, YES_CHICK , T; P09769, FGR_HUMAN , T; P09851, GTPA_BOVIN, T;
+DR P10447, ABL_FSVHY , T; P10569, MYSC_ACACA, T; P10686, PIP4_RAT , T;
+DR P10936, YES_XENLA , T; P11710, FUS1_YEAST, T; P12931, SRC_HUMAN , T;
+DR P13115, SRC1_XENLA, T; P13116, SRC2_XENLA, T; P13395, SPCA_DROME, T;
+DR P13406, FYN_XENLA , T; P14084, SRC_AVISS , T; P14085, SRC_AVIST , T;
+DR P14234, FGR_MOUSE , T; P14317, HS1_HUMAN , T; P14598, NCF1_HUMAN, T;
+DR P14771, SC25_YEAST, T; P15054, SRC_AVIS2 , T; P15498, VAV_HUMAN , T;
+DR P15891, ABP1_YEAST, T; P16277, BLK_MOUSE , T; P16333, NCK_HUMAN , T;
+DR P16546, FODA_MOUSE, T; P16885, PIP5_HUMAN, T; P17713, STK_HYDAT , T;
+DR P19174, PIP4_HUMAN, T; P19517, CICB_RABIT, T; P19706, MYSB_ACACA, T;
+DR P19878, NCF2_HUMAN, T; P20936, GTPA_HUMAN, T; P23726, P85B_BOVIN, T;
+DR P23727, P85A_BOVIN, T; P24135, PIP5_RAT , T; P24604, TEC_MOUSE , T;
+DR P25020, SRC_RSVH1 , T; P25911, LYN_MOUSE , T; P26450, P85A_MOUSE, T;
+DR P26674, STE6_SCHPO, T; P27446, FYN_XIPHE , T; P27447, YES_XIPHE , T;
+DR P27637, YAI4_YEAST, T; P27870, VAV_MOUSE , T; P27986, P85A_HUMAN, T;
+DR P29354, GRB2_HUMAN, T; P29355, SEM5_CAEEL, T; P29366, BEM1_YEAST, T;
+DR P31007, DLG1_DROME, T; P31016, PSD9_RAT , T; P31693, SRC_RSVPA , T;
+DR P32577, CSK_RAT , T; P32790, SLA1_YEAST, T; P32793, YHH6_YEAST, T;
+DR P34092, MYSB_DICDI, T; P34109, MYSD_DICDI, T; P34258, YKA7_CAEEL, T;
+DR P34416, YLZ3_CAEEL, T; P35991, BTK_MOUSE , T; P36006, MYS3_YEAST, T;
+DR P38041, BOB1_YEAST, T; P38479, ABP1_SACEX, T; P38753, YHA2_YEAST, T;
+DR P38822, YHR4_YEAST, T; P39447, ZO1_MOUSE , T; P39688, FYN_MOUSE , T;
+DR P39743, R167_YEAST, T; P39969, BEB1_YEAST, T; P40073, SS81_YEAST, T;
+DR P40996, SCD2_SCHPO, T; P41239, CSK_CHICK , T; P41240, CSK_HUMAN , T;
+DR P41241, CSK_MOUSE , T; P41242, CTK_MOUSE , T; P41243, CTK_RAT , T;
+DR P42522, MYSC_DICDI, T; P42679, CTK_HUMAN , T; P42680, TEC_HUMAN , T;
+DR P42681, TXK_HUMAN , T; P42682, TXK_MOUSE , T; P42683, LCK_CHICK , T;
+DR P42684, ABL2_HUMAN, T; P42685, FRK_HUMAN , T; P42686, SRK1_SPOLA, T;
+DR P42687, SPK1_DUGTI, T; P42690, SRK4_SPOLA, T; P43069, CC25_CANAL, T;
+DR P43603, YFJ4_YEAST, T; P46108, CRK_HUMAN , T; P46109, CRKL_HUMAN, T;
+DR Q00013, MPP1_HUMAN, T; Q01406, SRC8_CHICK, T; Q02639, CICB_HUMAN, T;
+DR Q02640, CICX_HUMAN, T; Q02641, CICY_HUMAN, T; Q02977, YRK_CHICK , T;
+DR Q03526, ITK_MOUSE , T; Q04736, YES_MOUSE , T; Q04929, CRK_CHICK , T;
+DR Q05876, FYN_CHICK , T; Q06187, BTK_HUMAN , T; Q07014, LYN_RAT , T;
+DR Q07157, ZO1_HUMAN , T; Q07883, GRB2_CHICK, T; Q08012, DRK_DROME , T;
+DR Q08289, MSAB_HUMAN, T; Q08881, ITK_HUMAN , T; Q09014, NCF1_MOUSE, T;
+DR Q09746, YA65_SCHPO, T;
+DR P09760, FLK_RAT , P; P42688, SRK2_SPOLA, P; P42689, SRK3_SPOLA, P;
+DO PDOC50002;
+//
+ P23727, P85A_BOVIN, T; P24135, PIP5_RAT , T; P24604, TEC_MOUSE
\ No newline at end of file
diff --git a/sh3.seq b/sh3.seq
new file mode 100644
index 0000000..cad78d0
--- /dev/null
+++ b/sh3.seq
@@ -0,0 +1,297 @@
+>sp|P03949|ABL1_CAEEL TYROSINE-PROTEIN KINASE ABL-1 (EC 2.7.1.112) (FRAGMENT).
+NNEWCEARLYSTRKNDASNQRRLGEIGWVPSNFIAPYNSLDKYTWYHGKISRSDSEAILG
+SGITGSFLVRESETSIGQYTISVRHDGRVFHYRINVDNTEKMFITQEVKFRTLGELVHHH
+SVHADGLICLLMYPASKKDKGRGLFSLSPNAPDEWELDRSEIIMHNKLGGGQYGDVYEGY
+WKRHDCTIAVKALKEDAMPLHEFLAEAAIMKDLHHKNLVRLLGVCTHEAPFYIITEFMCN
+GNLLEYLRRTDKSLLPPIILVQMASQIASGMSYLEARHFIHRDLAARNCLVSEHNIVKIA
+DFGLARFMKEDTYTAHAGAKFPIKWTAPEGLAFNTFSSKSDVWAFGVLLWEIATYGMAPY
+PGVELSNVYGLLENGFRMDGPQGCPPSVYRLMLQCWNWSPSDRPRFRDIHFNLENLISSN
+SLNDEVQKQLKKNNDKKLESDKRRSNVRERSDSKSRHSSHHDRDRDRESLHSRNSNPEIP
+NRSFIRTDDSVSFFNPSTTSKVTSFRAQGPPFPPPPQQNTKPKLLKSVLNSNARHASEEF
+ERNEQDDVVPLAEKNVR
+>sp|P00519|ABL1_HUMAN PROTO-ONCOGENE TYROSINE-PROTEIN KINASE ABL (EC 2.7.1.112) (P150) (C-ABL).
+MLEICLKLVGCKSKKGLSSSSSCYLEEALQRPVASDFEPQGLSEAARWNSKENLLAGPSE
+NDPNLFVALYDFVASGDNTLSITKGEKLRVLGYNHNGEWCEAQTKNGQGWVPSNYITPVN
+SLEKHSWYHGPVSRNAAEYLLSSGINGSFLVRESESSPGQRSISLRYEGRVYHYRINTAS
+DGKLYVSSESRFNTLAELVHHHSTVADGLITTLHYPAPKRNKPTVYGVSPNYDKWEMERT
+DITMKHKLGGGQYGEVYEGVWKKYSLTVAVKTLKEDTMEVEEFLKEAAVMKEIKHPNLVQ
+LLGVCTREPPFYIITEFMTYGNLLDYLRECNRQEVNAVVLLYMATQISSAMEYLEKKNFI
+HRDLAARNCLVGENHLVKVADFGLSRLMTGDTYTAHAGAKFPIKWTAPESLAYNKFSIKS
+DVWAFGVLLWEIATYGMSPYPGIDLSQVYELLEKDYRMERPEGCPEKVYELMRACWQWNP
+SDRPSFAEIHQAFETMFQESSISDEVEKELGKQGVRGAVSTLLQAPELPTKTRTSRRAAE
+HRDTTDVPEMPHSKGQGESDPLDHEPAVSPLLPRKERGPPEGGLNEDERLLPKDKKTNLF
+SALIKKKKKTAPTPPKRSSSFREMDGQPERRGAGEEEGRDISNGALAFTPLDTADPAKSP
+KPSNGAGVPNGALRESGGSGFRSPHLWKKSSTLTSSRLATGEEEGGGSSSKRFLRSCSAS
+CVPHGAKDTEWRSVTLPRDLQSTGRQFDSSTFGGHKSEKPALPRKRAGENRSDQVTRGTV
+TPPPRLVKKNEEAADEVFKDIMESSPGSSPPNLTPKPLRRQVTVAPASGLPHKEEAEKGS
+ALGTPAAAEPVTPTSKAGSGAPGGTSKGPAEESRVRRHKHSSESPGRDKGKLSRLKPAPP
+PPPAASAGKAGGKPSQSPSQEAAGEAVLGAKTKATSLVDAVNSDAAKPSQPGEGLKKPVL
+PATPKPQSAKPSGTPISPAPVPSTLPSASSALAGDQPSSTAFIPLISTRVSLRKTRQPPE
+RIASGAITKGVVLDSTEALCLAISRNSEQMASHSAVLEAGKNLYTFCVSYVDSIQQMRNK
+FAFREAINKLENNLRELQICPATAGSGPAATQDFSKLLSSVKEISDIVQR
+>sp|P39969|BEB1_YEAST BEB1 PROTEIN.
+MSNDREVPTLSQLNTTVSRDKDVSDTLSPDFDSKGSATGRDGGNFPMYIAINEYFKRMED
+ELDMKPGDKIKVITDDEEYKDGWYFGRNLRTNEEGLYPVVFTQKITVEKAPTLMRAKSTK
+RIYSPLTNEDPLLSSTFISENDSNSELPTPQPIETAASISRTANGKIERNLSLKNTMSDI
+DNALLEFKDDSIGPPDRFINSGRDEEHSITHETILSATDGLDVVESNSKPTTSSSTGFLN
+GDLENQATLINGIDTTKLNPVEAEFWSPEEITAYFIMEGYDVQSASRFQKHKISGKILLE
+LELVHLKELDINSFGTRFEIFKEIEKIKEAIRTNGRSLNRASKTNNANIYNQLMPPANVD
+QRASYRGHVRKTSQSLEDLPSQQNFIPTPRNTRNSSASKHRPKSLVFDSQEANANIAPDV
+QIPQVVEEMAGNENLFVSPRRAPKPPSYPSPAQPPKSPLLNNTRTSPSPAQLYSWQSPTL
+SFSGPKRTSYIDQYSSSDSNFNSRSALPKNNQGGGKALSPIPSPTRNSVRNEDSEGKLTS
+SSKRNSVPYYGYAPESSSDRKSSCSSHEEEQFQETMNTFERPTSSIYADGSTIASISNDK
+LAHEKEGKKKPTRHSSSLSSKSKSDSRRNSSLKRSSSASRTSSFKKSSFMLSPFRQQFTD
+NAARSSSPEENPITSMPSEKNSSPIVDKKSSKKSRSKRRSVSAKEAEIFTETVKDDKNKR
+SASEAIKGETLKGKSLRQMTARPVAKKKQTSAFIEGLRSISVKEAMKDADFSGWMSKKGS
+GAMSTWKTRFFTLHGTRLSYFSSTTDTRERGLIDITAHRVVPAKEDDKLVSLYAASTGKG
+RYCFKLLPPQPGSKKGLTFTQPRTHYFAVDNKEEMRGWMAALIKTTIDIDTSVPIISSYT
+TPTVSLSKAQEMLAEAREETKLREQQMLENEEDEDQFLWDQQQLQQQQHDNNQGQADRTI
+SASTQRTSDEDNTISTPNLSSANNTTIGSNGFSSPFLLASGLLSPGVARNSSMRGTEKKG
+KFSTEEDYFGDNSKHKTDKI
+>sp|P04821|CC25_YEAST CELL DIVISION CONTROL PROTEIN 25.
+MSDTNTSIPNTSSAREAGNASQTPSISSSSNTSTTTNTESSSASLSSSPSTSELTSIRPI
+GIVVAAYDFNYPIKKDSSSQLLSVQQGETIYILNKNSSGWWDGLVIDDSNGKVNRGWFPQ
+NFGRPLRDSHLRKHSHPMKKYSSSKSSRRSSLNSLGNSAYLHVPRNPSKSRRGSSTLSAS
+LSNAHNAETSSGHNNTVSMNNSPFSAPNDASHITPQSSNFNSNASLSQDMTKSADGSSEM
+NTNAIMNNNETNLQTSGEKAGPPLVAEETIKILPLEEIEMIINGIRSNIASTWSPIPLIT
+KTSDYKLVYYNKDLDIYCSELPLISNSIMESDDICDSEPKFPPNDHLVNLYTRDLRKNAN
+IEDSSTRSKQSESEQNRSSLLMEKQDSKETDGNNNSINDDDNNNENNKNEFNEAGPSSLN
+SLSAPDLTQNIQSRVVAPSRSSILAKSDIFYHYSRDIKLWTELQDLTVYYTKTAHKMFLK
+ENRLNFTKYFDLISDSIVFTQLGCRLMQHEIKAKSCSKEIKKIFKGLISSLSRISINSHL
+YFDSAFHRKKMDTMNDKDNDNQENNCSRTEGDDGKIEVDSVHDLVSVPLSGKRNVSTSTT
+DTLTPMRSSFSTVNENDMENFSVLGPRNSVNSVVTPRTSIQNSTLEDFSPSNKNFKSAKS
+IYEMVDVEFSKFLRHVQLLYFVLQSSVFSDDNTLPQLLPRFFKGSFSGGSWTNPFSTFIT
+DEFGNATKNKAVTSNEVTASSSKNSSISRIPPKMADAIASASGYSANSETNSQIDLKASS
+AASGSVFTPFNRPSHNRTFSRARVSKRKKKYPLTVDTLNTMKKKSSQIFEKLNNATGEHL
+KIISKPKSRIRNLEINSSTYEQINQNVLLLEILENLDLSIFINLKNLIKTPSILLDLESE
+EFLVHAMSSVSSVLTEFFDIKQAFHDIVIRLIMTTQQTTLDDPYLFSSMRSNFPVGHHEP
+FKNISNTPLVKGPFHKKNEQLALSLFHVLVSQDVEFNNLEFLNNSDDFKDACEKYVEISN
+LACIIVDQLIEERENLLNYAARMMKNNLTAELLKGEQEKWFDIYSEDYSDDDSENDEAII
+DDELGSEDYIERKAANIEKNLPWFLTSDYETSLVYDSRGKIRGGTKEALIEHLTSHELVD
+AAFNVTMLITFRSILTTREFFYALIYRYNLYPPEGLSYDDYNIWIEKKSNPIKCRVVNIM
+RTFLTQYWTRNYYEPGIPLILNFAKMVVSEKIPGAEDLLQKINEKLINENEKEPVDPKQQ
+DSVSAVVQTTKRDNKSPIHMSSSSLPSSASSAFFRLKKLKLLDIDPYTYATQLTVLEHDL
+YLRITMFECLDRAWGTKYCNMGGSPNITKFIANANTLTNFVSHTIVKQADVKTRSKLTQY
+FVTVAQHCKELNNFSSMTAIVSALYSSPIYRLKKTWDLVSTESKDLLKNLNNLMDSKRNF
+VKYRELLRSVTDVACVPFFGVYLSDLTFTFVGNPDFLHNSTNIINFSKRTKIANIVEEII
+SFKRFHYKLKRLDDIQTVIEASLENVPHIEKQYQLSLQVEPRSGNTKGSTHASSASGTKT
+AKFLSEFTDDKNGNFLKLGKKKPPSRLFR
+>sp|Q02640|CICX_HUMAN DIHYDROPRYRIDINE-SENSITIVE L-TYPE, BRAIN CALCIUM CHANNEL BETA-1-B1 SUBUNIT.
+MVQKTSMSRGPYPPSQEIPMEVFDPSPQGKYSKRKGRFKRSDGSTSSDTTSNSFVRQGSA
+ESYTSRPSDSDVSLEEDREALRKEAERQALAQLEKAKTKPVAFAVRTNVGYNPSPGDEVP
+VQGVAITFEPKDFLHIKEKYNNDWWIGRLVKEGCEVGFIPSPVKLDSLRLLQEQKLRQNR
+LGSSKSGDNSSSSLGDVVTGTRRPTPPASAKQKQKSTEHVPPYDVVPSMRPIILVGPSLK
+GYEVTDMMQKALFDFLKHRFDGRISITRVTADISLAKRSVLNNPSKHIIIERSNTRSSLA
+EVQSEIERIFELARTLQLVALDADTINHPAQLSKTSLAPIIVYIKITSPKVLQRLIKSRG
+KSQSKHLNVQIAASEKLAQCPPEMFDIILDENQLEDACEHLAEYLEAYWKATHPPSSTPP
+NPLLNRTMATAALRRSPAPVSNLQVQVLTSLRRNLGFWGGLESSQRGSVVPQEQEHAM
+>sp|P20936|GTPA_HUMAN GTPASE-ACTIVATING PROTEIN (GAP) (RAS P21 PROTEIN ACTIVATOR).
+MMAAEAGSEEGGPVTAGAGGGGAAAGSSAYPAVCRVKIPAALPVAAAPYPGLVETGVAGT
+LGGGAALGSEFLGAGSVAGALGGAGLTGGGTAAGVAGAAAGVAGAAVAGPSGDMALTKLP
+TSLLAETLGPGGGFPPLPPPPYLPPLGAGLGTVDEGDSLDGPEYEEEEVAIPLTAPPTNQ
+WYHGKLDRTIAEERLRQAGKSGSYLIRESDRRPGSFVLSFLSQMNVVNHFRIIAMCGDYY
+IGGRRFSSLSDLIGYYSHVSCLLKGEKLLYPVAPPEPVEDRRRVRAILPYTKVPDTDEIS
+FLKGDMFIVHNELEDGWMWVTNLRTDEQGLIVEDLVEEVGREEDPHEGKIWFHGKISKQE
+AYNLLMTVGQVCSFLVRPSDNTPGDYSLYFRTNENIQRFKICPTPNNQFMMGGRYYNSIG
+DIIDHYRKEQIVEGYYLKEPVPMQDQEQVLNDTVDGKEIYNTIRRKTKDAFYKNIVKKGY
+LLKKGKGKRWKNLYFILEGSDAQLIYFESEKRATKPKGLIDLSVCSVYVVHDSLFGRPNC
+FQIVVQHFSEEHYIFYFAGETPEQAEDWMKGLQAFCNLRKSSPGTSNKRLRQVSSLVLHI
+EEAHKLPVKHFTNPYCNIYLNSVQVAKTHAREGQNPVWSEEFVFDDLPPDINRFEITLSN
+KTKKSKDPDILFMRCQLSRLQKGHATDEWFLLSSHIPLKGIEPGSLRVRARYSMEKIMPE
+EEYSEFKELILQKELHVVYALSHVCGQDRTLLASILLRIFLHEKLESLLLCTLNDREISM
+EDEATTLFRATTLASTLMEQYMKATATQFVHHALKDSILKIMESKQSCELSPSKLEKNED
+VNTNLTHLLNILSELVEKIFMASEILPPTLRYIYGCLQKSVQHKWPTNTTMRTRVVSGFV
+FLRLICPAILNPRMFNIISDSPSPIAARTLILVAKSVQNLANLVEFGAKEPYMEGVNPFI
+KSNKHRMIMFLDELGNVPELPDTTEHSRTDLSRDLAALHEICVAHSDELRTLSNERGAQQ
+HVLKKLLAITELLQQKQNQYTKTNDVR
+>sp|Q08289|MSAB_HUMAN LAMBERT-EATON MYASTHENIC SYNDROME ANTIGEN B (MYSB).
+MVQRDMSKSPPTAAAAVAQEIQMELLENVAPAGALGAAAQSYGKGARRKNRFKGSDGSTS
+SDTTSNSFVRQGSADSYTSRPSDSDVSLEEDREAVRREAERQAQAQLEKAKTKPVAFAVR
+TNVSYSAAHEDDVPVPGMAISFEAKDFLHVKEKFNNDWWIGRLVKEGCEIGFIPSPVKLE
+NMRLQHEQRAKQGKFYSSKSGGNSSSSLGDIVPSSRKSTPPSSAIDIDATGLDAEENDIP
+ANHRSPKPSANSVTSPHSKEKRMPFFKKTEHTPPYDVVPSMRPVVLVGPSLKGYEVTDMM
+QKALFDFLKHRFEGRISITRVTADISLAKRSVLNNPSKHAIIERSNTRSSLAEVQSEIER
+IFELARTLQLVVLDADTINHPAQLSKTSLAPIIVYVKISSPKVLQRLIKSRGKSQAKHLN
+VQMVAADKLAQCPPELFDVILDENQLEDACEHLADYLEAYWKATHPPSSSLPNPLLSRTL
+ATSSLPLSPTLASNSQGSQGDQRTDRSAPIRSASKLKKNLVWNQSRNPSTALPPQPHTTT
+IAVGQVAASPGKRHLTRKPRRVETLPT
+>sp|P34092|MYSB_DICDI MYOSIN IB HEAVY CHAIN.
+MSKKVQAKQGTDDLVMLPKVSEDEICENLKKRYMNDFIYTNIGPVLISVNPFRNLNNSGP
+DFIEAYRGKHAQEVPPHVYQLAESAYRAMKNDQENQCVIISGESGAGKTEAAKLIMGYVS
+AISGSTEKVEYVKHVILESNPLLEAFGNAKTLRNNNSSRFGKYFEIQFDKAGDPVGGKIY
+NYLLEKSRVVYQNPGERNFHIFYQLLRGASAQEKRDYVLSSPESYYYLNQSQCYTVDGIN
+DVSDYAEVRQAMDTIGLTAQEQSDIIRIVACVLHIGNIYFIEDDKGNAAIYDPNALELAA
+SMLCIDSATLQNAILFRVINTGGAGGAGNRRSTYNVPQNVEQANGTRDALARTIYDRMFS
+WLVEKVNQSLSYYKSPYQNVIGILDIFGFEIFEKNGFEQFCINFVNEKLQQFFIELTLKA
+EQEEYVREGIKWEPIKYFNNQIVCDLIEGKSPPGIFSLLDDICSTLHAQSTGTDQKFLEK
+MAGIYDGHLHWRGMTGAFAIKHYAGEVTYEAEGFSDKNKDTLFFDLIEAIQCSKMPFLAS
+LFNEDTGSLQKKRPTTAGFKIKTSAGELMKALSQCTPHYIRCIKPNETKKAKDWENSRVK
+HQVQYLGLLENVRVRRAGFAYRNTFDKVLKRYKKLSSKTWGIWGEWKGDAIEGCKTIFQD
+MNLEAGQWQLGKTKVFIRHPETVFLLEEALDKKDFDCTAKIQKAFRNWKAKKHSLEQRAQ
+IAHMFKDKKERQRNSIDRKFTSDYIDFENQFGLQEAMQNAHKKERVVFADTVIKIDRRAK
+QKNYEMVLTDQALYFVEKSIKKKVLVHTLIRRVGLREIKGVSISTLSDNVIVFHLPEHDQ
+VIENDKKTEIIIVLVEYFKAIGGGSLNVQFSDRINYTLKKGEQKEISFQKSEQCPTLVVK
+KGGKGLIGTIASGLPSSTDSTPKNYNPNSMSQASSRPAPQQSAGRGRGMPQGAGQPQPQQ
+PQQQQRPMPQPQQGGGARPMPQPQQGGGARPMGAPQQGGAPQQGAGRQLPQPTQQGGAPG
+GRGAPMGRGAPGGGPAGAGGRPLPTVAKPAPQPSRPTAKALYDYDASSTDELSFKEGDII
+FIVQKDNGGWTQGELKSGQKGWAPTNYLQYN
+>sp|P14598|NCF1_HUMAN NEUTROPHIL CYTOSOL FACTOR 1 (NCF-1) (NCF-47K) (47 KD AUTOSOMAL CHRONIC GRANULOMATOUS DISEASE PROTEIN).
+MGDTFIRHIALLGFEKRFVPSQHYVYMFLVKWQDLSEKVVYRRFTEIYEFHKTLKEMFPI
+EAGAINPENRIIPHLPAPKWFDGQRAAENRQGTLTEYCSTLMSLPTKISRCPHLLDFFKV
+RPDDLKLPTDNQTKKPETYLMPKDGKSTATDITGPIILQTYRAIADYEKTSGSEMALSTG
+DVVEVVEKSESGWWFCQMKAKRGWIPASFLEPLDSPDETEDPEPNYAGEPYVAIKAYTAV
+EGDEVSLLEGEAVEVIHKLLDGWWVIRKDDVTGYFPSMYLQKSGQDVSQAQRQIKRGAPP
+RRSSIRNAHSIHQRSRKRLSQDAYRRNSVRFLQQRRRQARPGPQSPGSPLEEERQTQRSK
+PQPAVPPRPSADLILNRCSESTKRKLASAV
+>sp|P16333|NCK_HUMAN CYTOPLASMIC PROTEIN NCK.
+MAEEVVVVAKFDYVAQQEQELDIKKNERLWLLDDSKSWWRVRNSMNKTGFVPSNYVERKN
+SARKASIVKNLKDTLGIGKVKRKPSVPDSASPADDSFVDPGERLYDLNMPAYVKFNYMAE
+REDELSLIKGTKVIVMEKCSDGWWRGSYNGQVGWFPSNYVTEEGDSPLGDHVGSLSEKLA
+AVVNNLNTGQVLHVVQALYPFSSSNDEELNFEKGDVMDVIEKPENDPEWWKCRKINGMVG
+LVPKNYVTVMQNNPLTSGLEPSPPQCDYIRPSLTGKFAGNPWYYGKVTRHQAEMALNERG
+HEGDFLIRDSESSPNDFSVSLKAQGKNKHFKVQLKETVYCIGQRKFSTMEELVEHYKKAP
+IFTSEQGEKLYLVKHLS
+>sp|P23727|P85A_BOVIN PHOSPHATIDYLINOSITOL 3-KINASE REGULATORY ALPHA SUBUNIT (PI3-KINASE P85-ALPHA SUBUNIT) (PTDINS-3-KINASE P85-ALPHA) (PI3K).
+MSAEGYQYRALYDYKKEREEDIDLHLGDILTVNKGSLVALGFSDGQEAKPEEIGWLNGYN
+ETTGERGDFPGTYVEYIGRKKISPPTPKPRPPRPLPVAPGPSKTEADSEQQASTLPDLAE
+QFAPPDVAPPLLIKLVEAIEKKGLECSTLYRTQSSSNPAELRQLLDCDTASLDLEMFDVH
+VLADAFKRYLLDLPNPVIPVAVSSELISLAPEVQSSEEYIQLLKKLIRSPSIPHQYWLTL
+QYLLKHFFKLSQTSSKNLLNARVLSELFSPLLFRFPAASSENTEHLIKIIEILISTEWNE
+RQPAPALPPKPPKPTTVANNGMNNNMSLQDAEWYWGDISREEVNEKLRDTADGTFLVRDA
+STKMHGDYTLTLRKGGNNKLIKIFHRDGKYGFSDPLTFNSVVELINHYRNESLAQYNPKL
+DVKLLYPVSKYQQDQVVKEDNIEAVGKKLHEYNTQFQEKSREYDRLYEDYTRTSQEIQMK
+RTAIEAFNETIKIFEEQCQTQERYSKEYIEKFKREGNETEIQRIMHNYEKLKSRISEIVD
+SRRRLEEDLKKQAAEYREIDKRMNSIKPDLIQLRKTRDQYLMWLTQKGVRQKKLNEWLGN
+ENTEDQYSLVEDDEDLPHHDEKTWNVGSSNRNKAENLLRGKRDGTFLVRESSKQGCYACS
+VVVDGEVKHCVINKTATGYGFAEPYNLYSSLKELVLHYQHTSLVQHNDSLNVTLAYPVYA
+QQRR
+>sp|P16885|PIP5_HUMAN 1-PHOSPHATIDYLINOSITOL-4,5-BISPHOSPHATE PHOSPHODIESTERASE GAMMA 2 (EC 3.1.4.11) (PLC-GAMMA-2) (PHOSPHOLIPASE C-GAMMA-2) (PLC-IV).
+MSTTVNVDSLAEYEKSQIKRALELGTVMTVFSFRKSTPERRTVQVIMETRQVAWSKTADK
+IEGFLDIMEIKEIRPGKNSKDFERAKAVRQKEDCCFTILYGTQFVLSTLSLAADSKEDAV
+NWLSGLKILHQEAMNASTPTIIESWLRKQIYSVDQTRRNSISLRELKTILPLINFKVSSA
+KFLKDKFVEIGAHKDELSFEQFHLFYKKLMFEQQKSILDEFKKDSSVFILGNTDRPDASA
+VYLHDFQRFLIHEQQEHWAQDLNKVRERMTKFIDDTMRETAEPFLFVDEFLTYLFSRENS
+IWDEKYDAVDMQDMNNPLSHYWISSSHNTYLTGDQLRSESSPEAYIRCLRMGCRCIELDC
+WDGPDGKPVIYHGWTRTTKIKFDDVVQAIKDHAFVTSSFPVILSIEEHCSVEQQRHMAKA
+FKEVFGDLLLTKPTEASADQLPSPSQLREKIIIKHKKLGPRGDVDVNMEDKKDEHKQQGE
+LYMWDSIDQKWTRHYCAIADAKLSFSDDIEQTMEEEVPQDIPPTELHFGEKWFHKKVEKR
+TSAEKLLQEYCMETGGKDGTFLVRESETFPNDYTLSFWRSGRVQHCRIRSTMEGGTLKYY
+LTDNLRFRRMYALIQHYRETHLPCAEFELRLTDPVPNPNPHESKPWYYDSLSRGEAEDML
+MRIPRDGAFLIRKREGSDSYAITFRARGKVKHCRINRDGRHFVLGTSAYFESLVELVSYY
+EKHSLYRKMRLRYPVTPELLERYNTERDINSLYDVSRMYVDPSEINPSMPQRTVKALYDY
+KAKRSDELSFCRGALIHNVSKEPGGWWKGDYGTRIQQYFPSNYVEDISTADFEELEKQII
+EDNPLGSLCRGILDLNTYNVVKAPQGKNQKSFVFILEPKEQGDPPVEFATDRVEELFEWF
+QSIREITWKIDSKENNMKYWEKNQSIAIELSDLVVYCKPTSKTKDNLENPDFREIRSFVE
+TKADSIIRQKPVDLLKYNQKGLTRVYPKGQRVDSSNYDPFRLWLCGSQMVALNFQTADKY
+MQMNHALFSLNGRTGYVLQPESMRTEKYDPMPPESQRKILMTLTVKVLGARHLPKLGRSI
+ACPFVEVEICGAEYGNNKFKTTVVNDNGLSPIWAPTQEKVTFEIYDPNLAFLRFVVYEED
+MFSDPNFLAHATYPIKAVKSGFRSVPLKNGYSEDIELASLLVFCEMRPVLESEEELYSSC
+RQLRRRQEELNNQLFLYDTHQNLRNANRDALVKEFSVNENHSSCTRRNATRG
+>sp|P40996|SCD2_SCHPO SCD2 PROTEIN.
+MLKIKRTWKTHSRILDKDPFSIEPPRKVIRALYDYTARKATEVSFAKGDFFHVIGRENDK
+AWYEVCNPAAGTRGFVPVSHFEEIGKTVKSERDSDGSGQISFTDLTTNSSTTRSSISELH
+SGSQPLFGIVQFDFAAERPDELEAKAGEAIIIIARSNHEWLVAKPIGRLGGPGLIPLSFI
+QLRDLKTGAVIKDVSEAVLRISCIPRVEDWKRAAADYKKSSIPLGKFSDGETQTMPSLSP
+STENLQINNDVTYQAATDNSSTFPGSVANELTPLQTLESRTASIASKNKKDMSSEPTVVA
+AMVENYMIRDDQYWYLVRAVMSDGKHRNLCRYYEDFFNFQTKFLELFPNEAGRGDERRVI
+PYMPGPVDDVNELISSQRAMDLDVYLKEMCRLPARLLENELVKLFFLPLDGDVESPHPTS
+TMPEALPREPLSFSLPEKAPEKATNISIPESAPTTAGSTCKVKVRLGDETFALRVPSDIS
+FEDFCERLTNKLGECEHLSYRDTNANKVLPLNNVDDLRKACSQESGVLLFAERRRF
+>sp|P29355|SEM5_CAEEL SEX MUSCLE ABNORMAL PROTEIN 5.
+MEAVAEHDFQAGSPDELSFKRGNTLKVLNKDEDPHWYKAELDGNEGFIPSNYIRMTECNW
+YLGKITRNDAEVLLKKPTVRDGHFLVRQCESSPGEFSISVRFQDSVQHFKVLRDQNGKYY
+LWAVKFNSLNELVAYHRTASVSRTHTILLSDMNVETKFVQALFDFNPQESGELAFKRGDV
+ITLINKDDPNWWEGQLNNRRGIFPSNYVCPYNSNKSNSNVAPGFNFGN
+>sp|P00523|SRC_CHICK PROTO-ONCOGENE TYROSINE-PROTEIN KINASE SRC (EC 2.7.1.112) (P60-SRC).
+GSSKSKPKDPSQRRRSLEPPDSTHHGGFPASQTPNKTAAPDTHRTPSRSFGTVATEPKLF
+GGFNTSDTVTSPQRAGALAGGVTTFVALYDYESRTETDLSFKKGERLQIVNNTEGDWWLA
+HSLTTGQTGYIPSNYVAPSDSIQAEEWYFGKITRRESERLLLNPENPRGTFLVRESETTK
+GAYCLSVSDFDNAKGLNVKHYKIRKLDSGGFYITSRTQFSSLQQLVAYYSKHADGLCHRL
+TNVCPTSKPQTQGLAKDAWEIPRESLRLEVKLGQGCFGEVWMGTWNGTTRVAIKTLKPGN
+MSPEAFLQEAQVMKKLRHEKLVQLYAVVSEEPIYIVTEYMSKGSLLDFLKGEMGKYLRLP
+QLVDMAAQIASGMAYVERMNYVHRDLRAANILVGENLVCKVADFGLARLIEDNEYTARQG
+AKFPIKWTAPEAALYGRFTIKSDVWSFGILLTELTTKGRVPYPGMVNREVLDQVERGYRM
+PCPPECPESLHDLMCQCWRRDPEERPTFEYLQAFLEDYFTSTEPQYQPGENL
+>sp|P26674|STE6_SCHPO STE6 PROTEIN.
+MRFQTTAISDYENSSNPSFLKFSAGDTIIVIEVLEDGWCDGICSEKRGWFPTSCIDSSKI
+QNFFSSFHSSNEKDPNAQCCAPFHVEAHLQDSAWFEKHGVQAINSIPSSEEFLRKNLQND
+IHHLVKGILTTAAAVSQSIKKEGTQVIVFGIETVRSMVLSFPLIILSTLDENFLSEVAQV
+FSSLNLLPELSRMGCTYGELCIRFTKLLKQLANKFLFFFRPDVSFPSYFLGSLIAHEIHF
+LPWDFNMLCSNSVQSAHTNLQPDITSFVAILSLSHEAYHCTENEFWNLEAQKLTENTTQK
+VLQLVAEDALEAWKLDILEDIDRCIQCCRRFLSANQRINYSSSENNPFSFTSQDVEALKD
+ELSSNLCDLYLWSIDLEQISPSDCLLDNYSLFVDLLVTLKVSLLRIKSIIVQFSERIVFL
+SLEYKFLTNIQPELNDAEKSQLDGFDLNKTNWFDSKGLVCYLMKQTSPEPLLIRNLLFSF
+WSCNGKIEQDGKIKTATLVFIINYLLRTDIDSTFFTTIFLNTYASMISSSDLFSILGAHF
+RFICSLNFGKISFISHEFYRVSKRFLDILLIWFESYLVEELDNSKSIFFLFKIYKVFEVF
+VVPHFASAEELLHSLSHLLHHPSTKRSHKMLEGKELSQELEDLSLHNSPDPIIYKDELVL
+LLPPREIAKQLCILEFQSFSHISRIQFLTKIWDNLNRFSPKEKTSTFYLSNHLVNFVTET
+IVQEEEPRRRTNVLAYFIQVCDYLRELNNFASLFSIISALNSSPIHRLRKTWANLNSKTL
+ASFELLNNLTEARKNFSNYRDCLENCVLPCVPFLGVYFTDLTFLKTGNKDNFQNMINFDK
+RTKVTRILNEIKKFQSVGYMFNPINEVQELLNEVISRERNTNNIYQRSLTVEPRESEDQA
+LQRLLIDSGIF
+>sp|P15498|VAV_HUMAN VAV ONCOGENE.
+MELWRQCTHWLIQCRVLPPSHRVTWDGAQVCELAQALRDGVLLCQLLNNLLPHAINLREV
+NLRPQMSQFLCLKNIRTFLSTCCEKFGLKRSELFEAFDLFDVQDFGKVIYTLSALSWTPI
+AQNRGIMPFPTEEESVGDEDIYSGLSDQIDDTVEEDEDLYDCVENEEAEGDEIYEDLMRS
+EPVSMPPKMTEYDKRCCCLREIQQTEEKYTDTLGSIQQHFLKPLQRFLKPQDIEIIFINI
+EDLLRVHTHFLKEMKEALGTPGAPNLYQVFIKYKERFLVYGRYCSQVESASKHLDRVAAA
+REDVQMKLEECSQRANNGRFTLRDLLMVPMQRVLKYHLLLQELVKHTQEAMEQGNLRLAL
+DAMRDLAQCVNEVKRDNETLRQITNFQLSIENLDQSLAHYGRPKIDGELKITSVERRSKM
+DRYAFLLDKALLICKRRGDSYDLKDFVNLHSFQVRDDSSGDRDNKKWSHMFLLIEDQGAQ
+GYELFFKTRELKKKWMEQFEMAISNIYPENATANGHDFQMFSFEETTSCKACQMLLRGTF
+YQGYRCHRCRASAHKECLGRVPPCGRHGQDFPGTMKKDKLHRRAQDKKRNELGLPKMEVF
+QEYYGLPPPPGAIGPFLRLNPGDIVELTKAEAEQNWWEGRNTSTNEIGWFPCNRVKPYVH
+GPPQDLSVHLWYAGPMERAGAESILANRSDGTFLVRQRVKDAAEFAISIKYNVEVKHTVK
+IMTAEGLYRITEKKAFRGLTELVEFYQQNSLKDCFKSLDTTLQFPFKEPEKRTISRPAVG
+STKYFGTAKARYDFCARDRSELSLKEGDIIKILNKKGQQGWWRGEIYGRVGWFPANYVEE
+DYSEYC
+>sp|P43603|YFJ4_YEAST HYPOTHETICAL 40.4 KD PROTEIN IN PES4-HIS2 INTERGENIC REGION.
+MAGAGAGGMVGIELTDFVFILNTQDAVKSFSEFGTITLGGNVSVSAGPLGRSAEAAASAS
+AGGVAAVFAYSKSKGLFAGVSVEGSAIIERREANRKFYGDNCTAKMILSGRIRPPPAVDP
+LFRVLESRAFNYRPSNGGRGSFDDDEDDYYDDDDYYNDIPSSFSSTDASSTRPNTRSTRR
+RAQSGSRYTFDDDDDDDDYGTGYSRNSRLAPTNSGGSGGKLDDPSGASSYYASHRRSGTA
+QSRARSSRNRWADDEYDDYDDDYESGYRRGNGRDRTKDREVDDLSNRFSKSRISSASTPQ
+TSQGRFTAPTSPSTSSPKAVALYSFAGEESGDLPFRKGDVITILKKSDSQNDWWTGRVNG
+REGIFPANYVELV
+>sp|P38822|YHR4_YEAST HYPOTHETICAL 71.2 KD PROTEIN IN CDC12-ORC6 INTERGENIC REGION.
+MSADLSIGNEIKDSFKETHKWVQNNLKWLKDIEQFYRERAKLEKDYSERLSRLSAEYFNK
+KSSTSVPISVGDTPTTTPGSIEAAGVVAWNEILSQTDMISKDHDQLSTDFENHVANQLSG
+LFTKLDMTLSKINGFNNDMVNKKDNIYHELEKAKKDYDEACSTMEMARNRYTKASNDRNK
+KKLDEKEMEMNKCKNEYLIKINQANRTKDKYYFQDVPEVLDLLQDVNEAKTLFLNDLWLK
+AASVENDLGANVSKRLQAANSVVKQNKPSLNTAIFIKHNLKNWKEPQDFVYKPSPVWHDD
+EKFAVPSSLEVEDLRIKLAKAENDYNSLQDKTQNELSKLSTLNKIKHEMKTNEDNINATK
+FYDTLKEYLNVVSPFTSHETLKLQAEVQIESIQNNVPEEYDLSTDNIDLSKTKKKSGIFS
+KFKHNILNVDSKPSSGGSTGNGNGGPLHITSLFNTSRRTRLGSAPNNAGEDSDNNSIRTT
+STNNTKKTTQNSSDDGKNKVLYAYVQKDDDEITITPGDKISLVARDTGSGWTKINNDTTG
+ETGLVPTTYIRISSAATVKANDRGPAPEVPPPRRSTLPVRTMEAIYAYEAQGDDEISIDP
+GDIITVIRGDDGSGWTYGECDGLKGLFPTSYCK
+>sp|Q07157|ZO1_HUMAN TIGHT JUNCTION PROTEIN ZO-1.
+MEETAIWEQHTVTLHRAPGFGFGIAISGGRDNPHFQSGETSIVISDVLKGGPAEGQLQEN
+DRVAMVNGVSMDNVEHAFAVQQLRKSGKNAKITIRRKKKVQIPVSRPDPEPVSDNEEDSY
+DEEIHDPRSGRSGVVNRRSEKIWPRDRSASRERSLSPRSDRRSVASSQPAKPTKVTLVKS
+RKNEEYGLRLASHIFVKEISQDSLAARDGNIQEGDVVLKINGTVTENMSLTDAKTLIERS
+KGKLKMVVQRDERATLLNVPDLSDSIHSANASERDDISEIQSLASDHSGRSHDRPPRRSR
+SRSPDQRSEPSDHSRHSPQQPSNGSLRSRDEERISKPGAVSTPVKHADDHTPKTVEEVTV
+ERNEKQTPSLPEPKPVYAQVGNQMWIYLSVHLMVSYLIQLMKMGFLRPSMKLVKFRKGDS
+VGLRLAGGNDVGIFVAGVLEDSPAAKEGLEEGDQILRVNNVDFTNIIREEAVLFLLDLPK
+GEEVTILAQKKKDVYRRIVESDVGDSFYIRTHFEYEKESPYGLSFNKGEVFRAVDTLYNG
+KLGSWLAIRIGKNHKEVERGIIPNKNRAEQLASVQYTLPKTAGGDRADFWRFRGLRSSKR
+NLRKSREDLSAQPVQTKFPAYERVVLREAGFLRPVTIFGPIADVAREKLAREEPDIYQIA
+KSEPRDAGTDQRSSGYIRLHTIKQIIDQDKHALLDVTPNAVDRLNYAQWYPIVVFLNPDS
+KQGVKTMRMRLCPESRKSARKLYERSHKLAKNNHHLFTTTINLNSMNDGWYGALKEAVQQ
+QQNQLVWVSEGKADGATSDDLDLHDDRLSYLSAPGSEYSMYSTDSRHTSDYEDTDTEGGA
+YTDQELDETLNDEVGTPPESAITRSSEPVREDSSGMHHENQTYPPYSPQAQPQPIHRIDS
+PGFKPASQQKAEASSPVPYLSPETNPASSTSAVNHNVNLTNVRLEEPTPAPSTSYSPQAD
+SLRTPSTEAAHIMLRDQEPSLSSHVDPTKVYRKDPYPEEMMRQNHVLKQPAVSHPGHRPD
+KEPNLTYEPQLPYVEKQASRDLEQPTYRYESSSYTDQFSRNYEHRLRYEDRVPMYEEQWS
+YYDDKQPYPSRPPFDNQHSQDLDSRQHPEESSERGYFPRFEEPAPLSYDSRPRYEQAPRA
+SALRHEEQPAPGYDTHGRLRPEAQPHPSAGPKPAESKQYFEQYSRSYEQVPPQGFTSRAG
+HFEPLHGAAAVPPLIPSSQHKPEALPSNTKPLPPPPTQTEEEEDPAMKPQSVLTRVKMFE
+NKRSASLETKKDVNDTGSFKPPEVASKPSGAPIIGPKPTSQNQFSEHDKTLYRIPEPQKP
+QLKPPEDIVRSNHYDPEEDEEYYRKQLSYFDRRSFENKPPAHIAASHLSEPAKPAHSQNQ
+SNFSSYSSKGKPPEADGVDRSFGEKRYEPIQATPPPPPLPSQYAQPSQPVTSASLHIHSK
+GAHGEGNSVSLDFQNSLVSKPDPPPSQNKPATFRPPNREDTAQAAFYPQKSFPDKAPVNG
+TEQTQKTVTPAYNRFTPKPYTSSARPFERKFESPKFNHNLLPSETAHKPDLSSKTPTSPK
+TLVKSHSLAQPPEFDSGVETFSIHAEKPKYQINNISTVPKAIPVSPSAVEEDEDEDGHTV
+VATARGIFNSNGGVLSSIETGVSIIIPQGAIPEGVEQEIYFKVCRDNSILPPLDKEKGET
+LLSPLVMCGPHGLKFLKPVELRLPHCDPKTWQNKCLPGDPNYLVGANCVSVLIDHF
diff --git a/standard.random b/standard.random
new file mode 100644
index 0000000..bc04309
--- /dev/null
+++ b/standard.random
@@ -0,0 +1,3 @@
+Amino
+ .08713 .03347 .04687 .04953 .03977 .08861 .03362 .03689 .08048 .08536
+ .01475 .04043 .05068 .03826 .04090 .06958 .05854 .06472 .01049 .02992
diff --git a/sterr.f b/sterr.f
new file mode 100644
index 0000000..8f85cee
--- /dev/null
+++ b/sterr.f
@@ -0,0 +1,12 @@
+*----------------------------------------------------------------------*
+* $Id: sterr.f,v 2.4 2003/02/19 08:38:25 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Parameter (NERR=0)
+
+* For use under HP-UX, comment previous line and uncomment following
+* line
+
+C Parameter (NERR=7)
+
diff --git a/test.out b/test.out
new file mode 100644
index 0000000..96878fe
--- /dev/null
+++ b/test.out
@@ -0,0 +1,1337 @@
+#----------------------------------------------------------------------#
+# pftools test 1: ./pfsearch -f -C 6.0 sh3.prf sh3.seq
+#----------------------------------------------------------------------#
+ 8.455 459 pos. 1 - 39 sp|P03949|ABL1_CAEEL TYROSINE-PROTEIN KINASE ABL-1 (EC 2.7.1.112) (FRAGMENT).
+ 14.973 857 pos. 61 - 121 sp|P00519|ABL1_HUMAN PROTO-ONCOGENE TYROSINE-PROTEIN KINASE ABL (EC 2.7.1.112) (P150) (C-ABL).
+ 12.958 734 pos. 43 - 107 sp|P39969|BEB1_YEAST BEB1 PROTEIN.
+ 13.499 767 pos. 58 - 128 sp|P04821|CC25_YEAST CELL DIVISION CONTROL PROTEIN 25.
+ 10.043 556 pos. 100 - 161 sp|Q02640|CICX_HUMAN DIHYDROPRYRIDINE-SENSITIVE L-TYPE, BRAIN CALCIUM CHANNEL BETA-1-B1 SUBUNIT.
+ 11.812 664 pos. 279 - 341 sp|P20936|GTPA_HUMAN GTPASE-ACTIVATING PROTEIN (GAP) (RAS P21 PROTEIN ACTIVATOR).
+ 10.289 571 pos. 114 - 175 sp|Q08289|MSAB_HUMAN LAMBERT-EATON MYASTHENIC SYNDROME ANTIGEN B (MYSB).
+ 18.100 1048 pos. 1053 - 1111 sp|P34092|MYSB_DICDI MYOSIN IB HEAVY CHAIN.
+ 15.316 878 pos. 156 - 215 sp|P14598|NCF1_HUMAN NEUTROPHIL CYTOSOL FACTOR 1 (NCF-1) (NCF-47K) (47 KD AUTOSOMAL CHRONIC GRANULOMATOUS DISEASE PROTEIN).
+ 12.238 690 pos. 226 - 285 sp|P14598|NCF1_HUMAN NEUTROPHIL CYTOSOL FACTOR 1 (NCF-1) (NCF-47K) (47 KD AUTOSOMAL CHRONIC GRANULOMATOUS DISEASE PROTEIN).
+ 16.315 939 pos. 2 - 61 sp|P16333|NCK_HUMAN CYTOPLASMIC PROTEIN NCK.
+ 15.284 876 pos. 115 - 165 sp|P16333|NCK_HUMAN CYTOPLASMIC PROTEIN NCK.
+ 17.036 983 pos. 190 - 252 sp|P16333|NCK_HUMAN CYTOPLASMIC PROTEIN NCK.
+ 13.384 760 pos. 3 - 79 sp|P23727|P85A_BOVIN PHOSPHATIDYLINOSITOL 3-KINASE REGULATORY ALPHA SUBUNIT (PI3-KINASE P85-ALPHA SUBUNIT) (PTDINS-3-KINASE P85-ALPHA) (PI3K).
+ 15.464 887 pos. 769 - 829 sp|P16885|PIP5_HUMAN 1-PHOSPHATIDYLINOSITOL-4,5-BISPHOSPHATE PHOSPHODIESTERASE GAMMA 2 (EC 3.1.4.11) (PLC-GAMMA-2) (PHOSPHOLIPASE C-GAMMA-2) (PLC-IV).
+ 15.382 882 pos. 24 - 86 sp|P40996|SCD2_SCHPO SCD2 PROTEIN.
+ 11.992 675 pos. 123 - 185 sp|P40996|SCD2_SCHPO SCD2 PROTEIN.
+ 16.889 974 pos. 1 - 58 sp|P29355|SEM5_CAEEL SEX MUSCLE ABNORMAL PROTEIN 5.
+ 18.837 1093 pos. 154 - 213 sp|P29355|SEM5_CAEEL SEX MUSCLE ABNORMAL PROTEIN 5.
+ 20.295 1182 pos. 80 - 141 sp|P00523|SRC_CHICK PROTO-ONCOGENE TYROSINE-PROTEIN KINASE SRC (EC 2.7.1.112) (P60-SRC).
+ 10.764 600 pos. 1 - 60 sp|P26674|STE6_SCHPO STE6 PROTEIN.
+ 11.796 663 pos. 617 - 660 sp|P15498|VAV_HUMAN VAV ONCOGENE.
+ 17.560 1015 pos. 783 - 843 sp|P15498|VAV_HUMAN VAV ONCOGENE.
+ 18.542 1075 pos. 314 - 373 sp|P43603|YFJ4_YEAST HYPOTHETICAL 40.4 KD PROTEIN IN PES4-HIS2 INTERGENIC REGION.
+ 13.089 742 pos. 493 - 555 sp|P38822|YHR4_YEAST HYPOTHETICAL 71.2 KD PROTEIN IN CDC12-ORC6 INTERGENIC REGION.
+ 13.695 779 pos. 577 - 633 sp|P38822|YHR4_YEAST HYPOTHETICAL 71.2 KD PROTEIN IN CDC12-ORC6 INTERGENIC REGION.
+ 9.323 512 pos. 504 - 572 sp|Q07157|ZO1_HUMAN TIGHT JUNCTION PROTEIN ZO-1.
+#----------------------------------------------------------------------#
+# pftools test 2: ./pfsearch -bx ecp.prf CVPBR322 | ./psa2msa -du
+#----------------------------------------------------------------------#
+>CVPBR322_1 63.920 271 pos. 1 - 41 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+TTCTCATGTTTGACAGCTTATCATC----GATAAGCTTTAATGCG
+>CVPBR322_2 45.534 240 pos. 25 - 65 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+CGATAAGCTTTAATGCGGTAGTTTA----TCACAGTTAAATTGCT
+>CVPBR322_3 55.617 257 pos. 1589 - 1629 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+CAACATGAATGGTCTTCGGTTTCCG----TGTTTCGTAAAGTCTG
+>CVPBR322_4 46.720 242 pos. 2274 - 2314 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+CAGATTGTACTGAGAGTGCACCATA----TGCGGTGTGAAATACC
+>CVPBR322_5 48.500 245 pos. 2296 - 2340 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+ATATGCGGTGTGAAATACCGCACAGATGCGTAAGGAGAAAATACC
+>CVPBR322_6 64.513 272 pos. 2931 - 2972 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+ACAGAGTTCTTGAAGTGGTGGCCTA---ACTACGGCTACACTAGA
+>CVPBR322_7 50.872 249 pos. 3207 - 3246 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+AAAAGGATCTTCACCTAGATCCTTT-----TAAATTAAAAATGAA
+>CVPBR322_8 45.534 240 pos. 3233 - 3274 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+AAATTAAAAATGAAGTTTTAAATCA---ATCTAAAGTATATATGA
+>CVPBR322_9 53.244 253 pos. 3240 - 3284 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+AAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGG
+>CVPBR322_10 52.058 251 pos. 3350 - 3391 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+CATAGTTGCCTGACTCCCCGTCGTG---TAGATAACTACGATACG
+>CVPBR322_11 53.837 254 pos. 3788 - 3828 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+ACTGCATAATTCTCTTACTGTCATG----CCATCCGTAAGATGCT
+>CVPBR322_12 46.127 241 pos. 3796 - 3836 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+ATTCTCTTACTGTCATGCCATCCGT----AAGATGCTTTTCTGTG
+>CVPBR322_13 56.210 258 pos. 4133 - 4173 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+ACGGAAATGTTGAATACTCATACTC----TTCCTTTTTCAATATT
+>CVPBR322_14 53.244 253 pos. 4166 - 4207 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+TCAATATTATTGAAGCATTTATCAG---GGTTATTGTCTCATGAG
+>CVPBR322_15 52.058 251 pos. 4187 - 4227 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+TCAGGGTTATTGTCTCATGAGCGGA----TACATATTTGAATGTA
+>CVPBR322_16 56.803 259 pos. 4273 - 4312 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+AAGTGCCACCTGACGTCTAAGAAAC-----CATTATTATCATGAC
+>CVPBR322_17 47.906 244 pos. 4291 - 4331 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+AAGAAACCATTATTATCATGACATT----AACCTATAAAAATAGG
+>CVPBR322_18 47.906 244 pos. 4299 - 4342 J01749|CVPBR322 Cloning vector pBR322, complete genome.
+ATTATTATCATGACATTAACCTATA-AAAATAGGCGTATCACGAG
+>CVPBR322_19 50.279 248 pos. 4348 - 4308 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+AAGGGCCTCGTGATACGCCTATTTT----TATAGGTTAATGTCAT
+>CVPBR322_20 47.906 244 pos. 4336 - 4296 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+ATACGCCTATTTTTATAGGTTAATG----TCATGATAATAATGGT
+>CVPBR322_21 50.279 248 pos. 4323 - 4283 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+TATAGGTTAATGTCATGATAATAAT----GGTTTCTTAGACGTCA
+>CVPBR322_22 52.651 252 pos. 4232 - 4192 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+CTAAATACATTCAAATATGTATCCG----CTCATGAGACAATAAC
+>CVPBR322_23 50.872 249 pos. 4178 - 4135 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+TCAATAATATTGAAAAAGGAAGAGT-ATGAGTATTCAACATTTCC
+>CVPBR322_24 46.127 241 pos. 3954 - 3913 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+TGAGCACTTTTAAAGTTCTGCTATG---TGGCGCGGTATTATCCC
+>CVPBR322_25 46.720 242 pos. 3861 - 3821 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+ATGACTTGGTTGAGTACTCACCAGT----CACAGAAAAGCATCTT
+>CVPBR322_26 45.534 240 pos. 3569 - 3529 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+ACTACTTACTCTAGCTTCCCGGCAA----CAATTAATAGACTGGA
+>CVPBR322_27 47.313 243 pos. 3464 - 3420 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+TGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGC
+>CVPBR322_28 54.431 255 pos. 3301 - 3261 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+CATTGGTAACTGTCAGACCAAGTTT----ACTCATATATACTTTA
+>CVPBR322_29 51.465 250 pos. 3273 - 3232 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+CATATATACTTTAGATTGATTTAAA---ACTTCATTTTTAATTTA
+>CVPBR322_30 45.534 240 pos. 3267 - 3225 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+TACTTTAGATTGATTTAAAACTTCA--TTTTTAATTTAAAAGGAT
+>CVPBR322_31 46.127 241 pos. 3250 - 3210 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+AAACTTCATTTTTAATTTAAAAGGA----TCTAGGTGAAGATCCT
+>CVPBR322_32 53.244 253 pos. 3216 - 3173 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+AGATCCTTTTTGATAATCTCATGAC-CAAAATCCCTTAACGTGAG
+>CVPBR322_33 60.362 265 pos. 3131 - 3091 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+AGGATCTTCTTGAGATCCTTTTTTT----CTGCGCGTAATCTGCT
+>CVPBR322_34 47.313 243 pos. 2318 - 2274 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+GTGCGGTATTTCACACCGCATATGGTGCACTCTCAGTACAATCTG
+>CVPBR322_35 58.582 262 pos. 85 - 41 J01749|CVPBR322(-) Cloning vector pBR322, complete genome.
+ACACGGTGCCTGACTGCGTTAGCAATTTAACTGTGATAAACTACC
+#----------------------------------------------------------------------#
+# pftools test 3: ./pfscan -s GTPA_HUMAN prosite13.prf
+#----------------------------------------------------------------------#
+>C2_DOMAIN_2 10.353 680 pos. 594 - 676 PS50004|C2_DOMAIN_2 C2-domain profile.
+SSLVLHIEEAHKLPVKHFTNPYCNIYLNSVQVAKTHAREGQNPVWSEEFVFDDLPPDINR
+FEITLSNKTKKSKDPDILFMRCQ
+>PH_DOMAIN 16.616 659 pos. 474 - 577 PS50003|PH_DOMAIN PH domain profile.
+NIVKKGYLLKKGKGKRWKNLYFILEGSDAQLIYFESEKRATKPKGLIDLSVCSVYVVHDS
+LFGRPNCFQIVVQHFSEEHYIFYFAGETPEQAEDWMKGLQAFCN
+>SH2_1 21.898 1450 pos. 181 - 272 PS50001|SH2 Src homology 2 (SH2) domain profile.
+WYHGKLDRTIAEERLRQAGKSGSYLIRESDRRPGSFVLSFLSQMNVVNHFRIIAMCGDYY
+IGGRRFSSLSDLIGYYSHVSCLLKGEKLLYPV
+>SH2_2 20.059 1326 pos. 351 - 441 PS50001|SH2 Src homology 2 (SH2) domain profile.
+WFHGKISKQEAYNLLMTVGQVCSFLVRPSDNTPGDYSLYFRTNENIQRFKICPTPNNQFM
+MGGRYYNSIGDIIDHYRKEQIVEGYYLKEPV
+>SH3 11.812 664 pos. 279 - 341 PS50002|SH3 Src homology 3 (SH3) domain profile.
+EDRRRVRAILPYTKVPDTDEISFLKGDMFIVHNELEDGWMWVTNLRTDEQGLIVEDLVEE
+VGR
+>RAS_GTPASE_ACTIV_2 56.401 3900 pos. 748 - 942 PS50018|RAS_GTPASE_ACTIV_2 Ras GTPase-activating proteins profile.
+DRTLLASILLRIFLHEKLESLLLCTLNDREISMEDEATTLFRATTLASTLMEQYMKATAT
+QFVHHALKDSILKIMESKQSCELSPSKLEKNEDVNTNLTHLLNILSELVEKIFMASEILP
+PTLRYIYGCLQKSVQHKWPTNTTMRTRVVSGFVFLRLICPAILNPRMFNIISDSPSPIAA
+RTLILVAKSVQNLAN
+#----------------------------------------------------------------------#
+# pftools test 4: ./pfscan -by -C 2 CVPBR322 ecp.prf
+#----------------------------------------------------------------------#
+ 63.920 271 pos. 1 - 41 NS00001|ECOLI_PROM_RP70 E. coli RNA POL sigma-70 promoter.
+#
+# P 1 *********TTGACA*********************TATAAT*** -1
+# S 1 TTCTCATGTTTGACAGCTTATCATC----GATAAGCTTTAATGCG -4321
+#
+ 55.617 257 pos. 1589 - 1629 NS00001|ECOLI_PROM_RP70 E. coli RNA POL sigma-70 promoter.
+#
+# P 1 *********TTGACA*********************TATAAT*** -1
+# S 1589 CAACATGAATGGTCTTCGGTTTCCG----TGTTTCGTAAAGTCTG -2733
+#
+ 64.513 272 pos. 2931 - 2972 NS00001|ECOLI_PROM_RP70 E. coli RNA POL sigma-70 promoter.
+#
+# P 1 *********TTGACA*********************TATAAT*** -1
+# S 2931 ACAGAGTTCTTGAAGTGGTGGCCTA---ACTACGGCTACACTAGA -1390
+#
+ 56.210 258 pos. 4133 - 4173 NS00001|ECOLI_PROM_RP70 E. coli RNA POL sigma-70 promoter.
+#
+# P 1 *********TTGACA*********************TATAAT*** -1
+# S 4133 ACGGAAATGTTGAATACTCATACTC----TTCCTTTTTCAATATT -189
+#
+ 56.803 259 pos. 4273 - 4312 NS00001|ECOLI_PROM_RP70 E. coli RNA POL sigma-70 promoter.
+#
+# P 1 *********TTGACA*********************TATAAT*** -1
+# S 4273 AAGTGCCACCTGACGTCTAAGAAAC-----CATTATTATCATGAC -50
+#
+ 60.362 265 pos. 3131 - 3091 NS00001|ECOLI_PROM_RP70(-) E. coli RNA POL sigma-70 promoter.
+#
+# P 1 *********TTGACA*********************TATAAT*** -1
+# S 3131 AGGATCTTCTTGAGATCCTTTTTTT----CTGCGCGTAATCTGCT -1271
+#
+ 58.582 262 pos. 85 - 41 NS00001|ECOLI_PROM_RP70(-) E. coli RNA POL sigma-70 promoter.
+#
+# P 1 *********TTGACA*********************TATAAT*** -1
+# S 85 ACACGGTGCCTGACTGCGTTAGCAATTTAACTGTGATAAACTACC -4321
+#
+#----------------------------------------------------------------------#
+# pftools test 5: ./gtop -F 50 sh3.gpr | ./pfsearch -far - sh3.seq
+# | sort -nr
+#----------------------------------------------------------------------#
+ 944 sp|P00523|SRC_CHICK PROTO-ONCOGENE TYROSINE-PROTEIN KINASE SRC (EC 2.7.1.112) (P60-SRC).
+ 874 sp|P43603|YFJ4_YEAST HYPOTHETICAL 40.4 KD PROTEIN IN PES4-HIS2 INTERGENIC REGION.
+ 839 sp|P29355|SEM5_CAEEL SEX MUSCLE ABNORMAL PROTEIN 5.
+ 825 sp|P16333|NCK_HUMAN CYTOPLASMIC PROTEIN NCK.
+ 819 sp|P15498|VAV_HUMAN VAV ONCOGENE.
+ 805 sp|P16885|PIP5_HUMAN 1-PHOSPHATIDYLINOSITOL-4,5-BISPHOSPHATE PHOSPHODIESTERASE GAMMA 2 (EC 3.1.4.11) (PLC-GAMMA-2) (PHOSPHOLIPASE C-GAMMA-2) (PLC-IV).
+ 764 sp|P23727|P85A_BOVIN PHOSPHATIDYLINOSITOL 3-KINASE REGULATORY ALPHA SUBUNIT (PI3-KINASE P85-ALPHA SUBUNIT) (PTDINS-3-KINASE P85-ALPHA) (PI3K).
+ 750 sp|P34092|MYSB_DICDI MYOSIN IB HEAVY CHAIN.
+ 744 sp|P14598|NCF1_HUMAN NEUTROPHIL CYTOSOL FACTOR 1 (NCF-1) (NCF-47K) (47 KD AUTOSOMAL CHRONIC GRANULOMATOUS DISEASE PROTEIN).
+ 699 sp|P00519|ABL1_HUMAN PROTO-ONCOGENE TYROSINE-PROTEIN KINASE ABL (EC 2.7.1.112) (P150) (C-ABL).
+ 633 sp|P40996|SCD2_SCHPO SCD2 PROTEIN.
+ 619 sp|P38822|YHR4_YEAST HYPOTHETICAL 71.2 KD PROTEIN IN CDC12-ORC6 INTERGENIC REGION.
+ 555 sp|P04821|CC25_YEAST CELL DIVISION CONTROL PROTEIN 25.
+ 544 sp|P39969|BEB1_YEAST BEB1 PROTEIN.
+ 466 sp|Q07157|ZO1_HUMAN TIGHT JUNCTION PROTEIN ZO-1.
+ 329 sp|P26674|STE6_SCHPO STE6 PROTEIN.
+ 303 sp|P03949|ABL1_CAEEL TYROSINE-PROTEIN KINASE ABL-1 (EC 2.7.1.112) (FRAGMENT).
+ 298 sp|Q02640|CICX_HUMAN DIHYDROPRYRIDINE-SENSITIVE L-TYPE, BRAIN CALCIUM CHANNEL BETA-1-B1 SUBUNIT.
+ 293 sp|Q08289|MSAB_HUMAN LAMBERT-EATON MYASTHENIC SYNDROME ANTIGEN B (MYSB).
+ 279 sp|P20936|GTPA_HUMAN GTPASE-ACTIVATING PROTEIN (GAP) (RAS P21 PROTEIN ACTIVATOR).
+#----------------------------------------------------------------------#
+# pftools test 6: ./htop pfam_sh3.hmm | ./pfsearch -f - sh3.seq
+ | sort -nr
+#----------------------------------------------------------------------#
+ 19.485 100384 pos. 317 - 373 sp|P43603|YFJ4_YEAST HYPOTHETICAL 40.4 KD PROTEIN IN PES4-HIS2 INTERGENIC REGION.
+ 19.303 98748 pos. 157 - 211 sp|P29355|SEM5_CAEEL SEX MUSCLE ABNORMAL PROTEIN 5.
+ 19.183 97669 pos. 83 - 139 sp|P00523|SRC_CHICK PROTO-ONCOGENE TYROSINE-PROTEIN KINASE SRC (EC 2.7.1.112) (P60-SRC).
+ 18.790 94141 pos. 1056 - 1111 sp|P34092|MYSB_DICDI MYOSIN IB HEAVY CHAIN.
+ 18.265 89412 pos. 786 - 841 sp|P15498|VAV_HUMAN VAV ONCOGENE.
+ 17.931 86411 pos. 1 - 56 sp|P29355|SEM5_CAEEL SEX MUSCLE ABNORMAL PROTEIN 5.
+ 17.706 84386 pos. 193 - 250 sp|P16333|NCK_HUMAN CYTOPLASMIC PROTEIN NCK.
+ 17.657 83950 pos. 772 - 827 sp|P16885|PIP5_HUMAN 1-PHOSPHATIDYLINOSITOL-4,5-BISPHOSPHATE PHOSPHODIESTERASE GAMMA 2 (EC 3.1.4.11) (PLC-GAMMA-2) (PHOSPHOLIPASE C-GAMMA-2) (PLC-IV).
+ 17.544 82931 pos. 5 - 59 sp|P16333|NCK_HUMAN CYTOPLASMIC PROTEIN NCK.
+ 16.584 74299 pos. 27 - 84 sp|P40996|SCD2_SCHPO SCD2 PROTEIN.
+ 16.486 73418 pos. 159 - 213 sp|P14598|NCF1_HUMAN NEUTROPHIL CYTOSOL FACTOR 1 (NCF-1) (NCF-47K) (47 KD AUTOSOMAL CHRONIC GRANULOMATOUS DISEASE PROTEIN).
+ 16.430 72911 pos. 64 - 119 sp|P00519|ABL1_HUMAN PROTO-ONCOGENE TYROSINE-PROTEIN KINASE ABL (EC 2.7.1.112) (P150) (C-ABL).
+ 15.759 66878 pos. 46 - 105 sp|P39969|BEB1_YEAST BEB1 PROTEIN.
+ 15.511 64650 pos. 229 - 283 sp|P14598|NCF1_HUMAN NEUTROPHIL CYTOSOL FACTOR 1 (NCF-1) (NCF-47K) (47 KD AUTOSOMAL CHRONIC GRANULOMATOUS DISEASE PROTEIN).
+ 15.503 64573 pos. 109 - 163 sp|P16333|NCK_HUMAN CYTOPLASMIC PROTEIN NCK.
+ 14.963 59722 pos. 496 - 553 sp|P38822|YHR4_YEAST HYPOTHETICAL 71.2 KD PROTEIN IN CDC12-ORC6 INTERGENIC REGION.
+ 14.515 55695 pos. 126 - 183 sp|P40996|SCD2_SCHPO SCD2 PROTEIN.
+ 13.945 50565 pos. 3 - 58 sp|P26674|STE6_SCHPO STE6 PROTEIN.
+ 13.506 46616 pos. 580 - 633 sp|P38822|YHR4_YEAST HYPOTHETICAL 71.2 KD PROTEIN IN CDC12-ORC6 INTERGENIC REGION.
+ 13.399 45653 pos. 282 - 339 sp|P20936|GTPA_HUMAN GTPASE-ACTIVATING PROTEIN (GAP) (RAS P21 PROTEIN ACTIVATOR).
+ 11.564 29159 pos. 6 - 77 sp|P23727|P85A_BOVIN PHOSPHATIDYLINOSITOL 3-KINASE REGULATORY ALPHA SUBUNIT (PI3-KINASE P85-ALPHA SUBUNIT) (PTDINS-3-KINASE P85-ALPHA) (PI3K).
+ 11.218 26047 pos. 61 - 126 sp|P04821|CC25_YEAST CELL DIVISION CONTROL PROTEIN 25.
+ 10.425 18915 pos. 601 - 658 sp|P15498|VAV_HUMAN VAV ONCOGENE.
+#----------------------------------------------------------------------#
+# pftools test 7: ./pfw -N 1000 sh3.msf |
+# ./pfmake -b -H 0.6 - blosum45.cmp
+#----------------------------------------------------------------------#
+ID SEQUENCE_PROFILE; MATRIX.
+AC ZZ99999;
+DT Tue Dec 9 15:13:02 2003
+DE Generated from MSF file: 'stdin'.
+MA /GENERAL_SPEC: ALPHABET='ABCDEFGHIKLMNPQRSTVWYZ'; LENGTH=62;
+MA /DISJOINT: DEFINITION=PROTECT; N1=6; N2=57;
+MA /NORMALIZATION: MODE=1; FUNCTION=LINEAR; R1=0.0000000; R2=0.0100000; TEXT='No_units';
+MA /CUT_OFF: LEVEL=0; SCORE=850; N_SCORE=8.5; MODE=1; TEXT='!';
+MA /CUT_OFF: LEVEL=-1; SCORE=650; N_SCORE=6.5; MODE=1; TEXT='?';
+MA /DEFAULT: M0=-8; D=-20; I=-20; B1=-60; E1=-60; MI=-105; MD=-105; IM=-105; DM=-105;
+MA /I: B1=0; BI=-105; BD=-105;
+MA /M: SY='P'; M=-1,-9,-25,-10,-4,-19,-4,-12,-14,-7,-16,-8,-6,3,-4,-9,0,-4,-13,-24,-14,-6;
+MA /M: SY='D'; M=-7,2,-26,7,5,-23,-14,-9,-14,-6,-17,-11,-3,4,-2,-12,-2,-6,-12,-29,-15,0;
+MA /M: M=-4,-11,-24,-11,-6,-12,-11,-13,-12,-6,-10,-8,-8,-7,-6,-1,-3,-4,-8,-23,-12,-7;
+MA /M: M=-12,-13,-26,-15,-8,0,-11,-6,-14,-5,-10,-5,-8,-9,-8,0,-10,-9,-13,-16,-2,-9;
+MA /M: SY='T'; M=-3,-13,-20,-17,-9,-4,-22,-14,-3,-5,-4,0,-11,-13,-6,-5,-4,5,1,-19,-2,-8;
+MA /M: SY='V'; M=0,-20,-18,-24,-23,5,-19,-16,11,-17,2,4,-16,-24,-20,-18,-8,-3,16,-14,6,-22;
+MA /M: SY='R'; M=-10,-14,-24,-15,-7,-15,-25,-13,-4,9,-9,-1,-10,-19,-1,19,-9,-5,4,-24,-9,-6;
+MA /M: SY='A'; M=38,-11,-10,-20,-12,-16,-6,-21,-6,-11,-8,-8,-11,-12,-12,-19,9,7,5,-22,-18,-12;
+MA /M: SY='L'; M=-8,-16,-24,-20,-12,-5,-26,-10,12,-16,17,9,-11,-22,-8,-12,-17,-9,3,-23,-4,-12;
+MA /M: SY='Y'; M=-13,-18,-24,-22,-19,27,-26,4,-1,-13,1,-1,-15,-27,-16,-12,-14,-8,-3,6,40,-19;
+MA /M: SY='D'; M=-6,26,-27,37,14,-33,-6,-6,-31,-3,-27,-24,11,-1,-1,-11,4,-7,-25,-35,-21,6;
+MA /M: SY='Y'; M=-20,-23,-27,-26,-23,45,-30,8,0,-16,3,0,-20,-30,-19,-13,-20,-10,-7,24,65,-23;
+MA /M: SY='E'; M=-1,1,-15,-2,5,-15,-16,-10,-13,-2,-14,-9,2,-14,-1,-6,4,4,-7,-29,-14,2;
+MA /I: I=-4; MI=0; MD=-23; IM=0; DM=-23;
+MA /M: SY='A'; M=21,-6,-18,-9,-3,-24,-6,-15,-16,1,-18,-12,-6,-4,-3,-8,6,-2,-8,-24,-18,-4;
+MA /M: SY='E'; M=-3,-2,-23,0,13,-25,-11,-7,-22,7,-22,-13,0,-5,10,8,7,0,-17,-28,-17,11;
+MA /M: SY='D'; M=-8,6,-25,8,7,-25,-6,0,-26,4,-24,-14,8,-9,5,7,6,-2,-21,-30,-16,5;
+MA /M: SY='E'; M=-4,5,-26,11,14,-28,-4,-10,-27,-4,-25,-20,1,9,-1,-9,6,-2,-23,-31,-22,5;
+MA /M: SY='D'; M=-12,25,-26,34,13,-30,-7,-2,-30,-2,-25,-21,12,-11,4,-8,5,-2,-25,-32,-14,8;
+MA /M: SY='E'; M=-11,11,-28,20,40,-25,-14,-4,-28,3,-17,-19,1,-5,10,-5,-1,-8,-26,-29,-17,25;
+MA /M: SY='L'; M=-8,-30,-20,-32,-23,6,-31,-23,26,-28,38,20,-28,-28,-21,-21,-25,-8,20,-22,-2,-23;
+MA /M: SY='S'; M=2,4,-19,6,5,-24,-7,-9,-23,-3,-27,-19,7,1,0,-5,19,8,-16,-35,-20,1;
+MA /M: SY='F'; M=-10,-29,-20,-35,-26,34,-30,-22,16,-27,20,11,-23,-27,-28,-21,-20,-8,13,-9,10,-26;
+MA /I: I=-4; MI=0; MD=-21; IM=0; DM=-21;
+MA /M: SY='K'; M=-6,2,-18,0,6,-21,-17,-5,-19,9,-16,-10,4,-14,3,4,-1,-2,-16,-28,-12,4;
+MA /M: SY='K'; M=-3,-7,-28,-5,7,-26,-18,-11,-22,17,-21,-11,-7,10,4,11,-6,-7,-19,-23,-16,4;
+MA /M: SY='G'; M=-1,-7,-30,-8,-17,-30,60,-18,-38,-13,-30,-19,2,-19,-17,-15,0,-18,-29,-21,-28,-17;
+MA /M: SY='D'; M=-13,34,-28,48,29,-35,-12,-1,-34,2,-26,-25,14,-7,5,-7,1,-7,-28,-36,-20,17;
+MA /M: SY='V'; M=-4,-18,-20,-24,-17,1,-25,-20,7,-7,1,5,-15,-20,-15,-6,-9,0,11,-19,-3,-16;
+MA /M: SY='I'; M=-10,-30,-22,-35,-27,14,-34,-25,31,-28,25,17,-24,-26,-24,-24,-21,-8,23,-17,3,-27;
+MA /M: SY='H'; M=-12,-6,-27,-7,1,-13,-23,6,-11,-1,-12,-5,-3,-15,1,1,-5,-3,-12,-16,1,-1;
+MA /M: SY='V'; M=-2,-26,-17,-30,-26,0,-30,-26,29,-23,17,12,-23,-26,-24,-22,-14,-4,33,-26,-7,-26;
+MA /M: SY='I'; M=-8,-22,-22,-26,-21,-3,-30,-17,22,-17,15,13,-17,-23,-16,-16,-15,-5,19,-24,-3,-20;
+MA /M: SY='E'; M=-4,13,-24,12,14,-26,-5,0,-26,6,-24,-17,14,-11,5,1,4,-5,-24,-30,-17,9;
+MA /M: SY='K'; M=-8,1,-27,2,5,-24,-12,-8,-26,24,-23,-12,1,-13,3,18,-5,-6,-17,-22,-10,3;
+MA /I: I=-3; MI=0; MD=-13; IM=0; DM=-13;
+MA /M: SY='N'; M=-6,2,-16,1,1,-10,-13,-2,-15,-6,-11,-10,3,-16,-5,-8,1,0,-14,-24,-5,-2; D=-3;
+MA /I: I=-3; DM=-13;
+MA /M: SY='E'; M=-8,13,-25,15,16,-25,-6,-3,-24,-1,-20,-16,12,-8,5,-5,3,-5,-24,-32,-18,10;
+MA /M: SY='D'; M=-7,9,-27,11,1,-28,3,-2,-26,-3,-27,-17,10,-3,1,-7,4,-7,-24,-31,-19,0;
+MA /M: SY='G'; M=-3,7,-27,9,0,-29,29,-7,-34,-10,-28,-20,9,-15,-7,-13,5,-11,-27,-28,-23,-3;
+MA /M: SY='W'; M=-20,-40,-50,-40,-30,10,-20,-30,-20,-20,-20,-20,-40,-30,-20,-20,-40,-30,-30,150,30,-20;
+MA /M: SY='W'; M=-15,-30,-25,-32,-25,7,-23,-20,-10,-19,-5,-7,-30,-28,-18,-18,-27,-14,-16,71,21,-19;
+MA /M: SY='E'; M=-9,-5,-26,-5,3,-10,-21,-11,-11,3,-11,-8,-6,-16,-3,2,-9,-7,-9,-13,-4,0;
+MA /M: SY='G'; M=6,-16,-13,-20,-22,-20,24,-23,-13,-21,-14,-9,-10,-21,-20,-22,-3,-12,-5,-24,-22,-22;
+MA /M: SY='R'; M=-14,-3,-21,-3,6,-20,-20,0,-21,11,-16,-9,1,-16,10,24,-5,-6,-18,-24,-8,6;
+MA /M: SY='N'; M=-9,-2,-12,-10,-12,-8,-19,-8,-2,-10,-4,-2,5,-18,-10,-10,-7,-3,-6,-27,-6,-12;
+MA /M: M=-8,0,-24,0,-5,-16,-12,-13,-7,-7,-9,-7,0,-13,-9,-11,-4,-4,-6,-27,-11,-8;
+MA /I: I=-4; MD=-22;
+MA /M: SY='K'; M=-2,-1,-12,-2,-1,-12,-4,-6,-12,6,-11,-5,0,-7,0,6,2,3,-7,-14,-7,-1; D=-4;
+MA /I: I=-4; MI=0; MD=-22; IM=0; DM=-22;
+MA /M: SY='T'; M=1,-1,-11,-4,-2,-10,-3,-10,-10,-4,-7,-7,1,-8,-5,-5,6,12,-6,-17,-9,-3; D=-4;
+MA /I: I=-4; DM=-22;
+MA /M: SY='G'; M=-4,3,-13,0,-10,-25,22,-13,-27,-12,-24,-17,9,-21,-13,-12,0,-11,-20,-29,-24,-12;
+MA /M: SY='E'; M=-9,1,-27,2,18,-24,-12,-5,-19,7,-16,-9,1,-11,10,5,-3,-7,-19,-26,-15,13;
+MA /M: SY='R'; M=-10,-10,-25,-11,1,-18,-23,-10,-9,6,-12,-5,-7,-10,5,14,-4,1,-5,-24,-11,1;
+MA /M: SY='G'; M=0,-10,-30,-10,-18,-30,66,-19,-39,-19,-30,-19,0,-20,-17,-19,0,-20,-30,-20,-29,-18;
+MA /M: SY='W'; M=-16,-29,-31,-31,-25,23,-27,-19,3,-24,10,0,-27,-28,-22,-20,-28,-16,-5,40,23,-22;
+MA /M: SY='F'; M=-11,-29,-21,-37,-29,32,-33,-24,23,-27,12,8,-22,-26,-29,-23,-17,-8,20,-8,12,-29;
+MA /M: SY='P'; M=-10,-20,-39,-11,-1,-29,-20,-20,-18,-10,-28,-19,-20,84,-11,-20,-10,-10,-26,-30,-29,-11;
+MA /M: SY='S'; M=6,-4,-7,-7,-4,-18,-8,-14,-14,-9,-17,-12,1,-15,-4,-10,16,11,-6,-33,-17,-4;
+MA /M: SY='N'; M=-5,21,-18,10,-1,-19,-6,-1,-17,-1,-24,-15,31,-16,-2,-3,14,7,-18,-37,-17,-1;
+MA /M: SY='Y'; M=-19,-17,-21,-21,-19,28,-27,11,-4,-13,0,-1,-14,-29,-14,-8,-17,-10,-10,11,49,-19;
+MA /M: SY='V'; M=-6,-26,-14,-30,-26,1,-27,-26,22,-21,11,9,-23,-26,-24,-17,-13,-4,27,-25,-6,-26;
+MA /M: SY='E'; M=-5,2,-21,4,22,-27,-18,-4,-25,10,-19,-13,-1,-9,16,9,1,-2,-21,-26,-15,18;
+MA /M: SY='P'; M=-10,-9,-30,-4,8,-17,-22,-10,-12,-1,-11,-7,-11,12,-2,-6,-9,-8,-15,-23,-10,1;
+MA /M: SY='I'; M=-7,-12,-22,-14,-10,-8,-22,-11,4,-9,-2,2,-9,-19,-5,-8,-3,-1,4,-22,-1,-9;
+MA /M: SY='N'; M=-7,5,-24,6,-2,-22,6,-8,-22,-5,-19,-14,7,-17,-4,-5,2,-5,-17,-27,-15,-4;
+MA /M: SY='S'; M=0,-1,-13,-3,-4,-19,-13,-4,-15,-4,-15,-10,2,-16,-2,-2,7,2,-9,-30,-13,-4;
+MA /I: E1=0; IE=-105; DE=-105;
+CC /GENERATED_BY="./pfmake -b -H 0.6 - blosum45.cmp";
+//
+#----------------------------------------------------------------------#
+# pftools test 8:./ptoh -L 1.15 ecp.prf
+#----------------------------------------------------------------------#
+# HMM v1.7
+45 # M -- length of model
+4 # alphabet length
+1 # alphabet type
+ACGT # alphabet
+no # Optional reference line annotation?
+no # Optional consensus structure annotation?
+###MATCH_STATE 0 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.000000 # Symbol A probability
+0.000000 # Symbol C probability
+0.000000 # Symbol G probability
+0.000000 # Symbol T probability
+###DELETE_STATE 0 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 0 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 1 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.492674 # Symbol A probability
+0.161056 # Symbol C probability
+0.161056 # Symbol G probability
+0.185214 # Symbol T probability
+###DELETE_STATE 1 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 1 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 2 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.347990 # Symbol A probability
+0.198964 # Symbol C probability
+0.150446 # Symbol G probability
+0.302600 # Symbol T probability
+###DELETE_STATE 2 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 2 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 3 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.347990 # Symbol A probability
+0.150446 # Symbol C probability
+0.198964 # Symbol G probability
+0.302600 # Symbol T probability
+###DELETE_STATE 3 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 3 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 4 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.302600 # Symbol A probability
+0.198964 # Symbol C probability
+0.150446 # Symbol G probability
+0.347990 # Symbol T probability
+###DELETE_STATE 4 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 4 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 5 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.357012 # Symbol A probability
+0.204123 # Symbol C probability
+0.204123 # Symbol G probability
+0.234741 # Symbol T probability
+###DELETE_STATE 5 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 5 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 6 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.312748 # Symbol A probability
+0.178815 # Symbol C probability
+0.236482 # Symbol G probability
+0.271955 # Symbol T probability
+###DELETE_STATE 6 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 6 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 7 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.176792 # Symbol A probability
+0.233808 # Symbol C probability
+0.233808 # Symbol G probability
+0.355592 # Symbol T probability
+###DELETE_STATE 7 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 7 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 8 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.226936 # Symbol A probability
+0.149214 # Symbol C probability
+0.226936 # Symbol G probability
+0.396913 # Symbol T probability
+###DELETE_STATE 8 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 8 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 9 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.233808 # Symbol A probability
+0.355592 # Symbol C probability
+0.233808 # Symbol G probability
+0.176792 # Symbol T probability
+###DELETE_STATE 9 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 9 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 10 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.070255 # Symbol A probability
+0.080794 # Symbol C probability
+0.092913 # Symbol G probability
+0.756038 # Symbol T probability
+###DELETE_STATE 10 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 10 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 11 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.072668 # Symbol A probability
+0.072668 # Symbol C probability
+0.072668 # Symbol G probability
+0.781997 # Symbol T probability
+###DELETE_STATE 11 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 11 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 12 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.069414 # Symbol A probability
+0.091800 # Symbol C probability
+0.746985 # Symbol G probability
+0.091800 # Symbol T probability
+###DELETE_STATE 12 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 12 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 13 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.615515 # Symbol A probability
+0.132301 # Symbol C probability
+0.100038 # Symbol G probability
+0.152146 # Symbol T probability
+###DELETE_STATE 13 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 13 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 14 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.211563 # Symbol A probability
+0.489359 # Symbol C probability
+0.139106 # Symbol G probability
+0.159972 # Symbol T probability
+###DELETE_STATE 14 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 14 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 15 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.389953 # Symbol A probability
+0.146598 # Symbol C probability
+0.168588 # Symbol G probability
+0.294861 # Symbol T probability
+###DELETE_STATE 15 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 15 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 16 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.221968 # Symbol A probability
+0.221968 # Symbol C probability
+0.167840 # Symbol G probability
+0.388224 # Symbol T probability
+###DELETE_STATE 16 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 16 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 17 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 17 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 17 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 18 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 18 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 18 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 19 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 19 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 19 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 20 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 20 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 20 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 21 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 21 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 21 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 22 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 22 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 22 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 23 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 23 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 23 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 24 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 24 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 24 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 25 ( ) ( )
+0.070544 # t_m1
+0.929456 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 25 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 25 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 26 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 26 ( ) ( )
+0.075898 # t_m1
+0.924101 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 26 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 27 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 27 ( ) ( )
+0.082132 # t_m1
+0.917868 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 27 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 28 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 28 ( ) ( )
+0.179979 # t_m1
+0.820021 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 28 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 29 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 29 ( ) ( )
+0.671398 # t_m1
+0.328602 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 29 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 30 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 30 ( ) ( )
+0.667924 # t_m1
+0.332077 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 30 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 31 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###DELETE_STATE 31 ( ) ( )
+0.999998 # t_m1
+0.000001 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 31 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 32 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.191600 # Symbol A probability
+0.220340 # Symbol C probability
+0.144877 # Symbol G probability
+0.443183 # Symbol T probability
+###DELETE_STATE 32 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 32 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 33 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.248783 # Symbol A probability
+0.216333 # Symbol C probability
+0.248783 # Symbol G probability
+0.286101 # Symbol T probability
+###DELETE_STATE 33 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 33 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 34 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.176792 # Symbol A probability
+0.233808 # Symbol C probability
+0.233808 # Symbol G probability
+0.355592 # Symbol T probability
+###DELETE_STATE 34 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 34 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 35 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.204123 # Symbol A probability
+0.204123 # Symbol C probability
+0.357012 # Symbol G probability
+0.234741 # Symbol T probability
+###DELETE_STATE 35 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 35 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 36 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.200265 # Symbol A probability
+0.230305 # Symbol C probability
+0.304579 # Symbol G probability
+0.264851 # Symbol T probability
+###DELETE_STATE 36 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 36 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 37 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.069414 # Symbol A probability
+0.091800 # Symbol C probability
+0.091800 # Symbol G probability
+0.746985 # Symbol T probability
+###DELETE_STATE 37 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 37 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 38 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.838598 # Symbol A probability
+0.051239 # Symbol C probability
+0.051239 # Symbol G probability
+0.058924 # Symbol T probability
+###DELETE_STATE 38 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 38 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 39 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.234671 # Symbol A probability
+0.177445 # Symbol C probability
+0.177445 # Symbol G probability
+0.410440 # Symbol T probability
+###DELETE_STATE 39 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 39 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 40 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.539727 # Symbol A probability
+0.153424 # Symbol C probability
+0.153424 # Symbol G probability
+0.153424 # Symbol T probability
+###DELETE_STATE 40 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 40 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 41 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.481052 # Symbol A probability
+0.180845 # Symbol C probability
+0.157257 # Symbol G probability
+0.180845 # Symbol T probability
+###DELETE_STATE 41 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 41 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 42 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.051239 # Symbol A probability
+0.058924 # Symbol C probability
+0.051239 # Symbol G probability
+0.838598 # Symbol T probability
+###DELETE_STATE 42 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 42 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 43 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.308994 # Symbol A probability
+0.153625 # Symbol C probability
+0.268691 # Symbol G probability
+0.268691 # Symbol T probability
+###DELETE_STATE 43 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 43 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 44 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.207431 # Symbol A probability
+0.315477 # Symbol C probability
+0.238546 # Symbol G probability
+0.238546 # Symbol T probability
+###DELETE_STATE 44 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 44 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+###MATCH_STATE 45 ( ) ( )
+1.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.266231 # Symbol A probability
+0.266231 # Symbol C probability
+0.266231 # Symbol G probability
+0.201309 # Symbol T probability
+###DELETE_STATE 45 ( ) ( )
+0.000000 # t_m1
+1.000000 # t_d1
+0.000000 # t_i0
+###INSERT_STATE 45 ( ) ( )
+0.000000 # t_m1
+0.000000 # t_d1
+0.000000 # t_i0
+0.250000 # Symbol A probability
+0.250000 # Symbol C probability
+0.250000 # Symbol G probability
+0.250000 # Symbol T probability
+#----------------------------------------------------------------------#
+# pftools test 9: ./pfscale -N 14147368 -P 0.0001 -Q 0.000001 score.lis
+# | sed -n 1,25p
+#----------------------------------------------------------------------#
+# -LogP = 2.0437 + 0.00741886 * raw-score
+#
+# rank raw-score -logFreq -logProb
+#
+ 1 621.00 7.4517 6.6508
+ 2 614.00 6.9746 6.5989
+ 3 606.00 6.7527 6.5395
+ 4 581.00 6.6066 6.3541
+ 5 576.00 6.4975 6.3170
+ 6 572.00 6.4103 6.2873
+ 7 569.00 6.3378 6.2650
+ 8 569.00 6.2756 6.2650
+ 9 561.00 6.2213 6.2057
+ 10 557.00 6.1730 6.1760
+ 11 554.00 6.1295 6.1538
+ 12 551.00 6.0900 6.1315
+ 13 548.00 6.0538 6.1092
+ 14 539.00 6.0203 6.0425
+ 15 532.00 5.9893 5.9905
+ 16 527.00 5.9603 5.9534
+ 17 526.00 5.9332 5.9460
+ 18 525.00 5.9076 5.9386
+ 19 523.00 5.8835 5.9238
+ 20 523.00 5.8606 5.9238
+ 21 519.00 5.8389 5.8941
+#----------------------------------------------------------------------#
+# pftools test 10: ./pfsearch -y coils.prf MYSA_HUMAN
+#----------------------------------------------------------------------#
+ 82.697 2354 pos. 848 - 1922 P13533|MYSA_HUMAN MYOSIN HEAVY CHAIN, CARDIAC MUSCLE ALPHA ISOFORM.
+#
+# P 5 efgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefga -7
+# S 848 EKEMATMKEEFGRIKETLEKSEARRKELEEKMVSLLQEKNDLQLQVQAEQDNLNDAEERC -1033
+#
+# P 2 bcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcde -3
+# S 908 DQLIKNKIQLEAKVKEMNERLEDEEEMNAELTAKKRKLEDECSELKKDIDDLELTLAKVE -973
+#
+# P 6 fgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgab -6
+# S 968 KEKHATENKVKNLTEEMAGLDEIIAKLTKEKKALQEAHQQALDDLQAEEDKVNTLSKSKV -913
+#
+# P 3 cdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdef -2
+# S 1028 KLEQQVDDLEGSLEQEKKVRMDLERAKRKLEGDLKLTQESIMDLENDKLQLEEKLKKKEF -853
+#
+# P 7 gabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabc -5
+# S 1088 DINQQNSKIEDEQVLALQLQKKLKENQARIEELEEELEAERTARAKVEKLRSDLSRELEE -793
+#
+# P 4 defgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefga-bcdefgabcdef -2
+# S 1148 ISERLEEAGGATSVQIEMNKKREAEFQKMRRDLEEATLQHEATAAALrKKHADSVAELGE -733
+#
+# P 7 gabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabc -5
+# S 1208 QIDNLQRVKQKLEKEKSEFKLELDDVTSNMEQIIKAKANLEKVSRTLEDQANEYRVKLEE -673
+#
+# P 4 defgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg -1
+# S 1268 AQRSLNDFTTQRAKLQTENGELSRQLEEKEALISQLTRGKLSYTQQMEDLKRQLEEEGKA -613
+#
+# P 1 abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgab-cdefgabc -5
+# S 1328 KNALAHALQSARHDCDLLREQYEEETEAKAELQRVLSKANSEVAQCRTKYEtDAIQRTEE -553
+#
+# P 4 defgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg -1
+# S 1388 LEEAKKKLAQRLQDAEEAVEAVNAKCSSLEKTKHRLQNEIEDLMVDVERSNAAAAALDKK -493
+#
+# P 1 abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcd -4
+# S 1448 QRNFDKILAEWKQKYEESQSELESSQKEARSLSTELFKLKNAYEESLEHLETFKRENKNL -433
+#
+# P 5 efgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefga -7
+# S 1508 QEEISDLTEQLGEGGKNVHELEKVRKQLEVEKLELQSALEEAEASLEHEEGKILRAQLEF -373
+#
+# P 2 bcdefgabc-defgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcd -4
+# S 1568 NQIKAEIERkLAEKDEEMEQAKRNHQRVVDSLQTSLDAETRSRNEVLRVKKKMEGDLNEM -313
+#
+# P 5 efgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefga -7
+# S 1628 EIQLSHANRMAAEAQKQVKSLQSLLKDTQIQLDDAVRANDDLKENIAIVERRNNLLQAEL -253
+#
+# P 2 bcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcde -3
+# S 1688 EELRAVVEQTERSRKLADRELIETSERVQLLHSQNTSLINQKKKMDADLSQLQSEVEEAV -193
+#
+# P 6 fgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdef-ga -7
+# S 1748 QECRNAEEKAKKAITHAAMMAEELKKEQDTSAHLERMKKNMEQTIKDLQHRLDEAEQiAL -133
+#
+# P 2 bcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcde -3
+# S 1808 KGGKKQLQKLEARVRELEGELEAEQKRNAESVKGMRKSERRIKELTYQTEEDKKNLLRLQ -73
+#
+# P 6 fgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcd -4
+# S 1868 DLVDKLQLKVKAYKRQAEEAEEQANTNLSKFRKVQHELDEAEERADIAESQVNKL -18
+#
+#----------------------------------------------------------------------#
+# pftools test 11: /bin/rm sh3.fsp
+# ./ptof -r -F -1.2 -I 0.6 -X -1.5 -B -0.5 sh3.prf >sh3.fsp
+# ./2ft < R76849.seq | ./pfsearch -fy -C 5.0 sh3.fsp -
+# /bin/rm sh3.fsp
+#----------------------------------------------------------------------#
+ 10.764 600 pos. 186 - 347 x|gi|851481|gb|R76849|R76849_M yi63d09.r1 Homo sapiens cDNA clone 143921 5' similar to gb:M23379 GTPASE-ACTIVATING PROTEIN (HUMAN);.
+#
+# P 28 Y><D><Y><E>----<A><E><D><P><D><E><L><S><F>-<K><K><G><D><I><I -103
+# S 186 YTPPLLYTHTQkkksVYTPPQRDTHTLODMOEKNIOKSVFFSpLLOKKKRGERDIYMCVF -253
+#
+# P 83 ><Y><I><L><E><K><S><D><D><D><W><W><R><G><R><N><X><R><T><G><Q -43
+# S 246 SHILCVFSHIONMOENILOREKRDMWGDMWGDMCVWGGVLYTQKNIFLOKRENTQRDMOE -193
+#
+# P 143 ><E><G><Y><I><P><S><N><Y><V><E><E><X><D><S -1
+# S 306 NTQKRGAPLLYILCVLOEKRDTPLOSVOREKRERGVWGGAPR -151
+#
diff --git a/test.sh b/test.sh
new file mode 100644
index 0000000..5af3824
--- /dev/null
+++ b/test.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 1: ./pfsearch -f -C 6.0 sh3.prf sh3.seq"
+echo "#----------------------------------------------------------------------#"
+./pfsearch -f -C 6.0 sh3.prf sh3.seq
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 2: ./pfsearch -bx ecp.prf CVPBR322 | ./psa2msa -du"
+echo "#----------------------------------------------------------------------#"
+./pfsearch -bx ecp.prf CVPBR322 | ./psa2msa -du
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 3: ./pfscan -s GTPA_HUMAN prosite13.prf"
+echo "#----------------------------------------------------------------------#"
+./pfscan -s GTPA_HUMAN prosite13.prf
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 4: ./pfscan -by -C 2 CVPBR322 ecp.prf"
+echo "#----------------------------------------------------------------------#"
+./pfscan -by -C 2 CVPBR322 ecp.prf
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 5: ./gtop -F 50 sh3.gpr | ./pfsearch -far - sh3.seq"
+echo "# | sort -nr"
+echo "#----------------------------------------------------------------------#"
+./gtop -F 50 sh3.gpr | ./pfsearch -far - sh3.seq | sort -nr
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 6: ./htop pfam_sh3.hmm | ./pfsearch -f - sh3.seq"
+echo " | sort -nr"
+echo "#----------------------------------------------------------------------#"
+./htop pfam_sh3.hmm | ./pfsearch -f - sh3.seq | sort -nr
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 7: ./pfw -N 1000 sh3.msf |"
+echo "# ./pfmake -b -H 0.6 - blosum45.cmp"
+echo "#----------------------------------------------------------------------#"
+./pfw -N 1000 sh3.msf | ./pfmake -b -H 0.6 - blosum45.cmp
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 8:./ptoh -L 1.15 ecp.prf"
+echo "#----------------------------------------------------------------------#"
+./ptoh -L 1.15 ecp.prf
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 9: ./pfscale -N 14147368 -P 0.0001 -Q 0.000001 score.lis"
+echo "# | sed -n 1,25p"
+echo "#----------------------------------------------------------------------#"
+./pfscale -N 14147368 -P 0.0001 -Q 0.000001 score.lis | sed -n 1,25p
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 10: ./pfsearch -y coils.prf MYSA_HUMAN"
+echo "#----------------------------------------------------------------------#"
+./pfsearch -y coils.prf MYSA_HUMAN
+echo "#----------------------------------------------------------------------#"
+echo "# pftools test 11: /bin/rm sh3.fsp"
+echo "# ./ptof -r -F -1.2 -I 0.6 -X -1.5 -B -0.5 sh3.prf >sh3.fsp"
+echo "# ./2ft < R76849.seq | ./pfsearch -fy -C 5.0 sh3.fsp -"
+echo "# /bin/rm sh3.fsp"
+echo "#----------------------------------------------------------------------#"
+/bin/rm sh3.fsp; ./ptof -r -F -1.2 -I 0.6 -X -1.5 -B -0.5 sh3.prf > sh3.fsp ; ./2ft < R76849.seq | ./pfsearch -fy -C 5.0 sh3.fsp -; /bin/rm sh3.fsp
+
+
diff --git a/wprsm.f b/wprsm.f
new file mode 100644
index 0000000..b2afff3
--- /dev/null
+++ b/wprsm.f
@@ -0,0 +1,285 @@
+*----------------------------------------------------------------------*
+* $Id: wprsm.f,v 2.13 2003/12/09 13:42:42 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine WPRSM(JSEQ,JMMA,LPMM,
+ * LUNI,LOUT,LNOR,LREV,LPFA,OPTZ,OPTL,OPLU,NW,
+ * CHID,CHAC,CHDE,OPTD,OPTR,LDRS,
+ * IOPT,JALB,JALE,NALI,IPMB,IPME,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+
+* profile parameters
+
+ Include 'codat.f'
+
+ Real RNOP(KNPM,MAXN)
+
+* logical switches
+
+ Logical LUNI
+ Logical LOUT
+ Logical LNOR
+ Logical LREV
+ Logical LPFA
+ Logical OPTL
+ Logical OPLU
+ Logical OPTZ
+ Logical OPTD
+ Logical OPTR
+
+ Logical LPMM
+ Logical LFCL
+ Logical LDRS
+
+* function return types
+
+ Integer Xblnk
+ External Xblnk
+
+* sequence header
+
+ Character*(*) CHID
+ Character*(*) CHAC
+ Character*(*) CHDE
+
+* Output fields
+
+ Character*04 CHLE
+ Character*08 CHNS
+ Character*07 CHRS
+ Character*24 CHLO
+ Character*18 CHPP
+ Character*64 CHER
+ Character*64 CHMI
+ Character*64 CHRP
+
+ Character*512 RCEX
+
+* prepare output fields
+
+* - norm-score
+
+ If(LNOR) then
+ Call RtoN
+ * (IOPT,XOPT,RNOP,KNPM,MAXN,INOR,IFUN,LSEQ,RAVE)
+ R=XOPT
+ If(R.GT.9999.999) R=9999.999
+ If(R.LT.-999.999) R=-999.999
+ Write(CHNS,'(F8.3)') R
+ End if
+
+* - cut-off level
+
+ If(OPTL.OR.OPLU) then
+ LFCL=.FALSE.
+ If(.NOT.OPTR) then
+ KI=0
+ KJ=0
+ Do I1=1,JCUT
+ Do I2=1,JCNM(I1)
+ If(MCUT(I2,I1).EQ.MNUM) then
+ If(KI.EQ.0) then
+ KI=I1
+ KJ=I2
+ Else if(RCUT(I2,I1).LT.RCUT(KJ,KI)) then
+ KI=I1
+ KJ=I2
+ End if
+ End if
+ End do
+ End do
+ Do I1=1,JCUT
+ Do I2=1,JCNM(I1)
+ If(MCUT(I2,I1).EQ.MNUM) then
+ If(XOPT.GE.RCUT(I2,I1)
+ * .AND.RCUT(I2,I1).GE.RCUT(KJ,KI)
+ * .AND.MCLE(I1).GE.MCLE(KI)) then
+ LFCL=.TRUE.
+ KI=I1
+ KJ=I2
+ End if
+ End if
+ End do
+ End do
+ Else
+ KI=1
+ Do I1=2,JCUT
+ If(ICUT(I1).LT.ICUT(KI)) KI=I1
+ End do
+ Do I1=1,JCUT
+ If(IOPT.GE.ICUT(I1).AND.ICUT(I1).GE.ICUT(KI)
+ * .AND.MCLE(I1).GE.MCLE(KI)) then
+ LFCL=.TRUE.
+ KI=I1
+ End if
+ End do
+ End if
+ K=MCLE(KI)
+ If(.NOT.LFCL) then
+ Write(CHLE,'(''NA'')')
+ Else if(OPLU) then
+ CHLE=CCUT(KI)
+ Else if(K.LT.0.OR.K.GT.9) then
+ Write(CHLE,'(''L='',I2)') K
+ Else
+ Write(CHLE,'(''L='',I1,'' '')') K
+ End if
+ End if
+
+* - raw-score
+
+ I=IOPT
+ If(I.GT.999999) I=999999
+ If(I.LE.-99999) I=-99999
+ Write(CHRS,'(I7)') I
+
+* - location in sequence
+
+ If(.NOT.LUNI.OR.LOUT) then
+ If(LREV) then
+ JALB=LSEQ-JALB+1
+ JALE=LSEQ-JALE+1
+ End if
+ Write(CHLO,'('' pos. '',I8,'' -'',I8)') JALB,JALE
+ If(LREV) then
+ JALB=LSEQ-JALB+1
+ JALE=LSEQ-JALE+1
+ End if
+
+* - location in profile
+
+ If(OPTZ) then
+ Write(CHPP,'('' ['',I5,'','',I6,'']'')') IPMB,IPME
+ End if
+ End if
+
+* - entry-ref
+
+ L1=Lblnk(CHAC)
+ L2=Lblnk(CHID)
+ CHER=CHAC(1:L1) // CHID(1:L2)
+ LNER=MIN(61,L1+L2)
+
+ If(LREV) then
+ CHER=CHER(1:LNER) // '(-)'
+ LNER=LNER+3
+ End if
+
+* - match-id
+
+ If(LPFA.AND.NALI.GT.1) then
+ CHMI=CHID(1:L2) // '_'
+ Write(CHMI(L2+2:),*) JSEQ
+ J1=L2+1
+ Do I1=L2+2,Lblnk(CHMI)
+ If(CHMI(I1:I1).NE.' ') then
+ J1=J1+1
+ CHMI(J1:J1)=CHMI(I1:I1)
+ End if
+ End do
+ CHMI(J1+1:J1+1)=' '
+ LNMI=J1
+ L2=J1
+ Else
+ CHMI=CHID(1:L2)
+ LNMI=L2
+ End if
+
+* - multiple repeat ID
+
+* If(LPFA.AND.LPMM) then
+* CHMI=CHMI(1:L2) // '_REP'
+* Write(CHMI(L2+5:),*) JMMA
+* J1=L2+4
+* Do I1=L2+5,Lblnk(CHMI)
+* If(CHMI(I1:I1).NE.' ') then
+* J1=J1+1
+* CHMI(J1:J1)=CHMI(I1:I1)
+* End if
+* End do
+* CHMI(J1+1:J1+1)=' '
+* LNMI=J1
+* End if
+
+* assemble ouput record
+
+ LNEX=0
+
+ If(LPFA) then
+ RCEX(LNEX+1:)='>' // CHMI // ' '
+ LNEX=LNEX+LNMI+2
+ End if
+
+ If(OPTL.OR.OPLU) then
+ RCEX(LNEX+1:)=CHLE
+ LNEX=LNEX+4
+ If(OPLU) LNEX=LNEX-2
+ End if
+
+ If(LNOR.AND..NOT.LDRS) then
+ RCEX(LNEX+1:)=CHNS
+ LNEX=LNEX+8
+ End if
+
+ RCEX(LNEX+1:)=CHRS
+ LNEX=LNEX+7
+
+ If(.NOT.LUNI.OR.LOUT) then
+ RCEX(LNEX+1:)=CHLO
+ LNEX=LNEX+24
+
+ If(OPTZ) then
+ RCEX(LNEX+1:)=CHPP
+ LNEX=LNEX+15
+ End if
+ End if
+
+* - match ID, region nb and repeat nb for standard output and option -x
+
+ If(.NOT.LPMM.AND.JMMA.GT.1) then
+ Write(CHRP,*) 'REGION',JSEQ
+ J1=6
+ Do I1=7,Lblnk(CHRP)
+ If(CHRP(I1:I1).NE.' ') then
+ J1=J1+1
+ CHRP(J1:J1)=CHRP(I1:I1)
+ End if
+ End do
+ RCEX(LNEX+1:)=CHRP(1:J1)
+ LNEX=LNEX+J1
+ End if
+
+ If(LPMM) then
+ Write(CHRP,*) JSEQ,'REP'
+ L2=Lblnk(CHRP)
+ Write(CHRP(L2+1:),*) JMMA
+ J1=L2
+ Do I1=L2+1,Lblnk(CHRP)
+ If(CHRP(I1:I1).NE.' ') then
+ J1=J1+1
+ CHRP(J1:J1)=CHRP(I1:I1)
+ End if
+ End do
+ RCEX(LNEX+1:)=CHRP(1:J1)
+ LNEX=LNEX+J1
+ End if
+
+ RCEX(LNEX+2:)=CHER(1:LNER)
+ LNEX=LNEX+1+LNER
+
+ If(OPTD) then
+ L3=MAX(0,MIN(NW-LNEX-1,Xblnk(CHDE,64)))
+ Else
+ L3=MAX(0,MIN(510-LNEX-1,Xblnk(CHDE,64)))
+ End if
+ RCEX(LNEX+2:)=CHDE(1:L3)
+ LNEX=LNEX+1+L3
+
+* Write output record
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,LNEX)
+
+ 100 Return
+ End
+
diff --git a/wrhmr.f b/wrhmr.f
new file mode 100644
index 0000000..285c8f7
--- /dev/null
+++ b/wrhmr.f
@@ -0,0 +1,141 @@
+*----------------------------------------------------------------------*
+* $Id: wrhmr.f,v 2.4 2003/03/26 14:40:29 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine WRHMR
+ * (NOUT,NERR,IDMP,RIHM,RMHM,LHMM,NABC,CABC,FLOW,RSCA,BLOG)
+
+ Include 'pfind.f'
+ Include 'hmdat.f'
+
+ Real*8 BLOG
+ Character CABC(0:26)
+
+ Character*64 RCEX
+
+
+* Log to Prob
+
+ Do 10 I1=0,LHMM
+ Do I2=1,46
+ If (RIHM(I2,I1).LE.FLOW) then
+ RIHM(I2,I1)=0.0
+ Else If(RIHM(I2,I1).LE.-6.0) then
+ RIHM(I2,I1)=0.000001
+ Else
+ RIHM(I2,I1)=EXP(RIHM(I2,I1))
+ End if
+ End do
+ If(I1.GT.0) then
+ Do I2=1,27
+ If (RMHM(I2,I1).LE.FLOW) then
+ RMHM(I2,I1)=0.0
+ Else If(RIHM(I2,I1).LE.-6.0) then
+ RMHM(I2,I1)=0.000001
+ Else
+ RMHM(I2,I1)=EXP(RMHM(I2,I1))
+ End if
+ End do
+ End if
+ 10 Continue
+
+* header
+
+ Write(NOUT,'(''# HMM v1.7'')')
+ RSCA=RSCA/BLOG
+ Write(NERR,'(
+ * ''# HMM converted from generalized profile'',
+ * '' with pftools program htop.'',
+ * /,''# Logarithic base of profile: '',F12.8,''.'',
+ * /,''# Offset: profile score = '',E10.4,'' + Log(Prob).'')')
+ * exp(BLOG),RSCA
+
+ Write(RCEX(1:8),'(I8)') LHMM
+ Do I1=1,8
+ If(RCEX(I1:I1).NE.' ') Go to 12
+ End do
+ 12 RCEX(1:8)=RCEX(I1:8) // RCEX(1:I1-1)
+ Write(NOUT,'(A8,''# M -- length of model'')') RCEX(1:8)
+ If(NABC.EQ.4) then
+ Write(NOUT,'(''4 # alphabet length'')')
+ Write(NOUT,'(''1 # alphabet type'')')
+ Write(NOUT,'( 4A,'' # alphabet'')')(CABC(ii1),ii1=1,NABC)
+ Else
+ Write(NOUT,'(''20 # alphabet length'')')
+ Write(NOUT,'(''3 # alphabet type'')')
+ Write(NOUT,'(20A,'' # alphabet'')')(CABC(ii1),ii1=1,NABC)
+ End if
+ Write(NOUT,
+ * '(''no # Optional reference line annotation?'')')
+ Write(NOUT,
+ * '(''no # Optional consensus structure annotation?'')')
+
+* make sure that meaningless parameter at pos. 0 equal 0
+
+ Do I1=1,27
+ RMHM(I1,0)=0.0
+ End do
+
+* write HMM probabilites
+
+ Do I1=0,LHMM
+
+* match state
+
+ Write(RCEX(1:8),'(I8)') I1
+ Do I2=1,8
+ If(RCEX(I2:I2).NE.' ') Go to 21
+ End do
+ 21 RCEX='###MATCH_STATE ' // RCEX(I2:8)
+ RCEX=RCEX(1:Lblnk(RCEX)) // ' ( ) ( )'
+ Write(NOUT,'(64A)')(RCEX(ii1:ii1),ii1=1,Lblnk(RCEX))
+
+ Write(NOUT,'(F8.6,'' # t_m1'')') RIHM(MM,I1)
+ Write(NOUT,'(F8.6,'' # t_d1'')') RIHM(MD,I1)
+ Write(NOUT,'(F8.6,'' # t_i0'')') RIHM(MI,I1)
+
+ Do I2=1,NABC
+ Write(NOUT,
+ * '(F8.6,'' # Symbol '',A,'' probability'')')
+ * RMHM(I2,I1),CABC(I2)
+ End do
+
+* delete state
+
+ Write(RCEX(1:8),'(I8)') I1
+ Do I2=1,8
+ If(RCEX(I2:I2).NE.' ') Go to 22
+ End do
+ 22 RCEX='###DELETE_STATE ' // RCEX(I2:8)
+ RCEX=RCEX(1:Lblnk(RCEX)) // ' ( ) ( )'
+ Write(NOUT,'(64A)')(RCEX(ii1:ii1),ii1=1,Lblnk(RCEX))
+
+ Write(NOUT,'(F8.6,'' # t_m1'')') RIHM(DM,I1)
+ Write(NOUT,'(F8.6,'' # t_d1'')') RIHM(DD,I1)
+ Write(NOUT,'(F8.6,'' # t_i0'')') RIHM(DI,I1)
+
+* insert state
+
+ Write(RCEX(1:8),'(I8)') I1
+ Do I2=1,8
+ If(RCEX(I2:I2).NE.' ') Go to 23
+ End do
+ 23 RCEX='###INSERT_STATE ' // RCEX(I2:8)
+ RCEX=RCEX(1:Lblnk(RCEX)) // ' ( ) ( )'
+ Write(NOUT,'(64A)')(RCEX(ii1:ii1),ii1=1,Lblnk(RCEX))
+
+ Write(NOUT,'(F8.6,'' # t_m1'')') RIHM(IM,I1)
+ Write(NOUT,'(F8.6,'' # t_d1'')') RIHM(ID,I1)
+ Write(NOUT,'(F8.6,'' # t_i0'')') RIHM(II,I1)
+
+ Do I2=1,NABC
+ Write(NOUT,
+ * '(F8.6,'' # Symbol '',A,'' probability'')')
+ * RIHM(I2,I1),CABC(I2)
+ End do
+
+ End do
+
+ 100 Return
+ End
diff --git a/wrprf.f b/wrprf.f
new file mode 100644
index 0000000..9482aa0
--- /dev/null
+++ b/wrprf.f
@@ -0,0 +1,1061 @@
+*----------------------------------------------------------------------*
+* $Id: wrprf.f,v 2.9 2003/11/18 10:52:29 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine WRPRF
+ * (NOUT,LLLT,LRNM,
+ * CPID,CPAC,CPDT,CPDE,LHDR,CHDR,LFTR,CFTR,NABC,CABC,LPRF,LPCI,
+ * CDIS,JDIP,MDIS,NDIP,
+ * CNOR,JNOP,JNOR,MNOR,NNOR,NNPR,CNTX,RNOP,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * IDMP,CHIP,IIPP,CHMP,IMPP,
+ * BLOG,FABC,P0,
+ * CHID,IIPD,CHMD,IMPD,
+ * IRC)
+
+ Include 'psdat.f'
+ Include 'gsdat.f'
+ Include 'djdat.f'
+ Include 'nodat.f'
+ Include 'codat.f'
+ Include 'pfdat.f'
+ Include 'dfdat.f'
+ Include 'sterr.f'
+
+* work fields
+ Integer SLEN
+ Integer LLEN
+ Parameter (SLEN=78)
+ Parameter (LLEN=132)
+ Parameter (LBUF=512)
+
+ Character*512 CBLK
+ Character*512 CPAR
+ Character*512 RCEX
+ Character*16 CHRP(MAXN)
+
+ Logical LPRI
+ Logical LLLT
+ Logical LRNM
+
+* initiation, transition and termination score names
+
+ Character*2 CPSN(27:46)
+ Data CPSN(27)/'B0'/
+ Data CPSN(28)/'B1'/
+ Data CPSN(29)/'E0'/
+ Data CPSN(30)/'E1'/
+ Data CPSN(31)/'BM'/
+ Data CPSN(32)/'BI'/
+ Data CPSN(33)/'BD'/
+ Data CPSN(34)/'BE'/
+ Data CPSN(35)/'MM'/
+ Data CPSN(36)/'MI'/
+ Data CPSN(37)/'MD'/
+ Data CPSN(38)/'ME'/
+ Data CPSN(39)/'IM'/
+ Data CPSN(40)/'II'/
+ Data CPSN(41)/'ID'/
+ Data CPSN(42)/'IE'/
+ Data CPSN(43)/'DM'/
+ Data CPSN(44)/'DI'/
+ Data CPSN(45)/'DD'/
+ Data CPSN(46)/'DE'/
+
+ IRC=0
+
+* prevent meaningless parameters from being printed
+
+ If(.NOT.LPCI) then
+ IIPP(MM, 0)=IIPD(MM)
+ IIPP(MI, 0)=IIPD(MI)
+ IIPP(MD, 0)=IIPD(MD)
+ IIPP(ME, 0)=IIPD(ME)
+ IIPP(DM, 0)=IIPD(DM)
+ IIPP(DI, 0)=IIPD(DI)
+ IIPP(DD, 0)=IIPD(DD)
+ IIPP(DE, 0)=IIPD(DE)
+ IIPP(MM,LPRF)=IIPD(MM)
+ IIPP(IM,LPRF)=IIPD(IM)
+ IIPP(DM,LPRF)=IIPD(DM)
+ IIPP(BM,LPRF)=IIPD(BM)
+ IIPP(MD,LPRF)=IIPD(MD)
+ IIPP(ID,LPRF)=IIPD(ID)
+ IIPP(DD,LPRF)=IIPD(DD)
+ IIPP(BD,LPRF)=IIPD(BD)
+ End if
+
+* write header
+
+* - ID line
+
+ RCEX='ID '
+ * // CPID(1:Lblnk(CPID))
+ * // '; MATRIX.'
+ Call wline(NOUT,LLLT,SLEN,RCEX)
+C Write(NOUT,'(78A)')(RCEX(ii1:ii1),ii1=1,Lblnk(RCEX))
+
+* - AC line
+
+ IX=Lblnk(CPAC)
+ If(CPAC(IX:IX).EQ.'|') IX=IX-1
+ RCEX='AC ' // CPAC(1:IX) // ';'
+ Call wline(NOUT,LLLT,SLEN,RCEX)
+C Write(NOUT,'(78A)')(RCEX(ii1:ii1),ii1=1,Lblnk(RCEX))
+
+* - DT line
+
+ If(CPDT.NE.' ') then
+ RCEX='DT '
+ * // CPDT(1:Lblnk(CPDT))
+ Call wline(NOUT,LLLT,SLEN,RCEX)
+C Write(NOUT,'(132A)')(RCEX(ii1:ii1),ii1=1,Lblnk(RCEX))
+ End if
+
+* - DE line
+
+ RCEX='DE '
+ * // CPDE(1:Lblnk(CPDE))
+ Call wline(NOUT,LLLT,LLEN,RCEX)
+C Write(NOUT,'(132A)')(RCEX(ii1:ii1),ii1=1,Lblnk(RCEX))
+
+* - Additional header lines
+
+ Do I1=1,LHDR
+ Call wline(NOUT,LLLT,LLEN,CHDR(I1))
+C Write(NOUT,'(132A)')
+C * (CHDR(I1)(ii1:ii1),ii1=1,Lblnk(CHDR(I1)))
+ End do
+
+* write /GENERAL_SPEC: block
+
+ CBLK='/GENERAL_SPEC:'
+ JB=14
+
+* - alphapet
+
+ Write(CPAR,'(''ALPHABET='''''',26A)')(CABC(ii1),ii1=1,NABC)
+ JP=12+NABC
+ CPAR(JP-1:JP)=''';'
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - length
+C Write(CPAR,'(''LENGTH='',I6,'';'')') LPRF
+ CPAR='LENGTH='
+ Write(CPAR(8:),*)LPRF,';'
+ JP=Lblnk(CPAR)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - topology
+
+ If(LPCI) then
+ If(JB+19.GT.LBUF) Go to 900
+ CBLK=CBLK(1:JB) // ' TOPOLOGY=CIRCULAR;'
+ JB=JB+19
+ End if
+
+
+* - HMM parameters:
+*** To be modified ?? Using write(...,*)
+ If(BLOG.NE.0) then
+ Write(CPAR,'(''LOG_BASE='',F8.6,'';'')') BLOG
+ JP=18
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+ If(P0.NE.1.0) then
+ Write(CPAR,'(''P0='',F6.4,'';'')') P0
+ JP=10
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+ End if
+***
+ Call wrblk(NOUT,LLLT,LLEN,CBLK,JB)
+ If(BLOG.NE.0) Call wrnul(NOUT,LRNM,LLLT,SLEN,NABC,FABC)
+
+* write /DISJOINT: block
+
+ CBLK='/DISJOINT:'
+ JB=10
+
+* - definition
+
+ CPAR='DEFINITION=' // CDIS(MDIS)
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - parameters
+
+ KDIP=JDIP(MDIS)
+ JP=0
+ Do 20 I1=1,KDIP
+ Write(CPAR(JP+1:),*)'N',I1,'=',NDIP(I1),';'
+ JP=Lblnk(CPAR)+1
+ 20 Continue
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP
+
+ Call wrblk(NOUT,LLLT,LLEN,CBLK,JB)
+
+* write /NORMALIZATION: block
+
+ LPRI=.FALSE.
+ Do 21 I1=1,JNOR
+ If(NNOR(I1).NE.NNPR(I1)) LPRI=.TRUE.
+ 21 Continue
+
+ Do 30 I1=1,JNOR
+
+ CBLK='/NORMALIZATION:'
+ JB=15
+
+* - mode
+
+ Write(CPAR(1:),*)'MODE=',NNOR(I1),';'
+ JP=Lblnk(CPAR)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - priority
+
+ If(LPRI) then
+ Write(CPAR(1:),*)'PRIORITY=',NNPR(I1),';'
+ JP=Lblnk(CPAR)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - function
+
+ CPAR='FUNCTION=' // CNOR(MNOR(I1))
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - paramaters
+
+ KNOP=JNOP(MNOR(I1))
+ JP=0
+ Do 22 I2=1,KNOP
+ If(ABS(RNOP(I2,I1)).LE.10.0
+ * .AND.ABS(RNOP(I2,I1)).GT.0.0001
+ * .OR.RNOP(I2,I1).EQ.0.0) then
+ Write(CHRP(I2),'(F10.7)') RNOP(I2,I1)
+ Else
+ Write(CHRP(I2),*) RNOP(I2,I1)
+ End if
+ Write(CPAR(JP+1:),*)'R',I2,'=',CHRP(I2),'; '
+ JP=Lblnk(CPAR)+1
+ 22 Continue
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP
+
+* - text
+
+ If(CNTX(I1).NE.' ') then
+ CPAR='TEXT=''' // CNTX(I1)(1:Lblnk(CNTX(I1))) // ''''
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+ Call wrblk(NOUT,LLLT,LLEN,CBLK,JB)
+
+ 30 Continue
+
+* write /CUT_OFF: block
+
+ Do 40 I1=1,JCUT
+
+ CBLK='/CUT_OFF:'
+ JB=9
+
+* - level
+
+ Write(CPAR,*)'LEVEL=',MCLE(I1),';'
+ JP=Lblnk(CPAR)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - score
+
+ Write(CPAR,*)'SCORE=',ICUT(I1),';'
+ JP=Lblnk(CPAR)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - normalized scores
+
+ KCNM=JCNM(I1)
+ If(KCNM.GT.0) CPAR='N_SCORE='
+ JP=8
+ Do 32 I2=1,KCNM
+ If(I2.GT.1) then
+ JP=JP+2
+ CPAR(JP:JP)=','
+ End if
+ Write(CPAR(JP+1:),*)RCUT(I2,I1)
+ JP=Lblnk(CPAR)
+C Write(CPAR,*)'(''N_SCORE='',G12.5,7('','',G12.5))')
+C * (RCUT(ii1,I1),ii1=1,KCNM)
+C JP=8+13*KCNM
+ 32 Continue
+ JP=JP+2
+ CPAR(JP:JP)=';'
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - normalization modes
+
+ If(KCNM.GT.0) CPAR='MODE='
+ JP=5
+ Do 34 I2=1,KCNM
+ If(I2.GT.1) then
+ JP=JP+2
+ CPAR(JP:JP)=','
+ End if
+ Write(CPAR(JP+1:),*)MCUT(I2,I1)
+ JP=Lblnk(CPAR)
+ 34 Continue
+C Write(CPAR,'(''MODE='',I6,7('','',I6))')
+C * (MCUT(ii1,I1),ii1=1,KCNM)
+C JP=5+7*KCNM
+ JP=JP+2
+ CPAR(JP:JP)=';'
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+
+* - text
+
+ If(CCUT(I1).NE.' ') then
+ CPAR='TEXT=''' // CCUT(I1)(1:Lblnk(CCUT(I1))) // ''''
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+ Call wrblk(NOUT,LLLT,LLEN,CBLK,JB)
+
+ 40 Continue
+
+* write /DEFAULT: block
+
+* - transfer defaults to pos. LPRF+1
+
+ I1=LPRF+1
+
+ Do 51 I2=0,46
+ IIPP(I2,I1)=IIPD(I2)
+ 51 Continue
+ CHIP(I1)=CHID
+ Do 52 I2=0,27
+ IMPP(I2,I1)=IMPD(I2)
+ 52 Continue
+ CHMP(I1)=CHMD
+
+* - reinitialize defaults for match and insert position
+
+ CHID='-'
+ Do 53 I2=1,26
+ IIPD(I2)=0
+ 53 Continue
+
+ IIPD(B0)=0
+ IIPD(B1)=0
+ IIPD(E0)=0
+ IIPD(E1)=0
+
+ IIPD(BM)=0
+ IIPD(BI)=NLOW
+ IIPD(BD)=NLOW
+ IIPD(BE)=NLOW
+ IIPD(MM)=0
+ IIPD(MI)=NLOW
+ IIPD(MD)=NLOW
+ IIPD(ME)=0
+ IIPD(IM)=NLOW
+ IIPD(II)=0
+ IIPD(ID)=NLOW
+ IIPD(IE)=NLOW
+ IIPD(DM)=NLOW
+ IIPD(DI)=NLOW
+ IIPD(DD)=0
+ IIPD(DE)=NLOW
+
+ IIPD(I0)=0
+
+ CHMD='X'
+ Do 54 I2=1,26
+ IMPD(I2)=0
+ 54 Continue
+
+ IMPD(M0)=0
+ IMPD(D )=0
+
+ Do 55 I2=0,27
+ IMPP(I2,0)=NLOW
+ 55 Continue
+
+* - symbols
+
+ CBLK='/DEFAULT:'
+ JB=9
+
+ If(CHMP(I1).NE.CHMD) then
+ Write(CPAR,'(''SY_M='''''',A,'''''';'')') CHMP(I1)
+ JP=9
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+ If(CHIP(I1).NE.CHID) then
+ Write(CPAR,'(''SY_I='''''',A,'''''';'')') CHIP(I1)
+ JP=9
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - match extension scores
+
+ K1=0
+ Do 56 I2=1,NABC
+ If(IMPP(I2,I1).NE.IMPD(I2)) K1=1
+ 56 Continue
+ Do 57 I2=1,NABC
+ If(IMPP(I2,I1).NE.IMPP( 1,I1)) K1=2
+ 57 Continue
+
+ If(K1.EQ.0) then
+ JP=0
+ Else
+ CPAR='M='
+ JP=3
+ If(K1.EQ.1) then
+ If(IMPP( 1,I1).LE.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IMPP( 1,I1)
+ End if
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ Else
+ Do 58 I2=1,NABC
+ If(I2.GT.1) then
+ JP=JP+2
+ CPAR(JP:JP)=','
+ End if
+ If(IMPP(I2,I1).LE.NLOW) then
+ CPAR(JP+1:)='*'
+ Else
+ Write(CPAR(JP+1:),*)IMPP(I2,I1)
+ End if
+ JP=Lblnk(CPAR)
+ 58 Continue
+ JP=JP+1
+ CPAR(JP:JP)=';'
+
+
+C Write(CPAR,'(''M='',I6,25('','',I6))')
+C * (IMPP(ii1,I1),ii1=1,NABC)
+C JP=2+NABC*7
+C CPAR(JP:JP)=';'
+C J2=JP-NABC*7+1
+C Do 59 I2=1,NABC
+C If(IMPP(I2,I1).EQ.NLOW) CPAR(J2:J2+5)=' *'
+C J2=J2+7
+C 59 Continue
+ End if
+
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* match extension score for unknown character
+
+ If(IMPP( 0,I1).NE.IMPD( 0)) then
+ CPAR='M0='
+ JP=4
+ If(IMPP( 0,I1).LE.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IMPP( 0,I1)
+ End if
+ JP=LBlnk(CPAR)+1
+ CPAR(JP:JP)=';'
+C Call slpar(CPAR,JP)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - deletion extension score
+
+ If(IMPP(27,I1).NE.IMPD(27)) then
+ CPAR='D='
+ JP=3
+ If(IMPP(27,I1).LE.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IMPP(27,I1)
+ End if
+ JP=LBlnk(CPAR)+1
+ CPAR(JP:JP)=';'
+C Call slpar(CPAR,JP)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - insert extension scores
+
+ K1=0
+ Do 61 I2=1,NABC
+ If(IIPP(I2,I1).NE.IIPD(I2)) K1=1
+ 61 Continue
+ Do 62 I2=1,NABC
+ If(IIPP(I2,I1).NE.IIPP( 1,I1)) K1=2
+ 62 Continue
+
+ If(K1.EQ.0) then
+ JP=0
+ Else
+ CPAR='I='
+ JP=3
+ If(K1.EQ.1) then
+ If(IIPP( 1,I1).LE.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IIPP( 1,I1)
+ End if
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ Else
+ Do 64 I2=1,NABC
+ If(I2.GT.1) then
+ JP=JP+2
+ CPAR(JP:JP)=','
+ End if
+ If(IMPP(I2,I1).LE.NLOW) then
+ CPAR(JP+1:)='*'
+ Else
+ Write(CPAR(JP+1:),*)IIPP(I2,I1)
+ End if
+ JP=Lblnk(CPAR)
+ 64 Continue
+ JP=JP+1
+ CPAR(JP:JP)=';'
+
+C Write(CPAR,'(''I='',I6,25('','',I6))')
+C * (IIPP(ii1,I1),ii1=1,NABC)
+C JP=2+NABC*7
+C CPAR(JP:JP)=';'
+C J2=JP-NABC*7+1
+C Do 65 I2=1,NABC
+C If(IIPP(I2,I1).EQ.NLOW) CPAR(J2:J2+5)=' *'
+C J2=J2+7
+C 65 Continue
+ End if
+
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+ If(IIPP( 0,I1).NE.IIPD( 0)) then
+ CPAR='I0='
+ JP=4
+ Write(CPAR(JP:),*)IIPP( 0,I1)
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+C Call slpar(CPAR,JP)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - initiation, transition and termination scores
+
+ Do 67 I2=27,46
+ If(IIPP(I2,I1).NE.IIPD(I2)) then
+ If(IIPP(I2,I1).LE.NLOW) then
+ Write(CPAR,*) CPSN(I2),'=*'
+ Else
+ Write(CPAR,*)CPSN(I2),'=',IIPP(I2,I1)
+ End if
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+ 67 Continue
+
+ Call wrblk(NOUT,LLLT,LLEN,CBLK,JB)
+
+* - restore previous defaults from pos. LPRF+1
+
+ I1=LPRF+1
+
+ Do 68 I2=0,46
+ IIPD(I2)=IIPP(I2,I1)
+ 68 Continue
+ CHID=CHIP(I1)
+ Do 69 I2=0,27
+ IMPD(I2)=IMPP(I2,I1)
+ 69 Continue
+ CHMD=CHMP(I1)
+
+ Do 90 I1=0,LPRF
+
+* write /M: block
+
+ If(I1.NE.0) then
+
+* - symbol
+
+ CBLK='/M:'
+ JB=3
+
+ If(CHMP(I1).NE.CHMD) then
+ Write(CPAR,'(''SY='''''',A,'''''';'')') CHMP(I1)
+ JP=7
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - match extension scores
+
+ K1=0
+ Do 71 I2=1,NABC
+ If(IMPP(I2,I1).NE.IMPD(I2)) K1=1
+ 71 Continue
+ Do 72 I2=1,NABC
+ If(IMPP(I2,I1).NE.IMPP( 1,I1)) K1=2
+ 72 Continue
+
+ If(K1.EQ.0) then
+ JP=0
+ Else
+ CPAR='M='
+ JP=3
+ If(K1.EQ.1) then
+ If(IMPP( 1,I1).LE.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IMPP( 1,I1)
+ End if
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ Else
+ Do 73 I2=1,NABC
+ If(I2.GT.1) then
+ JP=JP+2
+ CPAR(JP:JP)=','
+ End if
+ If(IMPP(I2,I1).LE.NLOW) then
+ CPAR(JP+1:)='*'
+ Else
+ Write(CPAR(JP+1:),*)IMPP(I2,I1)
+ End if
+ JP=Lblnk(CPAR)
+ 73 Continue
+ JP=JP+1
+ CPAR(JP:JP)=';'
+
+
+
+C Write(CPAR,'(''M='',I6,25('','',I6))')
+C * (IMPP(ii1,I1),ii1=1,NABC)
+C JP=2+NABC*7
+C CPAR(JP:JP)=';'
+C J2=JP-NABC*7+1
+C Do 75 I2=1,NABC
+C If(IMPP(I2,I1).EQ.NLOW) CPAR(J2:J2+5)=' *'
+C J2=J2+7
+C 75 Continue
+ End if
+
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* match extension score for unknown character
+
+ If(IMPP( 0,I1).NE.IMPD( 0)) then
+ CPAR='M0='
+ JP=4
+ If(IMPP( 0,I1).LE.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IMPP( 0,I1)
+ End if
+ JP=LBlnk(CPAR)+1
+ CPAR(JP:JP)=';'
+C Call slpar(CPAR,JP)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - deletion extension score
+
+ If(IMPP(27,I1).NE.IMPD(27)) then
+ CPAR='D='
+ JP=3
+ If(IMPP(27,I1).EQ.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IMPP(27,I1)
+ End if
+ JP=LBlnk(CPAR)+1
+ CPAR(JP:JP)=';'
+C Call slpar(CPAR,JP)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+ Call wrblk(NOUT,LLLT,LLEN,CBLK,JB)
+
+ End if
+
+* write /I: block
+
+ If(I1.NE.LPRF.OR..NOT.LPCI) then
+
+ CBLK='/I:'
+ JB=3
+
+* - symbol
+
+ If(CHIP(I1).NE.CHID) then
+ Write(CPAR,'(''SY='''''',A,'''''';'')') CHIP(I1)
+ JP=7
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - insert extension scores
+
+ K1=0
+ Do 81 I2=1,NABC
+ If(IIPP(I2,I1).NE.IIPD(I2)) K1=1
+ 81 Continue
+ Do 82 I2=1,NABC
+ If(IIPP(I2,I1).NE.IIPP( 1,I1)) K1=2
+ 82 Continue
+
+ If(K1.EQ.0) then
+ JP=0
+ Else
+ CPAR='I='
+ JP=3
+ If(K1.EQ.1) then
+ If(IIPP( 1,I1).LE.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IIPP( 1,I1)
+ End if
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ Else
+ Do 83 I2=1,NABC
+ If(I2.GT.1) then
+ JP=JP+2
+ CPAR(JP:JP)=','
+ End if
+ If(IIPP(I2,I1).LE.NLOW) then
+ CPAR(JP+1:)='*'
+ Else
+ Write(CPAR(JP+1:),*)IIPP(I2,I1)
+ End if
+ JP=Lblnk(CPAR)
+ 83 Continue
+ JP=JP+1
+ CPAR(JP:JP)=';'
+
+
+
+C Write(CPAR,'(''I='',I6,25('','',I6))')
+C * (IIPP(ii1,I1),ii1=1,NABC)
+C JP=2+NABC*7
+C CPAR(JP:JP)=';'
+C J2=JP-NABC*7+1
+C Do 85 I2=1,NABC
+C If(IIPP(I2,I1).EQ.NLOW) CPAR(J2:J2+5)=' *'
+C J2=J2+7
+C 85 Continue
+ End if
+
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* insert extension score for unknown character
+
+ If(IIPP( 0,I1).NE.IIPD( 0)) then
+ CPAR='I0='
+ JP=4
+ If(IIPP( 0,I1).LE.NLOW) then
+ CPAR(JP:)='*'
+ Else
+ Write(CPAR(JP:),*)IIPP( 0,I1)
+ End if
+ JP=LBlnk(CPAR)+1
+ CPAR(JP:JP)=';'
+C Call slpar(CPAR,JP)
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+
+* - initiation, transition and termination scores
+
+ Do 87 I2=27,46
+ If(IIPP(I2,I1).NE.IIPD(I2)) then
+ If(IIPP(I2,I1).LE.NLOW) then
+ Write(CPAR,*) CPSN(I2),'=*'
+ Else
+ Write(CPAR,*)CPSN(I2),'=',IIPP(I2,I1)
+ End if
+ JP=Lblnk(CPAR)+1
+ CPAR(JP:JP)=';'
+ Call slpar(CPAR,JP)
+ If(JB+JP+1.GT.LBUF) Go to 900
+ CBLK(JB+2:JB+JP+1)=CPAR(1:JP)
+ JB=JB+JP+1
+ End if
+ 87 Continue
+
+ If(CBLK.NE.'/I:') Call wrblk(NOUT,LLLT,LLEN,CBLK,JB)
+
+ End if
+
+ 90 Continue
+
+* - Footer lines
+
+ Do I1=1,LFTR
+ Call wline(NOUT,LLLT,LLEN,CFTR(I1))
+C Write(NOUT,'(132A)')
+C * (CFTR(I1)(ii1:ii1),ii1=1,Lblnk(CFTR(I1)))
+ End do
+
+ Write(NOUT,'(''//'')')
+
+ 100 Return
+
+ 900 Write(NERR,*) 'Error: Line length exceeds buffer size (',
+ * LBUF,').'
+ IRC=1
+ Go to 100
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine slpar(CPAR,JP)
+
+ Character*(*) CPAR
+
+ K1=0
+ Do 10 I1=1,JP
+ If(CPAR(I1:I1).NE.' '.OR.CPAR(I1-1:I1-1).EQ.';') then
+ K1=K1+1
+ CPAR(K1:K1)=CPAR(I1:I1)
+ Else if
+ * (CPAR(I1:I1+1).EQ.' ;'.AND.CPAR(K1:K1).EQ.'.') then
+ K1=K1+1
+ CPAR(K1:K1)='0'
+ Else if
+ * (CPAR(I1:I1+1).EQ.' ,'.AND.CPAR(K1:K1).EQ.'.') then
+ K1=K1+1
+ CPAR(K1:K1)='0'
+ End if
+ 10 Continue
+ JP=K1
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine wrblk(NOUT,LLLT,LEN,CBLK,JB)
+
+ Parameter (LBUF=512)
+ Character*(*) CBLK
+ Character*512 RCEX
+ Logical LLLT
+ Integer LEN
+ Integer NW
+
+ RCEX='MA'
+
+
+ If(LLLT) then
+ NW=LEN
+ Else
+ NW=LBUF
+ End if
+
+ If(JB.LE.NW-5) then
+ RCEX(6:)=CBLK(1:JB)
+ Write(NOUT,'(512A)')(RCEX(ii1:ii1),ii1=1,JB+5)
+ Else
+ Do 14 I1=NW-6,1,-1
+ If(CBLK(I1:I1).EQ.';'
+ * .OR.CBLK(I1:I1).EQ.',') go to 15
+ 14 Continue
+ 15 RCEX(6:)=CBLK(1:I1)
+ Write(NOUT,'(512A)')(RCEX(ii1:ii1),ii1=1,I1+5)
+ RCEX='MA'
+ KB=I1+1
+
+ 20 Continue
+
+ Do 22 I1=KB,JB
+ If(CBLK(I1:I1).NE.' ') go to 23
+ 22 Continue
+ 23 KB=I1
+ Do 24 I1=MIN(KB+NW-2,JB),KB,-1
+ If( CBLK(I1:I1).EQ.';'
+ * .OR.CBLK(I1:I1).EQ.',') go to 25
+ 24 Continue
+ 25 RCEX(9:)=CBLK(KB:I1)
+ Write(NOUT,'(512A)')(RCEX(ii1:ii1),ii1=1,Lblnk(RCEX))
+ RCEX='MA'
+ KB=I1+1
+ If(KB.LT.JB) go to 20
+
+ End if
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine wrnul(NOUT,LRNM,LLLT,LEN,NABC,FABC)
+
+ Parameter (LBUF=512)
+ Real FABC(0:26)
+ Character*512 RCEX
+ Logical LRNM
+ Integer NMRS
+ Logical LLLT
+ Integer LEN
+ Integer NW
+
+ If(LLLT) then
+ NW=LEN
+ Else
+ NW=LBUF
+ End if
+ If(LRNM) then
+ NMRS=100
+ Else
+ NMRS=1
+ End if
+
+ RCEX='MA P='
+ JP=11
+ Do 5, I1=1,NABC
+ Write(RCEX(JP:),*)NMRS*FABC(I1)
+ JN=Lblnk(RCEX)
+ If(RCEX(JN:JN).EQ.'.') then
+ JN=JN+1
+ RCEX(JN:JN)='0'
+ End if
+ If(I1.NE.NABC) then
+ JN=JN+1
+ RCEX(JN:JN)=','
+ End if
+
+ If(JN.GE.NW) then
+ Write(NOUT,'(512A)')(RCEX(ii1:ii1),ii1=1,JP)
+ RCEX(1:10)='MA '
+ 3 If(RCEX(JP+1:JP+1).EQ.' ') then
+ JP=JP+1
+ Go to 3
+ End if
+
+ RCEX(12:)=RCEX(JP:JN)
+ JP=13+JN-JP
+ Else
+ JP=JN+1
+ End if
+ 5 Continue
+
+ If(JP.GT.10) then
+ RCEX(JP:JP)=';'
+ Write(NOUT,'(512A)')(RCEX(ii1:ii1),ii1=1,JP)
+ End if
+
+
+ 100 Return
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine wline(NOUT,LLLT,LEN,RCEX)
+
+ Character*(*) RCEX
+ Logical LLLT
+ Integer LEN
+ Integer NW
+
+ NW=Lblnk(RCEX)
+ If(LLLT.AND.NW.GT.LEN) NW=LEN
+ Write(NOUT,'(512A)')(RCEX(ii1:ii1),ii1=1,NW)
+
+ 100 Return
+ End
+
+
+
diff --git a/wrsam.f b/wrsam.f
new file mode 100644
index 0000000..809c705
--- /dev/null
+++ b/wrsam.f
@@ -0,0 +1,170 @@
+*----------------------------------------------------------------------*
+* $Id: wrsam.f,v 2.4 2003/03/26 14:40:29 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine WRSAM
+ * (NOUT,IDMP,RIHM,RMHM,LHMM,NABC,FABC,FLOW,RSCA,BLOG)
+
+ Include 'pfind.f'
+ Include 'hmdat.f'
+
+ Real FABC(0:26)
+ Real*8 BLOG
+ Real RPEX(64)
+
+* Log to Prob
+
+ Do 10 I1=0,LHMM
+ Do I2=1,46
+ If (RIHM(I2,I1).LE.FLOW) then
+ RIHM(I2,I1)=0.0
+ Else If(RIHM(I2,I1).LE.-6.0) then
+ RIHM(I2,I1)=0.000001
+ Else
+ RIHM(I2,I1)=EXP(RIHM(I2,I1))
+ End if
+ End do
+ If(I1.GT.0) then
+ Do I2=1,27
+ If (RMHM(I2,I1).LE.FLOW) then
+ RMHM(I2,I1)=0.0
+ Else If(RIHM(I2,I1).LE.-6.0) then
+ RMHM(I2,I1)=0.000001
+ Else
+ RMHM(I2,I1)=EXP(RMHM(I2,I1))
+ End if
+ End do
+ End if
+ 10 Continue
+
+* header
+
+ RSCA=RSCA/BLOG
+ Write(NOUT,'(
+ * ''% HMM converted from generalized profile'',
+ * '' with pftools program htop.'',
+ * /,''% Logarithic base of profile: '',F12.8,''.'',
+ * /,''% Offset: profile score = '',E10.4,'' + Log(Prob).'',
+ * /,''MODEL:'')')
+ * exp(BLOG),RSCA
+
+ If (NABC.EQ.20) then
+ Write(6,'(''alphabet protein'')')
+ NPAR=49
+ Else if(NABC.EQ. 4) then
+ Write(6,'(''alphabet DNA'')')
+ NPAR=17
+ Else
+ Go to 100
+ End if
+
+* Write position 0
+
+ RPEX( 1)=0.0
+ RPEX( 2)=0.0
+ RPEX( 3)=0.0
+
+ RPEX( 4)=0.0
+ RPEX( 5)=0.0
+ RPEX( 6)=0.0
+
+ RPEX( 7)=0.0
+ RPEX( 8)=RIHM(MI, 0)
+ RPEX( 9)=RIHM(II, 0)
+
+ J2=9
+ Do I2=1,NABC
+ J2=J2+1
+ RPEX(J2)=0
+ End do
+ Do I2=1,NABC
+ J2=J2+1
+ RPEX(J2)=RIHM(I2, 0)
+ End do
+
+ Write(NOUT,'(''Begin'',3(/,F8.6,2F9.6))')
+ * (RPEX(ii1),ii1=1,9)
+ If(NABC.EQ.20) then
+ Write(NOUT,'(F8.6,4F9.6,7(/,F8.6,4F9.6))')
+ * (RPEX(ii1),ii1=10,49)
+ Else
+ Write(NOUT,'(F8.6,3F9.6,/,F8.6,3F9.6)')
+ * (RPEX(ii1),ii1=10,17)
+ End if
+
+* Write position 1 to LHMM
+
+ Do I1=1,LHMM
+
+ RPEX( 1)=RIHM(DD,I1-1)
+ RPEX( 2)=RIHM(MD,I1-1)
+ RPEX( 3)=RIHM(ID,I1-1)
+
+ RPEX( 4)=RIHM(DM,I1-1)
+ RPEX( 5)=RIHM(MM,I1-1)
+ RPEX( 6)=RIHM(IM,I1-1)
+
+ RPEX( 7)=RIHM(DI,I1 )
+ RPEX( 8)=RIHM(MI,I1 )
+ RPEX( 9)=RIHM(II,I1 )
+
+ J2=9
+ Do I2=1,NABC
+ J2=J2+1
+ RPEX(J2)=RMHM(I2,I1)
+ End do
+ Do I2=1,NABC
+ J2=J2+1
+ RPEX(J2)=RIHM(I2,I1)
+ End do
+
+ If(I1.LT.LHMM) then
+ Write(NOUT,'(/,I4,3(/,F8.6,2F9.6))')
+ * I1,(RPEX(ii1),ii1=1,9)
+ Else
+ Write(NOUT,'(/,'' -1'',3(/,F8.6,2F9.6))')
+ * (RPEX(ii1),ii1=1,9)
+ End if
+ If(NABC.EQ.20) then
+ Write(NOUT,'(F8.6,4F9.6,7(/,F8.6,4F9.6))')
+ * (RPEX(ii1),ii1=10,49)
+ Else
+ Write(NOUT,'(F8.6,3F9.6,/,F8.6,3F9.6)')
+ * (RPEX(ii1),ii1=10,17)
+ End if
+
+ End do
+
+* End
+
+ RPEX( 1)=0.0
+ RPEX( 2)=0.0
+ RPEX( 3)=0.0
+
+ RPEX( 4)=RIHM(DM,LHMM)
+ RPEX( 5)=RIHM(MM,LHMM)
+ RPEX( 6)=RIHM(IM,LHMM)
+
+ RPEX( 7)=0.0
+ RPEX( 8)=0.0
+ RPEX( 9)=0.0
+
+ Do I2=10,9+2*NABC
+ RPEX(I2)=0.0
+ End do
+
+ Write(NOUT,'(/,''End'',3(/,F8.6,2F9.6))')
+ * (RPEX(ii1),ii1=1,9)
+ If(NABC.EQ.20) then
+ Write(NOUT,'(F8.6,4F9.6,7(/,F8.6,4F9.6))')
+ * (RPEX(ii1),ii1=10,49)
+ Else
+ Write(NOUT,'(F8.6,3F9.6,/,F8.6,3F9.6)')
+ * (RPEX(ii1),ii1=10,17)
+ End if
+
+ Write(6,'(''ENDMODEL'')')
+
+ 100 Return
+ End
diff --git a/xali1.f b/xali1.f
new file mode 100644
index 0000000..39b4953
--- /dev/null
+++ b/xali1.f
@@ -0,0 +1,228 @@
+*----------------------------------------------------------------------*
+* $Id: xali1.f,v 2.6 2003/01/15 14:49:05 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine XALI1
+ * (LPRF,LPCI,
+ * KCUT,IIPP,IMPP,IIPX,
+ * BSEQ,LSEQ,ISEQ,
+ * IOPM,IOPI,IOPD,
+ * IOPT,LOPT,
+ * IRC)
+
+* profile and sequence fields :
+
+ Include 'ardim.f'
+ Include 'gsdat.f'
+ Include 'pfdat.f'
+ Include 'pxdat.f'
+
+* sequence
+
+ Integer LSEQ
+ Integer BSEQ
+ Integer*2 ISEQ(IDMS)
+
+* work fields
+
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+ Integer KOPM
+
+ Logical LOPT
+
+ IRC=0
+
+ IOPT=NLOW
+
+* beginning of sequence
+
+ IOPM(0)=IIPX(YM, 0)
+ IOPI(0)=IIPX(YI, 0)
+ IOPD(0)=IIPX(YD, 0)
+
+ Do 8, I2=1,LPRF
+
+ KD=IOPD(I2-1)+IMPP( D,I2)
+
+ IOPM(I2)=MAX(KD+IIPP(DM,I2),
+ * IIPX(YM,I2))
+ IOPI(I2)=MAX(KD+IIPP(DI,I2),
+ * IIPX(YI,I2))
+ IOPD(I2)=MAX(KD+IIPP(DD,I2),
+ * IIPX(YD,I2))
+ 8 Continue
+
+* - circular extensions:
+
+ If(LPCI) then
+ IOPM( 0)=MAX(IOPM( 0),IOPM(LPRF))
+ IOPI( 0)=MAX(IOPI( 0),IOPI(LPRF))
+ IOPD( 0)=MAX(IOPD( 0),IOPD(LPRF))
+
+ Do 9, I2=1, LPRF
+ KD=IOPD(I2-1)+IMPP( D,I2)
+ If(IOPD(I2).GE.KD+IIPP(DD,I2)) then
+ Go to 10
+ Else
+ IOPM(I2)=MAX(KD+IIPP(DM,I2),IOPM(I2))
+ IOPI(I2)=MAX(KD+IIPP(DI,I2),IOPI(I2))
+ IOPD(I2)= KD+IIPP(DD,I2)
+ End if
+ 9 Continue
+ 10 Continue
+ End if
+
+* -----------------------------------------------------------
+
+* internal sequence positions
+
+ Do 50 I1=BSEQ,LSEQ-1
+
+ J1=ISEQ(I1)
+ KI=IOPI( 0)+IIPP(J1, 0)
+
+ KOPM=IOPM( 0)
+
+ IOPM( 0)=MAX(KI+IIPP(IM, 0),IIPX(XM, 0))
+ IOPI( 0)=MAX(KI+IIPP(II, 0),IIPX(XI, 0))
+ IOPD( 0)=MAX(KI+IIPP(ID, 0),IIPX(XD, 0))
+ IOPT =MAX(KI+IIPX(IX, 0),IOPT)
+
+* - circular match extensions (presumably not necessary)
+
+C If(LPCI) then
+C KM=IOPM(LPRF-1)+IMPP(J1,LPRF)
+C IOPM( 0)=MAX(IOPM( 0),KM+IIPP(MM, 0))
+C IOPI( 0)=MAX(IOPI( 0),KM+IIPP(MI, 0))
+C IOPD( 0)=MAX(IOPD( 0),KM+IIPP(MD, 0))
+C IOPT =MAX(IOPT ,KM+IIPX(MX, 0))
+C End if
+* -----------------------------------------------------------
+
+ 20 Continue
+
+
+ Do 38 I2=1,LPRF
+
+ KM=KOPM +IMPP(J1,I2)
+ KI=IOPI(I2 )+IIPP(J1,I2)
+ KD=IOPD(I2-1)+IMPP( D,I2)
+
+ KOPM=IOPM(I2)
+
+ IOPM(I2)=MAX(KM+IIPP(MM,I2),
+ * KI+IIPP(IM,I2),
+ * KD+IIPP(DM,I2),
+ * IIPX(XM,I2))
+ IOPI(I2)=MAX(KM+IIPP(MI,I2),
+ * KI+IIPP(II,I2),
+ * KD+IIPP(DI,I2),
+ * IIPX(XI,I2))
+ IOPD(I2)=MAX(KM+IIPP(MD,I2),
+ * KI+IIPP(ID,I2),
+ * KD+IIPP(DD,I2),
+ * IIPX(XD,I2))
+
+ IOPT =MAX(IOPT,
+ * KM+IIPX(MX,I2),
+ * KI+IIPX(IX,I2),
+ * KD+IIPX(DX,I2))
+
+ 38 Continue
+
+* - circular extensions
+
+ If(LPCI) then
+
+ IOPM( 0)=MAX(IOPM( 0),IOPM(LPRF))
+ IOPI( 0)=MAX(IOPI( 0),IOPI(LPRF))
+ IOPD( 0)=MAX(IOPD( 0),IOPD(LPRF))
+
+ Do 39, I2=1,LPRF
+ KD=IOPD(I2-1)+IMPP( D,I2)
+ If(IOPD(I2).GE.KD+IIPP(DD,I2)) then
+ Go to 40
+ Else
+ IOPM(I2)=MAX(KD+IIPP(DM,I2),IOPM(I2))
+ IOPI(I2)=MAX(KD+IIPP(DI,I2),IOPI(I2))
+ IOPD(I2)=MAX(KD+IIPP(DD,I2),IOPD(I2))
+ IOPT =MAX(KD+IIPX(DX,I2),IOPT)
+ End if
+ 39 Continue
+ 40 Continue
+* -----------------------------------------------------------
+
+ End if
+
+ If(.NOT.LOPT.AND.IOPT.GE.KCUT) go to 100
+
+ 50 Continue
+
+* end of sequence
+
+ J1=ISEQ(LSEQ)
+
+ KI=IOPI( 0)+IIPP(J1, 0)
+
+ KOPM=IOPM( 0)
+
+ IOPD( 0)=MAX(KI+IIPP(ID, 0),IIPX(XD, 0))
+ IOPT =MAX(KI+IIPX(IY, 0),IOPT )
+
+* - circular match extension (presumably not necessary)
+
+C If(LPCI) then
+C KM=IOPM(LPRF-1)+IIPP(J1,LPRF)
+C IOPD( 0)=MAX(IOPD( 0),KM+IIPP(MD, 0))
+C IOPT =MAX(IOPT, KM+IIPP(MY, 0))
+C End if
+* -----------------------------------------------------------
+
+ 60 Continue
+
+ Do 68 I2=1,LPRF
+
+ KM=KOPM +IMPP(J1,I2)
+ KI=IOPI(I2 )+IIPP(J1,I2)
+ KD=IOPD(I2-1)+IMPP( D,I2)
+
+ KOPM=IOPM(I2)
+
+ IOPD(I2)=MAX(KM+IIPP(MD,I2),
+ * KI+IIPP(ID,I2),
+ * KD+IIPP(DD,I2),
+ * IIPX(XD,I2))
+
+ IOPT =MAX(IOPT,
+ * KM+IIPX(MY,I2),
+ * KI+IIPX(IY,I2),
+ * KD+IIPX(DY,I2))
+
+ 68 Continue
+
+* - circular extensions
+
+ If(LPCI) then
+
+ IOPD( 0)=MAX(IOPD( 0),IOPD(LPRF))
+
+ Do 69, I2=1,LPRF
+ KD=IOPD(I2-1)+IMPP( D,I2)
+ If(IOPD(I2).GE.KD+IIPP(DD,I2)) then
+ Go to 100
+ Else
+ IOPD(I2)=MAX(KD+IIPP(DD,I2),IOPD(I2))
+ IOPT =MAX(KD+IIPP(DY,I2),IOPT )
+ End if
+ 69 Continue
+
+ End if
+* -----------------------------------------------------------
+
+ 100 Return
+
+ End
diff --git a/xalip.f b/xalip.f
new file mode 100644
index 0000000..122e98d
--- /dev/null
+++ b/xalip.f
@@ -0,0 +1,806 @@
+*----------------------------------------------------------------------*
+* $Id: xalip.f,v 2.7 2003/01/15 14:50:24 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine XALIP(
+ * NABC,LPRF,LPCI,N1,N2,
+ * KCUT,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * BSEQ,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * NALI,IALS,IALB,IAL1,IAL2,IALE,
+ * LOPT,
+ * IRC)
+
+*----------------------------------------------------------------------*
+* Data Section
+*----------------------------------------------------------------------*
+
+* profile:
+
+ Include 'ardim.f'
+ Include 'gsdat.f'
+ Include 'pfdat.f'
+ Include 'pxdat.f'
+ Include 'sterr.f'
+
+* sequence
+
+ Integer LSEQ
+ Integer BSEQ
+ Integer*2 ISEQ(IDMS)
+ Logical LCKS(IDMS)
+
+* alignments
+
+ Integer IALS(IDMN)
+ Integer IALB(IDMN)
+ Integer IAL1(IDMN)
+ Integer IAL2(IDMN)
+ Integer IALE(IDMN)
+
+* alignment scores
+
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+* alignment positions
+
+ Integer IOMB(0:IDMP)
+ Integer IOM1(0:IDMP)
+ Integer IOM2(0:IDMP)
+
+ Integer IOIB(0:IDMP)
+ Integer IOI1(0:IDMP)
+ Integer IOI2(0:IDMP)
+
+ Integer IODB(0:IDMP)
+ Integer IOD1(0:IDMP)
+ Integer IOD2(0:IDMP)
+
+
+* search control values
+
+ Integer IBEG
+ Integer ILCP
+ Integer IFCP
+ Integer NLCP
+ Integer JLCP
+ Integer IFER
+
+ Integer NSCA
+
+* search only optimal match
+
+ Logical LOPT
+
+*----------------------------------------------------------------------*
+* Inititialization Section
+*----------------------------------------------------------------------*
+
+ IRC=0
+
+* alignment list
+
+ IOPT=NLOW
+ NALI=0
+
+* search control fields
+
+ IBEG=BSEQ-1
+ JLCP=LPRF/2
+ NSCA=0
+
+*----------------------------------------------------------------------*
+* two-step-forwards-one-step-backwards loop
+*----------------------------------------------------------------------*
+
+ 11 Continue
+C Write(6,'(''Searching range:'',I6,'' - '',I6)') IBEG,LSEQ
+
+ I1=IBEG
+ JALS=NLOW
+
+* initiate work arrays
+
+ Call InitR(
+ * I1,LPCI,
+ * N1,N2,BSEQ,LSEQ,
+ * IDMP,LPRF,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2)
+
+* intitiate search control values
+
+ ILCP=I1
+ IFCP=I1+1
+ NLCP=ILCP+JLCP
+
+* move one sequence position forward
+
+ I1=I1+1
+
+*----------------------------------------------------------------------*
+* loop over sequence positions
+*----------------------------------------------------------------------*
+
+ 12 Continue
+
+ NSCA=NSCA+1
+
+ Call NextR(
+ * I1,LPCI,
+ * NABC,LPRF,N1,N2,
+ * KCUT,IDMP,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * IDMS,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * JALS,JALB,JAL1,JAL2,JALE)
+C Write(6,'(20I6)') I1,(IOPM(ii1),ii1=0,LPRF)
+C Write(6,'(20I6)') I1,(IOM1(ii1),ii1=0,LPRF)
+C Write(6,'(20I6)') I1,(IOPI(ii1),ii1=0,LPRF)
+C Write(6,'(20I6)') I1,(IOI1(ii1),ii1=0,LPRF)
+C Write(6,'(20I6)') I1,(IOPD(ii1),ii1=0,LPRF)
+C Write(6,'(20I6)') I1,(IOD1(ii1),ii1=0,LPRF)
+C Write(6,'('''')')
+
+*----------------------------------------------------------------------*
+* work arrays updated, what next ?
+*----------------------------------------------------------------------*
+
+* if match found
+
+ If(JALS.GE.KCUT) then
+
+* - determine first ENTRY of current row
+
+ IFER=I1
+ Do 51 I2=N1,LPRF
+ If(IOD1(I2).LT.IFER) IFER=IOD1(I2)
+ If(IOM1(I2).LT.IFER) IFER=IOM1(I2)
+ If(IOI1(I2).LT.IFER) IFER=IOI1(I2)
+ 51 Continue
+
+
+C IFER=I1
+C L1=-1
+C L2=-1
+C L3=-1
+C Do 51 I2=N1,LPRF
+C If(IOD1(I2).LT.IFER) then
+C IFER=IOD1(I2)
+C L1=I2
+C End if
+C If(IOM1(I2).LT.IFER) then
+C IFER=IOM1(I2)
+C L2=I2
+C End if
+C If(IOI1(I2).LT.IFER) then
+C IFER=IOI1(I2)
+C L3=I2
+C End if
+C 51 Continue
+C Write(6,'(5I8)') I1,IFER,L1,L2,L3
+
+ If(IFER.GT.JAL2.OR.I1.EQ.LSEQ) then
+
+* - accept alingment
+
+ NALI=NALI+1
+ IALS(NALI)=JALS
+ IALB(NALI)=JALB
+ IAL1(NALI)=JAL1
+ IAL2(NALI)=JAL2
+ IALE(NALI)=JALE
+C Write(NERR,*) 'JAL1: ',JAL1,' JAL2: ',JAL2,' JALS: ',JALS,
+C * ' JALB: ',JALB,' JALE: ',JALE
+ If(JAL2.LT.JAL1) then
+ Write(NERR,*) 'Error: Illegal alignment found' //
+ * ' - no list produced.'
+ IRC=1
+ Go to 100
+ End if
+
+ If(NALI.GE.IDMN) then
+ Write(NERR,*) 'Warning: Too many alignments found'
+ * // ' - list may be imcomplete.'
+ IRC=-1
+ Go to 100
+ End if
+
+* - protect sequence region
+
+ Do 55 I2=JAL1,JAL2
+ LCKS(I2)=.TRUE.
+ 55 Continue
+
+* - exit if only searching for optimal alignment
+
+ If(LOPT.AND.NALI.GE.1) then
+ Go to 100
+ End if
+
+* - move backwards
+
+C Write(6,'('' interrupted at:'',I6)') I1
+ Go to 11
+
+* - or one sequence position forwards
+
+ Else
+ I1=I1+1
+ If(I1.LE.LSEQ) Go to 12
+ End if
+
+* if no match found
+
+ Else
+
+* - next check point reached ?
+
+ If(I1.GE.NLCP) then
+
+* - determine first ENTRY of current row
+
+ IFER=I1
+ Do 56 I2=N1+1,LPRF
+ If(IOD1(I2).LT.IFER) IFER=IOD1(I2)
+ If(IOM1(I2).LT.IFER) IFER=IOM1(I2)
+ If(IOI1(I2).LT.IFER) IFER=IOI1(I2)
+ 56 Continue
+
+* - update reinitialization point
+
+ If(IFER.GE.ILCP) then
+ IBEG=IFCP-1
+ IFCP=IFirst(IDMP,LPRF,IOMB,IOIB,IODB)
+ ILCP=I1
+ End if
+
+* - calculate next check point
+
+ NLCP=NLCP+JLCP
+
+ End if
+
+* - move one sequence positions forwards
+
+ I1=I1+1
+ If(I1.LE.LSEQ) Go to 12
+
+ End if
+
+* done
+
+ 99 Continue
+C Write(6,'(''Sequence length:'',I6,'' -'',I6,
+C * '' positions scanned.'')') LSEQ,NSCA
+
+ 100 Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine NextR(
+ * I1,LPCI,
+ * NABC,LPRF,N1,N2,
+ * KCUT,IDMP,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * IDMS,LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2,
+ * JALS,JALB,JAL1,JAL2,JALE)
+
+* profile:
+
+ Include 'pfdat.f'
+ Include 'pxdat.f'
+
+ Logical LPCI
+
+* sequence
+
+ Integer LSEQ
+ Integer*2 ISEQ(IDMS)
+ Logical LCKS(IDMS)
+
+* alignments
+
+ Integer JALS
+ Integer JALB
+ Integer JAL1
+ Integer JAL2
+ Integer JALE
+
+* alignment scores
+
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+* alignment positions
+
+ Integer IOMB(0:IDMP)
+ Integer IOM1(0:IDMP)
+ Integer IOM2(0:IDMP)
+
+ Integer IOIB(0:IDMP)
+ Integer IOI1(0:IDMP)
+ Integer IOI2(0:IDMP)
+
+ Integer IODB(0:IDMP)
+ Integer IOD1(0:IDMP)
+ Integer IOD2(0:IDMP)
+
+* work fields
+
+ Integer DZ
+
+* initializations
+
+ J1=ISEQ(I1)
+
+ IN=I1+1
+
+ If(I1.GE.LSEQ) then
+ MZ=MY
+ IZ=IY
+ DZ=DY
+ Else
+ MZ=MX
+ IZ=IX
+ DZ=DX
+ End if
+
+* disable match and insert vertices of protected region
+
+ If(LCKS(I1)) then
+ IOPM(N1-1)=NLOW
+ Do 10 I2=N1,N2-1
+ IOPM(I2)=NLOW
+ IOPI(I2)=NLOW
+ 10 Continue
+ End if
+
+* profile positions 0
+
+* - save previous match position
+
+ KOPM=IOPM( 0)
+ KOMB=IOMB( 0)
+ KOM1=IOM1( 0)
+ KOM2=IOM2( 0)
+
+ KI=IOPI( 0)+IIPP(J1, 0)
+
+* - match position
+
+ JI=KI+IIPP(IM, 0)
+ If(JI.GT.IIPX(XM, 0)) then
+ IOPM( 0)=JI
+ IOMB( 0)=IOIB( 0)
+ IOM1( 0)=IOI1( 0)
+ IOM2( 0)=IOI2( 0)
+ Else
+ IOPM( 0)=IIPX(XM, 0)
+ IOMB( 0)=IN
+ IOM1( 0)=LSEQ+1
+ IOM2( 0)=0
+ End if
+
+* - deletion position
+
+ JI=KI+IIPP(ID, 0)
+ If(JI.GT.IIPX(XD, 0)) then
+ IOPD( 0)=JI
+ IODB( 0)=IOIB( 0)
+ IOD1( 0)=IOI1( 0)
+ IOD2( 0)=IOI2( 0)
+ Else
+ IOPD( 0)=IIPX(XD, 0)
+ IODB( 0)=IN
+ IOD1( 0)=LSEQ+1
+ IOD2( 0)=0
+ End if
+
+* - insert position
+
+ JI=KI+IIPP(II, 0)
+ If(JI.GT.IIPX(XI, 0)) then
+ IOPI( 0)=JI
+ Else
+ IOPI( 0)=IIPX(XI, 0)
+ IOIB( 0)=IN
+ IOI1( 0)=LSEQ+1
+ IOI2( 0)=0
+ End if
+
+* - circular match extensions (presumably not necessary)
+
+C If(LPCI) then
+C KM=IOPM(LPRF-1)+IMPP(J1,LPRF)
+C If(KM+IIPP(MM, 0).GT.IOPM( 0)) then
+C IOPM( 0)=KM+IIPP(MM, 0)
+C IOMB( 0)=IOMB(LPRF-1)
+C IOM1( 0)=IOM1(LPRF-1)
+C IOM2( 0)=IOM2(LPRF-1)
+C End if
+C If(KM+IIPP(MI, 0).GT.IOPI( 0)) then
+C IOPI( 0)=KM+IIPP(MI, 0)
+C IOIB( 0)=IOMB(LPRF-1)
+C IOI1( 0)=IOM1(LPRF-1)
+C IOI2( 0)=IOM2(LPRF-1)
+C End if
+C If(KM+IIPP(MD, 0).GT.IOPD( 0)) then
+C IOPD( 0)=KM+IIPP(MD, 0)
+C IODB( 0)=IOMB(LPRF-1)
+C IOD1( 0)=IOM1(LPRF-1)
+C IOD2( 0)=IOM2(LPRF-1)
+C End if
+C End if
+* -----------------------------------------------------------
+
+* profile positions 1 to LPRF
+
+ Do 79 I2=1,LPRF
+
+ KM=KOPM + IMPP(J1,I2)
+ KI=IOPI(I2 ) + IIPP(J1,I2)
+ KD=IOPD(I2-1) + IMPP( D,I2)
+
+* - update match vertex
+
+ JB=IIPX(XM,I2)
+ JM=KM + IIPP(MM,I2)
+ JI=KI + IIPP(IM,I2)
+ JD=KD + IIPP(DM,I2)
+ KOPM=IOPM(I2)
+ Call Nstep(NEWM,IOPM(I2),JB,JM,JI,JD)
+
+* - update insert vertex
+
+ JB=IIPX(XI,I2)
+ JM=KM + IIPP(MI,I2)
+ JI=KI + IIPP(II,I2)
+ JD=KD + IIPP(DI,I2)
+ Call Nstep(NEWI,IOPI(I2),JB,JM,JI,JD)
+
+* - update deletion vertex
+
+ JB=IIPX(XD,I2)
+ JM=KM + IIPP(MD,I2)
+ JI=KI + IIPP(ID,I2)
+ JD=KD + IIPP(DD,I2)
+ Call Nstep(NEWD,IOPD(I2),JB,JM,JI,JD)
+
+* - compute alignment scores
+
+ KM=KM+IIPX(MZ,I2)
+ KI=KI+IIPX(IZ,I2)
+ KD=KD+IIPX(DZ,I2)
+
+ KE=MAX(KM,KI,KD)
+
+* - check for new maxumum
+
+ If(KE.GT.JALS) then
+ JALS=KE
+ If (JALS.EQ.KD) then
+ JALB=IODB(I2-1)
+ JAL1=IOD1(I2-1)
+ JAL2=IOD2(I2-1)
+ Else if(JALS.EQ.KM) then
+ JALB=KOMB
+ JAL1=KOM1
+ JAL2=KOM2
+ Else
+ JALB=IOIB(I2)
+ JAL1=IOI1(I2)
+ JAL2=IOI2(I2)
+ End if
+ JALE=I1
+ If(JAL1.EQ.0) JAL1=JALB
+ If(JAL2.EQ.0) JAL2=I1
+C Write(6,'(7I8)'),I1,I2,JALS,JALB,JAL1,JAL2,JALE
+ End if
+
+* - update alignment positions
+
+ JOMB=IOMB(I2)
+ JOM1=IOM1(I2)
+ JOM2=IOM2(I2)
+ If (NEWM.EQ.0) then
+ IOMB(I2)=IN
+ IOM1(I2)=LSEQ+1
+ IOM2(I2)=0
+ Else if(NEWM.EQ.1) then
+ IOMB(I2)=KOMB
+ IOM1(I2)=KOM1
+ IOM2(I2)=KOM2
+ Else if(NEWM.EQ.2) then
+ IOMB(I2)=IOIB(I2)
+ IOM1(I2)=IOI1(I2)
+ IOM2(I2)=IOI2(I2)
+ Else
+ IOMB(I2)=IODB(I2-1)
+ IOM1(I2)=IOD1(I2-1)
+ IOM2(I2)=IOD2(I2-1)
+ End if
+
+ If (NEWD.EQ.0) then
+ IODB(I2)=IN
+ IOD1(I2)=LSEQ+1
+ IOD2(I2)=0
+ Else if(NEWD.EQ.1) then
+ IODB(I2)=KOMB
+ IOD1(I2)=KOM1
+ IOD2(I2)=KOM2
+ Else if(NEWD.EQ.2) then
+ IODB(I2)=IOIB(I2)
+ IOD1(I2)=IOI1(I2)
+ IOD2(I2)=IOI2(I2)
+ Else
+ IODB(I2)=IODB(I2-1)
+ IOD1(I2)=IOD1(I2-1)
+ IOD2(I2)=IOD2(I2-1)
+ End if
+
+ If (NEWI.EQ.0) then
+ IOIB(I2)=IN
+ IOI1(I2)=LSEQ+1
+ IOI2(I2)=0
+ Else if(NEWI.EQ.1) then
+ IOIB(I2)=KOMB
+ IOI1(I2)=KOM1
+ IOI2(I2)=KOM2
+ Else if(NEWI.EQ.2) then
+ Continue
+ Else
+ IOIB(I2)=IODB(I2-1)
+ IOI1(I2)=IOD1(I2-1)
+ IOI2(I2)=IOD2(I2-2)
+ End if
+
+ KOMB=JOMB
+ KOM1=JOM1
+ KOM2=JOM2
+
+ 79 Continue
+
+* - circular extensions
+
+ If(LPCI) then
+ If(IOPM(LPRF).GT.IOPM( 0)) then
+ IOPM( 0)=IOPM(LPRF)
+ IOMB( 0)=IOMB(LPRF)
+ IOM1( 0)=IOM1(LPRF)
+ IOM2( 0)=IOM2(LPRF)
+ End if
+ If(IOPI(LPRF).GT.IOPI( 0)) then
+ IOPI( 0)=IOPI(LPRF)
+ IOIB( 0)=IOIB(LPRF)
+ IOI1( 0)=IOI1(LPRF)
+ IOI2( 0)=IOI2(LPRF)
+ End if
+ If(IOPD(LPRF).GT.IOPD( 0)) then
+ IOPD( 0)=IOPD(LPRF)
+ IODB( 0)=IODB(LPRF)
+ IOD1( 0)=IOD1(LPRF)
+ IOD2( 0)=IOD2(LPRF)
+ End if
+
+ Do 89, I2=1,LPRF
+ KD=IOPD(I2-1)+IMPP( D,I2)
+ If(IOPD(I2).GE.KD+IIPP(DD,I2)) then
+ Go to 90
+ Else
+ If(KD+IIPP(DM,I2).GT.IOPM(I2)) then
+ IOPM(I2)=KD+IIPP(DM,I2)
+ IOMB(I2)=IODB(I2-1)
+ IOM1(I2)=IOD1(I2-1)
+ IOM2(I2)=IOD2(I2-1)
+ End if
+ If(KD+IIPP(DI,I2).GT.IOPI(I2)) then
+ IOPI(I2)=KD+IIPP(DI,I2)
+ IOIB(I2)=IODB(I2-1)
+ IOI1(I2)=IOD1(I2-1)
+ IOI2(I2)=IOD2(I2-1)
+ End if
+ IOPD(I2)=KD+IIPP(DD,I2)
+ IODB(I2)=IODB(I2-1)
+ IOD1(I2)=IOD1(I2-1)
+ IOD2(I2)=IOD2(I2-1)
+ IOPT =MAX(KD+IIPX(DX,I2),IOPT)
+ End if
+
+* - - check for new maximum
+
+ KE=KD+IIPX(DZ,I2)
+
+ If(KE.GT.JALS) then
+ JALS=KE
+ JALB=IODB(I2-1)
+ JAL1=IOD1(I2-1)
+ JAL2=IOD2(I2-1)
+ If(JAL1.EQ.0) JAL1=JALB
+ If(JAL2.EQ.0) JAL2=I1
+C Write(6,'(7I8)') I1,I2,JALS,JALB,JAL1,JAL2,JALE
+
+
+ End if
+ 89 Continue
+ 90 Continue
+
+ End if
+* -----------------------------------------------------------
+
+* entry and exit from protected regions:
+
+ IOM1(N1-1)=MIN(IOM1(N1-1),IN)
+ IOM2(N1-1)=IN
+
+ Do I2=N1,N2-1
+ IOM1(I2)=MIN(IOM1(I2),IN)
+ IOI1(I2)=MIN(IOI1(I2),IN)
+ IOM2(I2)=IN
+ IOI2(I2)=IN
+ End do
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine Nstep(JSTEP,NMAX,JB,JM,JI,JD)
+
+ NMAX=JB
+ JSTEP=0
+
+ If(JD.GT.NMAX) then
+ NMAX=JD
+ JSTEP=3
+ End if
+
+ If(JM.GT.NMAX) then
+ NMAX=JM
+ JSTEP=1
+ End if
+
+ If(JI.GT.NMAX) then
+ NMAX=JI
+ JSTEP=2
+ End if
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine InitR(
+ * I1,LPCI,
+ * N1,N2,BSEQ,LSEQ,
+ * IDMP,LPRF,IIPP,IMPP,CHIP,CHMP,IIPX,
+ * IOPM,IOPI,IOPD,
+ * IOMB,IOM1,IOM2,IOIB,IOI1,IOI2,IODB,IOD1,IOD2)
+
+* profile
+
+ Include 'pfdat.f'
+ Include 'pxdat.f'
+
+ Logical LPCI
+ Integer BSEQ
+
+* alignment scores
+
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+* alignment positions
+
+ Integer IOMB(0:IDMP)
+ Integer IOM1(0:IDMP)
+ Integer IOM2(0:IDMP)
+
+ Integer IOIB(0:IDMP)
+ Integer IOI1(0:IDMP)
+ Integer IOI2(0:IDMP)
+
+ Integer IODB(0:IDMP)
+ Integer IOD1(0:IDMP)
+ Integer IOD2(0:IDMP)
+*
+ Integer ZM
+ Integer ZI
+ Integer ZD
+*
+ If(I1.LT.BSEQ) then
+ ZM=YM
+ ZI=YI
+ ZD=YD
+ Else
+ ZM=XM
+ ZI=XI
+ ZD=XD
+ End if
+
+ IOPM( 0)=IIPX(ZM, 0)
+ IOPI( 0)=IIPX(ZI, 0)
+ IOPD( 0)=IIPX(ZD, 0)
+
+ Do 8 I2=1,LPRF
+
+ KD=IOPD(I2-1)+IMPP( D,I2)
+
+ IOPM(I2)=MAX(IIPX(ZM,I2),
+ * KD+IIPP(DM,I2))
+ IOPI(I2)=MAX(IIPX(ZI,I2),
+ * KD+IIPP(DI,I2))
+ IOPD(I2)=MAX(IIPX(ZD,I2),
+ * KD+IIPP(DD,I2))
+ 8 Continue
+
+* - circular extensions
+
+ If(LPCI) then
+ IOPM( 0)=MAX(IOPM( 0),IOPM(LPRF))
+ IOPI( 0)=MAX(IOPI( 0),IOPI(LPRF))
+ IOPD( 0)=MAX(IOPD( 0),IOPD(LPRF))
+
+ Do 9 I2=1, LPRF
+ KD=IOPD(I2-1)+IMPP( D,I2)
+ If(IOPD(I2).GE.KD+IIPP(DD,I2)) then
+ Go to 10
+ Else
+ IOPM(I2)=MAX(KD+IIPP(DM,I2),IOPM(I2))
+ IOPI(I2)=MAX(KD+IIPP(DI,I2),IOPI(I2))
+ IOPD(I2)= KD+IIPP(DD,I2)
+ End if
+ 9 Continue
+ 10 Continue
+ End if
+* -----------------------------------------------------------
+
+* initialise begin, entry, exit positions
+
+ IN=I1+1
+ Do 20 I2=0,LPRF
+ IOMB(I2)=IN
+ IOM1(I2)=LSEQ+1
+ IOM2(I2)=0
+
+ IOIB(I2)=IN
+ IOI1(I2)=LSEQ+1
+ IOI2(I2)=0
+
+ IODB(I2)=IN
+ IOD1(I2)=LSEQ+1
+ IOD2(I2)=0
+ 20 Continue
+
+* entry and exit positions within protected region
+
+ IOM1(N1-1)=IN
+ IOM2(N1-1)=IN
+
+ Do I2=N1,N2-1
+ IOM1(I2)=IN
+ IOM2(I2)=IN
+ IOI1(I2)=IN
+ IOI2(I2)=IN
+ End do
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Integer Function IFirst(IDMP,LPRF,IOMB,IOIB,IODB)
+
+ Integer IOMB(0:IDMP)
+ Integer IOIB(0:IDMP)
+ Integer IODB(0:IDMP)
+
+ IFirst=IOMB(LPRF)
+ Do 9 I1=LPRF,0,-1
+ If(IOMB(I1).LT.IFirst) IFirst=IOMB(I1)
+ If(IOIB(I1).LT.IFirst) IFirst=IOIB(I1)
+ If(IODB(I1).LT.IFirst) IFirst=IODB(I1)
+ 9 Continue
+
+ Return
+ End
diff --git a/xalit.f b/xalit.f
new file mode 100644
index 0000000..24394be
--- /dev/null
+++ b/xalit.f
@@ -0,0 +1,879 @@
+*----------------------------------------------------------------------*
+* $Id: xalit.f,v 2.9 2003/04/11 13:43:53 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine XALIT
+ * (CABC,LPRF,LPCI,N1,N2,
+ * IIPP,IMPP,IIPX,
+ * LSEQ,ISEQ,LCKS,
+ * IOPM,IOPI,IOPD,
+ * LALI,CALI,CPMA,IMSC,
+ * IOPT,JALB,JALE,
+ * NMAT,
+ * PK2E,PK2B,PK3E,PK3B,
+ * PJ1E,PJ1B,PLAL,
+ * OPTM,
+ * IPMB,IPME,
+ * IRC)
+
+* profile and sequence fields :
+
+ Include 'ardim.f'
+ Include 'gsdat.f'
+ Include 'pfdat.f'
+ Include 'pxdat.f'
+ Include 'sterr.f'
+
+* sequence
+
+ Integer LSEQ
+ Integer*2 ISEQ(IDMS)
+ Logical LCKS(IDMS)
+
+* alignment
+
+ Integer LALI
+ Character CALI(IDMA)
+ Character CPMA(IDMM)
+ Character CH
+
+* multiple matches of circular profile
+
+ Integer NMAT
+C Integer IMMB(IDMN,IDML)
+C Integer IMME(IDMN,IDML)
+ Integer PK2E(*)
+ Integer PK2B(*)
+ Integer PK3E(*)
+ Integer PK3B(*)
+ Integer PJ1E(*)
+ Integer PJ1B(*)
+ Integer PLAL(*)
+ Integer IMSC(*)
+C Integer IMMS(512)
+
+ Logical OPTM
+
+* prune delete positions at beginning and end of multiple matches
+ Logical LDFE
+* Logical Delete To Begin
+ Logical LDTB
+* Position (in alignment) Delete To Begin
+ Integer PDTB
+* Score Delete to Begin
+ Integer SDTB
+* Temp Delete to Begin score
+ Integer TDTB
+
+* work fields
+
+ Integer TK1B
+ Integer TK2B
+ Integer TK3B
+ Integer TJ1B
+ Integer TLAL
+
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+ Integer ZM
+ Integer ZI
+ Integer ZD
+
+ Integer MZ
+ Integer IZ
+ Integer DZ
+
+ Integer KOPM
+
+ Logical LIMM
+
+
+ IRC=0
+ MLOW=NLOW/4*3
+
+C If(NABC.LT.20) then
+C CABC(0)='N'
+C Else
+C CABC(0)='X'
+C End if
+
+ If((LPRF+1)*(JALE-JALB+1).GT.IDMM) then
+ Write(NERR,*) ' Error: Alignment path matrix exceeds buffer ',
+ * 'size (',IDMM,').'
+ IRC=1
+ Go to 100
+ End if
+ If((JALE-JALB+1).GT.IDMA) then
+ Write(NERR,*) ' Error: Alignment exceeds buffer ',
+ * 'size (',IDMA,').'
+ IRC=1
+ Go to 100
+ End if
+
+ K1=0
+
+* beginning of sequence segment
+
+ If(JALB.EQ.1) then
+ ZM=YM
+ ZI=YI
+ ZD=YD
+ Else
+ ZM=XM
+ ZI=XI
+ ZD=XD
+ End if
+ MZ=MX
+ IZ=IX
+ DZ=DX
+
+ K1=K1+1
+ I2=0
+
+ KM=NLOW
+ KI=NLOW
+ KD=NLOW
+
+ Call MaxP
+ * (IOPM(I2),IOPI(I2),IOPD(I2),JM,JI,JD,KM,KI,KD,
+ * IIPP(MM,I2),IIPP(MI,I2),IIPP(MD,I2),
+ * IIPP(IM,I2),IIPP(II,I2),IIPP(ID,I2),
+ * IIPP(DM,I2),IIPP(DI,I2),IIPP(DD,I2),
+ * IIPX(ZM,I2),IIPX(ZI,I2),IIPX(ZD,I2))
+ Call Ncode(CPMA(K1),JM,JI,JD)
+
+ Do 9, I2=1,LPRF
+
+ K1=K1+1
+
+ KM=NLOW
+ KI=NLOW
+ KD=IOPD(I2-1)+IMPP( D,I2)
+
+ Call MaxP
+ * (IOPM(I2),IOPI(I2),IOPD(I2),JM,JI,JD,KM,KI,KD,
+ * IIPP(MM,I2),IIPP(MI,I2),IIPP(MD,I2),
+ * IIPP(IM,I2),IIPP(II,I2),IIPP(ID,I2),
+ * IIPP(DM,I2),IIPP(DI,I2),IIPP(DD,I2),
+ * IIPX(ZM,I2),IIPX(ZI,I2),IIPX(ZD,I2))
+ Call Ncode(CPMA(K1),JM,JI,JD)
+
+ 9 Continue
+
+* - circular extensions
+
+ If(LPCI) then
+ L1=K1-LPRF
+ Call Dcode(CPMA(L1),LM,LI,LD)
+ If(IOPM( 0).LT.IOPM(LPRF)) then
+ IOPM( 0)=IOPM(LPRF)
+ LM=JM
+ End if
+ If(IOPI( 0).LT.IOPI(LPRF)) then
+ IOPI( 0)=IOPI(LPRF)
+ LI=JI
+ End if
+ If(IOPD( 0).LT.IOPD(LPRF)) then
+ IOPD( 0)=IOPD(LPRF)
+ LD=JD
+ End if
+ Call Ncode(CPMA(L1),LM,LI,LD)
+
+ Do I2=1,LPRF
+ L1=L1+1
+ KD=IOPD(I2-1)+IMPP( D,I2)
+ If(IOPD(I2).GE.KD+IIPP(DD,I2)) then
+ Go to 10
+ Else
+ Call Dcode(CPMA(L1),LM,LI,LD)
+ If(IOPM(I2).LT.KD+IIPP(DM,I2)) then
+ IOPM(I2)=KD+IIPP(DM,I2)
+ LM=3
+ End if
+ If(IOPI(I2).LT.KD+IIPP(DI,I2)) then
+ IOPI(I2)=KD+IIPP(DI,I2)
+ LI=3
+ End if
+ IOPD(I2)=KD+IIPP(DD,I2)
+ LD=3
+ Call Ncode(CPMA(L1),LM,LI,LD)
+ End if
+ End do
+ 10 Continue
+ End if
+C Call wtrace(IDMP,IDMM,LPRF,CPMA,K1-LPRF,IOPM,IOPI,IOPD)
+* -----------------------------------------------------------
+
+
+* internal sequence positions
+
+ ZM=XM
+ ZI=XI
+ ZD=XD
+
+ Do 25 I1=JALB,JALE-1
+
+ If(LCKS(I1)) then
+ IOPM(N1-1)=NLOW
+ Do I2=N1,N2-1
+ IOPM(I2)=NLOW
+ IOPI(I2)=NLOW
+ End do
+ End if
+
+ J1=ISEQ(I1)
+ K1=K1+1
+ I2=0
+
+ KM=NLOW
+ KI=IOPI( 0)+IIPP(J1, 0)
+ KD=NLOW
+
+ KOPM=IOPM( 0)
+
+ Call MaxP
+ * (IOPM(I2),IOPI(I2),IOPD(I2),JM,JI,JD,KM,KI,KD,
+ * IIPP(MM,I2),IIPP(MI,I2),IIPP(MD,I2),
+ * IIPP(IM,I2),IIPP(II,I2),IIPP(ID,I2),
+ * IIPP(DM,I2),IIPP(DI,I2),IIPP(DD,I2),
+ * IIPX(ZM,I2),IIPX(ZI,I2),IIPX(ZD,I2))
+ Call Ncode(CPMA(K1),JM,JI,JD)
+
+ Do 19 I2=1,LPRF
+
+ K1=K1+1
+
+ KM=KOPM +IMPP(J1,I2)
+ KI=IOPI(I2 )+IIPP(J1,I2)
+ KD=IOPD(I2-1)+IMPP( D,I2)
+
+ KOPM=IOPM(I2)
+
+ Call MaxP
+ * (IOPM(I2),IOPI(I2),IOPD(I2),JM,JI,JD,KM,KI,KD,
+ * IIPP(MM,I2),IIPP(MI,I2),IIPP(MD,I2),
+ * IIPP(IM,I2),IIPP(II,I2),IIPP(ID,I2),
+ * IIPP(DM,I2),IIPP(DI,I2),IIPP(DD,I2),
+ * IIPX(ZM,I2),IIPX(ZI,I2),IIPX(ZD,I2))
+ Call Ncode(CPMA(K1),JM,JI,JD)
+ 19 Continue
+
+* - circular extensions
+
+ If(LPCI) then
+ L1=K1-LPRF
+ Call Dcode(CPMA(L1),LM,LI,LD)
+ If(IOPM( 0).LT.IOPM(LPRF)) then
+ IOPM( 0)=IOPM(LPRF)
+ LM=JM
+ End if
+ If(IOPI( 0).LT.IOPI(LPRF)) then
+ IOPI( 0)=IOPI(LPRF)
+ LI=JI
+ End if
+ If(IOPD( 0).LT.IOPD(LPRF)) then
+ IOPD( 0)=IOPD(LPRF)
+ LD=JD
+ End if
+ Call Ncode(CPMA(L1),LM,LI,LD)
+
+ Do I2=1,LPRF
+ L1=L1+1
+ KD=IOPD(I2-1)+IMPP( D,I2)
+ If(IOPD(I2).GE.KD+IIPP(DD,I2)) then
+ Go to 20
+ Else
+ Call Dcode(CPMA(L1),LM,LI,LD)
+ If(IOPM(I2).LT.KD+IIPP(DM,I2)) then
+ IOPM(I2)=KD+IIPP(DM,I2)
+ LM=3
+ End if
+ If(IOPI(I2).LT.KD+IIPP(DI,I2)) then
+ IOPI(I2)=KD+IIPP(DI,I2)
+ LI=3
+ End if
+ IOPD(I2)=KD+IIPP(DD,I2)
+ LD=3
+ Call Ncode(CPMA(L1),LM,LI,LD)
+ End if
+ End do
+ 20 Continue
+ End if
+* -----------------------------------------------------------
+C Call wtrace(IDMP,IDMM,LPRF,CPMA,K1-LPRF,IOPM,IOPI,IOPD)
+
+ 25 Continue
+
+* end of sequence
+
+ If(JALE.EQ.LSEQ) then
+ MZ=MY
+ IZ=IY
+ DZ=DY
+ End if
+
+ If(LCKS(JALE)) then
+ IOPM(N1-1)=NLOW
+ Do I2=N1,N2-1
+ IOPM(I2)=NLOW
+ IOPI(I2)=NLOW
+ End do
+ End if
+
+ J1=ISEQ(JALE)
+ K1=K1+1
+ I2=0
+
+ KM=NLOW
+ KI=IOPI( 0)+IIPP(J1, 0)
+ KD=NLOW
+
+ KOPM=IOPM( 0)
+
+ Call MaxP
+ * (IOPM(I2),IOPI(I2),IOPD(I2),JM,JI,JD,KM,KI,KD,
+ * IIPP(MM,I2),IIPP(MI,I2),IIPP(MD,I2),
+ * IIPP(IM,I2),IIPP(II,I2),IIPP(ID,I2),
+ * IIPP(DM,I2),IIPP(DI,I2),IIPP(DD,I2),
+ * IIPX(ZM,I2),IIPX(ZI,I2),IIPX(ZD,I2))
+ Call Ncode(CPMA(K1),JM,JI,JD)
+
+ I2=0
+ If(KI+IIPX(IZ,I2).GE.IOPT) then
+ JS=1
+ Go to 50
+ End if
+
+ Do 29 I2=1,LPRF
+
+ K1=K1+1
+
+ KM=KOPM +IMPP(J1,I2)
+ KI=IOPI(I2 )+IIPP(J1,I2)
+ KD=IOPD(I2-1)+IMPP( D,I2)
+
+ KOPM=IOPM(I2)
+
+ Call MaxP
+ * (IOPM(I2),IOPI(I2),IOPD(I2),JM,JI,JD,KM,KI,KD,
+ * IIPP(MM,I2),IIPP(MI,I2),IIPP(MD,I2),
+ * IIPP(IM,I2),IIPP(II,I2),IIPP(ID,I2),
+ * IIPP(DM,I2),IIPP(DI,I2),IIPP(DD,I2),
+ * IIPX(ZM,I2),IIPX(ZI,I2),IIPX(ZD,I2))
+ Call Ncode(CPMA(K1),JM,JI,JD)
+
+ If (KI+IIPX(IZ,I2).GE.IOPT) then
+ JS=1
+ Go to 50
+ Else if(KM+IIPX(MZ,I2).GE.IOPT) then
+ JS=2
+ Go to 50
+ Else if(KD+IIPX(DZ,I2).GE.IOPT) then
+ JS=3
+ Go to 50
+ End if
+
+ 29 Continue
+
+* - circular extensions
+
+ If(LPCI) then
+ L1=K1-LPRF
+ Call Dcode(CPMA(L1),LM,LI,LD)
+ If(IOPD( 0).LT.IOPD(LPRF)) then
+ IOPD( 0)=IOPD(LPRF)
+ LD=JD
+ End if
+ Call Ncode(CPMA(L1),LM,LI,LD)
+
+ Do I2=1,LPRF
+ L1=L1+1
+ KD=IOPD(I2-1)+IMPP( D,I2)
+ If(KD+IIPX(DZ,I2).GE.IOPT) then
+ JS=3
+ K1=L1
+ End if
+ If(IOPD(I2).GE.KD+IIPP(DD,I2)) then
+ Go to 30
+ Else
+ Call Dcode(CPMA(L1),LM,LI,LD)
+ IOPD(I2)=KD+IIPP(DD,I2)
+ LD=3
+ Call Ncode(CPMA(L1),LM,LI,LD)
+ End if
+ End do
+ 30 Continue
+ End if
+* -----------------------------------------------------------
+
+ 50 Continue
+
+C Call wtrace(IDMP,IDMM,LPRF,CPMA,K1-LPRF,IOPM,IOPI,IOPD)
+
+ K2=JALE
+ K3=I2
+ IPME=K3-LPRF-1
+C Write(NERR,*) 'K1: ',K1,' K2: ',K2,' K3: ',K3,
+C * ' IPME: ',IPME,' OPTM: ',OPTM
+
+
+* trace back
+
+ JO=0
+ K4=0
+ K5=IOPT
+ J1=0
+ Do I1=LPRF,K3+1,-1
+ J1=J1+1
+ CALI(J1)='-'
+ End do
+
+ LIMM=.FALSE.
+ SDTB=MLOW
+ TDTB=MLOW
+ LDTB=.FALSE.
+ 60 Continue
+C Write(6,'(5I5)') K1,K2,K3,JS
+
+* insert position
+
+C Write(NERR,*)'JO: ',JO,' JS: ',JS
+
+ If (JS.EQ.1) then
+ LDTB=.FALSE.
+ If(LIMM.AND.OPTM) then
+ LDFE=.FALSE.
+ If(JO.EQ.1) then
+ IMSC(K4)=IMSC(K4)+IIPP(II,K3)
+C Write(NERR,*)'Score: ',IIPP(II,K3)
+ Else if(JO.EQ.2) then
+ IMSC(K4)=IMSC(K4)+IIPP(MI,K3)
+C Write(NERR,*)'Score: ',IIPP(IM,K3)
+ Else if(JO.EQ.3) then
+ IMSC(K4)=IMSC(K4)+IIPP(DI,K3)
+C Write(NERR,*)'Score: ',IIPP(ID,K3)
+ End if
+ IMSC(K4)=IMSC(K4)+IIPP(ISEQ(K2),K3)
+C Write(NERR,*)'Score: ',IIPP(ISEQ(K2),K3)
+ End if
+ J1=J1+1
+ CALI(J1)=Char(Ichar(CABC(ISEQ(K2)))+32)
+C Write(NERR,*) 'CALI(',J1,'): ',CALI(J1),' No Match',
+C * ' JS: ',JS
+ K1=K1-LPRF-1
+ K2=K2-1
+
+* match position
+
+ Else if(JS.EQ.2) then
+ LDTB=.FALSE.
+ If(LIMM.AND.OPTM) then
+ If(JO.EQ.1) then
+ IMSC(K4)=IMSC(K4)+IMPP(ISEQ(K2),K3)
+C Write(NERR,*)'Score: ',IMPP(ISEQ(K2),K3)
+ IMSC(K4)=IMSC(K4)+IIPP(MI,K3)
+C Write(NERR,*)'Score: ',IIPP(MI,K3)
+ Else if(JO.EQ.2) then
+ LDFE=.FALSE.
+ IMSC(K4)=IMSC(K4)+IMPP(ISEQ(K2),K3)
+C Write(NERR,*)'Score: ',IMPP(ISEQ(K2),K3)
+ IMSC(K4)=IMSC(K4)+IIPP(MM,K3)
+C Write(NERR,*)'Score: ',IIPP(MM,K3)
+ Else if(JO.EQ.3) then
+ If((LDFE.EQV..TRUE.).AND.
+ * (IIPX(MX,K3).GE.(IMSC(K4)+IIPP(MD,K3)))) then
+ PK2E(K4)=K2
+ PK3E(K4)=K3
+ PJ1E(K4)=J1
+ IMSC(K4)=IIPX(MX,K3)+IMPP(ISEQ(K2),K3)
+ Else
+ IMSC(K4)=IMSC(K4)+IMPP(ISEQ(K2),K3)
+C Write(NERR,*)'Score: ',IMPP(ISEQ(K2),K3)
+ IMSC(K4)=IMSC(K4)+IIPP(MD,K3)
+C Write(NERR,*)'Score: ',IIPP(MD,K3)
+ End if
+ End if
+ LDFE=.FALSE.
+ Else if(.NOT.LIMM.AND.OPTM) then
+ K4=K4+1
+ PK2E(K4)=K2
+ PK3E(K4)=K3
+ PJ1E(K4)=J1
+ If(K2.GE.LSEQ.AND.IIPX(MY,K3).GT.MLOW) then
+ IMSC(K4)=IIPX(MY,K3)
+C Write(NERR,*)'Score: ',IIPX(MY,K3)
+ Else if(IIPX(MX,K3).GT.MLOW) then
+ IMSC(K4)=IIPX(MX,K3)
+C Write(NERR,*)'Score: ',IIPX(MX,K3)
+ Else
+ IMSC(K4)=0
+C Write(NERR,*)'Score: 0'
+ End if
+ IMSC(K4)=IMSC(K4)+IMPP(ISEQ(K2),K3)
+C Write(NERR,*)'Score: ',IMPP(ISEQ(K2),K3)
+C Write(NERR,*) 'End mult match nb: ',K4,' in match'
+C Write(NERR,*) 'PK2E: ',PK2E(K4)
+C Write(NERR,*) 'PK3E: ',PK3E(K4)
+C Write(NERR,*) 'PJ1E: ',PJ1E(K4)
+ LIMM=.TRUE.
+ LDFE=.FALSE.
+ SDTB=MLOW
+ TDTB=MLOW
+ End if
+ J1=J1+1
+ CALI(J1)=CABC(ISEQ(K2))
+C Write(NERR,*) 'CALI(',J1,'): ',CALI(J1),' Match',
+C * ' JS: ',JS
+ K1=K1-LPRF-2
+ K2=K2-1
+ K3=K3-1
+ If(LPCI.AND.K3.EQ.0) then
+ If(LIMM.AND.OPTM) then
+ PK2B(K4)=K2+1
+ PK3B(K4)=K3+1
+ PJ1B(K4)=J1
+ PLAL(K4)=PJ1B(K4)-PJ1E(K4)
+ If(K2.LE.1.AND.IIPX(YM,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(YM,K3)
+C Write(NERR,*)'Score: ',IIPX(YM,K3)
+ Else if(IIPX(XM,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(XM,K3)
+C Write(NERR,*)'Score: ',IIPX(XM,K3)
+* Else
+* Do nothing
+ End if
+C Write(NERR,*) 'Begin mult match nb: ',K4,' in match'
+C Write(NERR,*) 'PK2B: ',PK2B(K4)
+C Write(NERR,*) 'PK3B: ',PK3B(K4)
+C Write(NERR,*) 'PJ1B: ',PJ1B(K4)
+C Write(NERR,*) 'PLAL: ',PLAL(K4)
+ LIMM=.FALSE.
+ End if
+ K3=K3+LPRF
+ K1=K1+LPRF
+ End if
+
+* delete position
+
+ Else if(JS.EQ.3) then
+ LDTB=.TRUE.
+ If(LIMM.AND.OPTM) then
+ If(JO.EQ.1) then
+ TDTB=IMSC(K4)+IIPX(XI,K3)
+ IMSC(K4)=IMSC(K4)+IMPP(D,K3)
+C Write(NERR,*)'Score: ',IMPP(D,K3)
+ IMSC(K4)=IMSC(K4)+IIPP(DI,K3)
+C Write(NERR,*)'Score: ',IIPP(DI,K3)
+ Else if(JO.EQ.2) then
+ TDTB=IMSC(K4)+IIPX(XM,K3)
+ IMSC(K4)=IMSC(K4)+IMPP(D,K3)
+C Write(NERR,*)'Score: ',IMPP(D,K3)
+ IMSC(K4)=IMSC(K4)+IIPP(DM,K3)
+C Write(NERR,*)'Score: ',IIPP(DM,K3)
+ Else if(JO.EQ.3) then
+ TDTB=IMSC(K4)+IIPX(XD,K3)
+ IMSC(K4)=IMSC(K4)+IMPP(D,K3)
+C Write(NERR,*)'Score: ',IMPP(D,K3)
+ IMSC(K4)=IMSC(K4)+IIPP(DD,K3)
+C Write(NERR,*)'Score: ',IIPP(DD,K3)
+ End if
+ If(TDTB.LT.MLOW) TDTB=MLOW
+ If(TDTB.GT.SDTB) then
+ SDTB=TDTB
+ TK1B=K1
+ TK2B=K2+1
+ TK3B=K3
+ TJ1B=J1
+ TLAL=TJ1B-PJ1E(K4)
+ End if
+ Else if(.NOT.LIMM.AND.OPTM) then
+ K4=K4+1
+ PK2E(K4)=K2
+ PK3E(K4)=K3
+ PJ1E(K4)=J1
+ If(K2.GE.LSEQ.AND.IIPX(DY,K3).GT.MLOW) then
+ IMSC(K4)=IIPX(DY,K3)
+C Write(NERR,*)'Score: ',IIPX(DY,K3)
+ Else if(IIPX(DX,K3).GT.MLOW) then
+ IMSC(K4)=IIPX(DX,K3)
+C Write(NERR,*)'Score: ',IIPX(DX,K3)
+ Else
+ IMSC(K4)=0
+ End if
+ IMSC(K4)=IMSC(K4)+IMPP(D,K3)
+C Write(NERR,*)'Score: ',IMPP(D,K3)
+C Write(NERR,*) 'End mult match nb: ',K4,' in del'
+C Write(NERR,*) 'PK2E: ',PK2E(K4)
+C Write(NERR,*) 'PK3E: ',PK3E(K4)
+C Write(NERR,*) 'PJ1E: ',PJ1E(K4)
+ LIMM=.TRUE.
+ LDFE=.TRUE.
+ SDTB=NLOW
+ TDTB=NLOW
+ End if
+ J1=J1+1
+ CALI(J1)='-'
+C Write(NERR,*) 'CALI(',J1,'): ',CALI(J1),' Deletion',
+C * ' JS: ',JS
+ K1=K1-1
+ K3=K3-1
+ If(LPCI.AND.K3.EQ.0) then
+ If(LIMM.AND.OPTM) then
+ If(K2.LE.1.AND.IIPX(YD,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(YD,K3)
+C Write(NERR,*)'Score: ',IIPX(YD,K3)
+ Else if(IIPX(XD,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(XD,K3)
+C Write(NERR,*)'Score: ',IIPX(XD,K3)
+* Else
+* Do nothing
+ End if
+ If(.NOT.LDTB.OR.IMSC(K4).LE.-99999
+ * .OR.SDTB.LT.IMSC(K4)) then
+ PK2B(K4)=K2+1
+ PK3B(K4)=K3+1
+ PJ1B(K4)=J1
+ PLAL(K4)=PJ1B(K4)-PJ1E(K4)
+C Write(NERR,*) 'Begin mult match nb: ',K4,' in del'
+C Write(NERR,*) 'LDTB: ',LDTB
+C Write(NERR,*) 'IMSC: ',IMSC(K4)
+C Write(NERR,*) 'PK2B: ',PK2B(K4)
+C Write(NERR,*) 'PK3B: ',PK3B(K4)
+C Write(NERR,*) 'PJ1B: ',PJ1B(K4)
+C Write(NERR,*) 'PLAL: ',PLAL(K4)
+ Else
+ IMSC(K4)=SDTB
+ PK2B(K4)=TK2B
+ PK3B(K4)=TK3B+1
+ PJ1B(K4)=TJ1B
+ PLAL(K4)=TLAL
+C Write(NERR,*) 'Begin mult match nb: ',K4,' in del_t_b'
+C Write(NERR,*) 'LDTB: ',LDTB
+C Write(NERR,*) 'IMSC: ',IMSC(K4)
+C Write(NERR,*) 'PK2B: ',PK2B(K4)
+C Write(NERR,*) 'PK3B: ',PK3B(K4)
+C Write(NERR,*) 'PJ1B: ',PJ1B(K4)
+C Write(NERR,*) 'PLAL: ',PLAL(K4)
+ End if
+ LIMM=.FALSE.
+ End if
+ K3=K3+LPRF
+ K1=K1+LPRF
+ End if
+ End if
+
+* next traceback step
+
+ Call Dcode(CPMA(K1),JM,JI,JD)
+C Write(NERR,*) 'K1: ',K1,' JM: ',JM,' JI: ',JI,
+C * ' JD: ',JD,' JS: ',JS
+
+ JO=JS
+
+ If (JS.EQ.1) then
+ JS=JI
+ Else if(JS.EQ.2) then
+ JS=JM
+ Else if(JS.EQ.3) then
+ JS=JD
+ End if
+
+ If(JS.NE.0) Go to 60
+
+C Write(NERR,*) 'JS eq 0 for: ',K2
+
+ If(LIMM.AND.OPTM) then
+ If(K2.LT.1) then
+ If(JO.EQ.1.AND.IIPX(YI,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(YI,K3)
+C Write(NERR,*)'Score: ',IIPX(YI,K3)
+ Else if(JO.EQ.2.AND.IIPX(YM,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(YM,K3)
+C Write(NERR,*)'Score: ',IIPX(YM,K3)
+ Else if(JO.EQ.3.AND.IIPX(YD,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(YD,K3)
+C Write(NERR,*)'Score: ',IIPX(YD,K3)
+ End if
+ Else
+ If(JO.EQ.1.AND.IIPX(XI,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(XI,K3)
+C Write(NERR,*)'Score: ',IIPX(XI,K3)
+ Else if(JO.EQ.2.AND.IIPX(XM,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(XM,K3)
+C Write(NERR,*)'Score: ',IIPX(XM,K3)
+ Else if(JO.EQ.3.AND.IIPX(XD,K3).GT.MLOW) then
+ IMSC(K4)=IMSC(K4)+IIPX(XD,K3)
+C Write(NERR,*)'Score: ',IIPX(XD,K3)
+ End if
+ End if
+ If(.NOT.LDTB.OR.IMSC(K4).LE.-99999
+ * .OR.SDTB.LT.IMSC(K4)) then
+ PK2B(K4)=K2+1
+ PK3B(K4)=K3+1
+ PJ1B(K4)=J1
+ PLAL(K4)=PJ1B(K4)-PJ1E(K4)
+ Else
+ IMSC(K4)=SDTB
+ PK2B(K4)=TK2B
+ PK3B(K4)=TK3B+1
+ PJ1B(K4)=TJ1B
+ PLAL(K4)=TLAL
+ End if
+C Write(NERR,*) 'Begin mult match: ',K4
+C Write(NERR,*) 'PK2B: ',PK2B(K4)
+C Write(NERR,*) 'PK3B: ',PK3B(K4)
+C Write(NERR,*) 'PJ1B: ',PJ1B(K4)
+C Write(NERR,*) 'PLAL: ',PLAL(K4)
+ End if
+
+ If(K3.GE.LPRF) K3=0
+
+ Do I1=K3,1,-1
+C Write(NERR,*) 'Add deletions'
+ J1=J1+1
+ CALI(J1)='-'
+ End do
+
+ LALI=J1
+ If(OPTM) then
+ NMAT=K4
+C Write(NERR,*)'*** Scores:'
+C Write(NERR,*)(IMSC(ii1),ii1=1,NMAT)
+ End if
+
+* reverse begin and end positions in alignment
+
+ If(OPTM) then
+ Do I1=1,NMAT
+ PJ1B(I1)=LALI-PJ1B(I1)+1
+ PJ1E(I1)=LALI-PJ1E(I1)
+ End do
+ End if
+
+* reverse alignment
+
+ J1=(LALI+1)/2
+ Do I1=LALI/2+1,LALI
+ CH=CALI(I1)
+ CALI(I1)=CALI(J1)
+ CALI(J1)=CH
+ J1=J1-1
+ End do
+
+ IPMB=K3+1
+
+ 100 Return
+
+ End
+*----------------------------------------------------------------------*
+ Subroutine MaxP
+ * (IOPM,IOPI,IOPD,JM,JI,JD,KM,KI,KD,
+ * IMM,IMI,IMD,IIM,III,IID,
+ * IDM,IDI,IDD,IZM,IZI,IZD)
+
+ JMM=KM+IMM
+ JMI=KM+IMI
+ JMD=KM+IMD
+ JIM=KI+IIM
+ JII=KI+III
+ JID=KI+IID
+ JDM=KD+IDM
+ JDI=KD+IDI
+ JDD=KD+IDD
+
+ IOPM=IZM
+ JM=0
+ IOPI=IZI
+ JI=0
+ IOPD=IZD
+ JD=0
+
+ If(JIM.GT.IOPM) then
+ IOPM=JIM
+ JM=1
+ End if
+ If(JMM.GT.IOPM) then
+ IOPM=JMM
+ JM=2
+ End if
+ If(JDM.GT.IOPM) then
+ IOPM=JDM
+ JM=3
+ End if
+
+ If(JII.GT.IOPI) then
+ IOPI=JII
+ JI=1
+ End if
+ If(JMI.GT.IOPI) then
+ IOPI=JMI
+ JI=2
+ End if
+ If(JDI.GT.IOPI) then
+ IOPI=JDI
+ JI=3
+ End if
+
+ If(JID.GT.IOPD) then
+ IOPD=JID
+ JD=1
+ End if
+ If(JMD.GT.IOPD) then
+ IOPD=JMD
+ JD=2
+ End if
+ If(JDD.GT.IOPD) then
+ IOPD=JDD
+ JD=3
+ End if
+
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine Ncode(CPMA,JM,JI,JD)
+
+ Character CPMA
+
+ CPMA=Char(JM*16+JI*4+JD)
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine Dcode(CPMA,JM,JI,JD)
+
+ Character CPMA
+
+ JD=Ichar(CPMA)
+ JM=JD/16
+ JD=JD-JM*16
+ JI=JD/ 4
+ JD=JD-JI* 4
+ Return
+ End
+*----------------------------------------------------------------------*
+ Subroutine wtrace(IDMP,IDMM,LPRF,CPMA,K1,IOPM,IOPI,IOPD)
+
+ Character CPMA(IDMM)
+ Integer IOPM(0:IDMP)
+ Integer IOPI(0:IDMP)
+ Integer IOPD(0:IDMP)
+
+ Integer IM(20)
+ Integer II(20)
+ Integer ID(20)
+
+ J1=1
+ Do I1=K1,K1+LPRF
+ Call Dcode(CPMA(I1),IM(J1),II(J1),ID(J1))
+ J1=J1+1
+ End do
+
+ Write(6,'(I4)') K1/(LPRF+1)
+ Write(6,'(20(I4,I2))')(IOPM(ii1-1),IM(ii1),ii1=1,LPRF+1)
+ Write(6,'(20(I4,I2))')(IOPI(ii1-1),II(ii1),ii1=1,LPRF+1)
+ Write(6,'(20(I4,I2))')(IOPD(ii1-1),ID(ii1),ii1=1,LPRF+1)
+ Return
+ End
+
diff --git a/xprsm.f b/xprsm.f
new file mode 100644
index 0000000..881fea4
--- /dev/null
+++ b/xprsm.f
@@ -0,0 +1,468 @@
+*----------------------------------------------------------------------*
+* $Id: xprsm.f,v 2.12 2003/12/09 13:42:42 vflegel Exp $
+*----------------------------------------------------------------------*
+* Version: File under developpment for release 2.3
+*----------------------------------------------------------------------*
+ Subroutine XPRSM(JSEQ,JMMA,LPMM,
+ * LUNI,LOUT,LNOR,LREV,OPTZ,OPTL,OPLU,OPTB,
+ * CHID,CHAC,CHFH,CPID,CPAC,OPTR,OPTF,LDRS,
+ * IOPT,JALB,JALE,NALI,IPMB,IPME,
+ * JCUT,MCLE,CCUT,ICUT,JCNM,RCUT,MCUT,
+ * RNOP,KNPM,MAXN,INOR,IFUN,MNUM,LSEQ,RAVE)
+
+* profile parameters
+
+ Include 'codat.f'
+
+ Real RNOP(KNPM,MAXN)
+
+* logical switches
+
+ Logical LUNI
+ Logical LOUT
+ Logical LNOR
+ Logical LREV
+ Logical OPTL
+ Logical OPLU
+ Logical OPTZ
+ Logical OPTB
+ Logical OPTR
+ Logical OPTF
+
+ Logical LPMM
+ Logical LFCL
+ Logical LDRS
+
+
+* sequence and profile header
+
+ Character*(*) CHID
+ Character*(*) CHAC
+ Character*(*) CHFH
+ Character*(*) CPID
+ Character*(*) CPAC
+
+* Output fields
+
+ Character*13 CHLE
+ Character*20 CHNS
+ Character*17 CHRS
+ Character*64 CHLO
+ Character*21 CHSE
+ Character*17 CHTY
+
+ Character*21 CHPP
+
+ Character*24 CHPS
+ Character*24 CHPE
+ Character*09 CHST
+ Character*64 CHER
+ Character*64 CHMN
+ Character*22 CHRN
+ Character*26 CHPN
+
+ Character*64 CHMO
+ Character*64 CHMI
+ Character*64 CHRP
+
+ Character*512 RCEX
+
+* prepare output fields
+
+* - norm-score
+ If(LNOR) then
+ Call RtoN
+ * (IOPT,XOPT,RNOP,KNPM,MAXN,INOR,IFUN,LSEQ,RAVE)
+ R=XOPT
+
+ If(R.GT.9999.999) R=9999.999
+ If(R.LT.-999.999) R=-999.999
+ CHNS='norm_score= '
+ Write(CHNS(13:),'(F8.3)') R
+
+ J1=11
+ Do I1=12,Lblnk(CHNS)
+ If(CHNS(I1:I1).NE.' ') then
+ J1=J1+1
+ CHNS(J1:J1)=CHNS(I1:I1)
+ CHNS(I1:I1)=' '
+ End if
+ End do
+ ILNS=Lblnk(CHNS)
+
+* Write(NERR,*) 'CHNS: ', CHNS,' ILNS: ',ILNS
+
+ End if
+
+* - cut-off level
+
+ If(OPTL.OR.OPLU) then
+ LFCL=.FALSE.
+ If(.NOT.OPTR) then
+ KI=0
+ KJ=0
+ Do I1=1,JCUT
+ Do I2=1,JCNM(I1)
+ If(MCUT(I2,I1).EQ.MNUM) then
+ If(KI.EQ.0) then
+ KI=I1
+ KJ=I2
+ Else if(RCUT(I2,I1).LT.RCUT(KJ,KI)) then
+ KI=I1
+ KJ=I2
+ End if
+ End if
+ End do
+ End do
+ Do I1=1,JCUT
+ Do I2=1,JCNM(I1)
+ If(MCUT(I2,I1).EQ.MNUM) then
+ If(XOPT.GE.RCUT(I2,I1)
+ * .AND.RCUT(I2,I1).GE.RCUT(KJ,KI)
+ * .AND.MCLE(I1).GE.MCLE(KI)) then
+ LFCL=.TRUE.
+ KI=I1
+ KJ=I2
+ End if
+ End if
+ End do
+ End do
+ Else
+ KI=1
+ Do I1=2,JCUT
+ If(ICUT(I1).LT.ICUT(KI)) KI=I1
+ End do
+ Do I1=1,JCUT
+ If(IOPT.GE.ICUT(I1).AND.ICUT(I1).GE.ICUT(KI)
+ * .AND.MCLE(I1).GE.MCLE(KI)) then
+ LFCL=.TRUE.
+ KI=I1
+ End if
+ End do
+ End if
+ K=MCLE(KI)
+ If(OPLU) then
+ If(.NOT.LFCL.OR.CCUT(KI)(1:1).EQ.' ') then
+ Write(CHLE,'(''level_tag=NA'')')
+ Else
+ Write(CHLE,'(''level_tag='',(A2))') CCUT(KI)
+ End if
+ Else
+ If(.NOT.LFCL) then
+ Write(CHLE,'(''level=NA'')')
+ Else
+ If(K.LT.0.OR.K.GT.9) then
+ Write(CHLE,'(''level='',I2,'' '')') K
+ Else
+ Write(CHLE,'(''level='',I1,'' '')') K
+ End if
+ End if
+ End if
+ ILLE=Lblnk(CHLE)
+* Write(NERR,*) 'CHLE: ', CHLE,' ILLE: ',ILLE
+ End if
+
+* - raw-score
+
+ I=IOPT
+ If(I.GT.999999) I=999999
+ If(I.LE.-99999) I=-99999
+ Write(CHRS,'(''raw_score='',I7)') I
+ J1=10
+ Do I1=11,Lblnk(CHRS)
+ If(CHRS(I1:I1).NE.' ') then
+ J1=J1+1
+ CHRS(J1:J1)=CHRS(I1:I1)
+ CHRS(I1:I1)=' '
+ End if
+ End do
+ ILRS=Lblnk(CHRS)
+* Write(NERR,*) 'CHRS: ', CHRS,' ILRS: ',ILRS
+
+* - location in sequence
+
+ If(.NOT.LUNI.OR.LOUT) then
+ If(LREV) then
+ JALB=LSEQ-JALB+1
+ JALE=LSEQ-JALE+1
+ CHSE='seq_end= '
+ Write(CHSE(10:),*) JALB-LSEQ-1
+ Else
+* Write(CHLO,'('' pos. '',I6,'' -'',I6)') JALB,JALE
+ CHSE='seq_end= '
+ Write(CHSE(10:),*) JALE-LSEQ-1
+ End if
+ J1=8
+ Do I1=9,Lblnk(CHSE)
+ If(CHSE(I1:I1).NE.' ') then
+ J1=J1+1
+ CHSE(J1:J1)=CHSE(I1:I1)
+ CHSE(I1:I1)=' '
+ End if
+ End do
+ ILSE=Lblnk(CHSE)
+
+ Write(CHLO,*) JALB,'-',JALE
+ J1=0
+ Do I1=1,Lblnk(CHLO)
+ If(CHLO(I1:I1).NE.' ') then
+ J1=J1+1
+ CHLO(J1:J1)=CHLO(I1:I1)
+ CHLO(I1:I1)=' '
+ End if
+ End do
+ If(LREV) then
+ JALB=LSEQ-JALB+1
+ JALE=LSEQ-JALE+1
+ End if
+ ILLO=Lblnk(CHLO)
+* Write(NERR,*) 'CHLO: ', CHLO,' ILLO: ',ILLO
+
+* - location in profile
+
+ If(OPTZ) then
+* CHPS='motif_start= '
+* Write(CHPS(14:),*) IPMB
+ Write(CHPS,'(''motif_start='',I7)') IPMB
+ J1=12
+ Do I1=13,Lblnk(CHPS)
+ If(CHPS(I1:I1).NE.' ') then
+ J1=J1+1
+ CHPS(J1:J1)=CHPS(I1:I1)
+ CHPS(I1:I1)=' '
+ End if
+ End do
+* CHPE='motif_end= '
+* Write(CHPE(12:),*) IPME
+ Write(CHPE,'(''motif_end='',I7)') IPME
+ J1=10
+ Do I1=11,Lblnk(CHPE)
+ If(CHPE(I1:I1).NE.' ') then
+ J1=J1+1
+ CHPE(J1:J1)=CHPE(I1:I1)
+ CHPE(I1:I1)=' '
+ End if
+ End do
+* Write(CHPP,'('' ['',I5,'','',I6,'']'')') IPMB,IPME
+ ILPS=Lblnk(CHPS)
+* Write(NERR,*) 'CHPS: ',CHPS,' ILPS: ',ILPS
+ ILPE=Lblnk(CHPE)
+* Write(NERR,*) 'CHPE: ',CHPE,' ILPE: ',ILPE
+ End if
+ End if
+
+* - entry-ref
+
+ If(OPTF) then
+ L1=Lblnk(CHFH)
+ If (L1.EQ.0) then
+ CHMI='unknown'
+ ILMI=7
+ Else
+ CHMI=CHFH(1:L1)
+ ILMI=MIN(64,L1)
+ Endif
+ Else
+ L1=Lblnk(CHAC)
+ L2=Lblnk(CHID)
+ CHMI=CHAC(1:L1) // CHID(1:L2)
+ ILMI=MIN(64,L1+L2)
+C CHER=CHAC(1:L1) // CHID(1:L2)
+C LNER=MIN(64,L1+L2)
+ End if
+
+ If(OPTB) then
+ If(LREV) then
+* CHER=CHER(1:LNER) // '(-)'
+* LNER=LNER+3
+ CHST='strand=r'
+ Else
+ CHST='strand=s'
+ End if
+ ILST=8
+* Write(NERR,*) 'CHST: ',CHST
+ End if
+
+* ILER=Lblnk(CHER)
+* Write(NERR,*) 'CHER: ',CHER,' ILER: ',ILER
+
+* - match-number
+
+ If(NALI.GT.1.AND..NOT.LPMM) then
+ CHMN='match_nb= '
+ Write(CHMN(11:),*) JSEQ
+ J1=9
+ Do I1=10,Lblnk(CHMN)
+ If(CHMN(I1:I1).NE.' ') then
+ J1=J1+1
+ CHMN(J1:J1)=CHMN(I1:I1)
+ CHMN(I1:I1)=' '
+ End if
+ End do
+ ILMN=Lblnk(CHMN)
+* Write(NERR,*) 'CHMN: ',CHMN,' ILMN: ',ILMN
+ End if
+ If(.NOT.LPMM.AND.(JMMA.GT.1.OR.NALI.GT.1)) then
+ CHTY='match_type=region'
+ ILTY=17
+ End if
+
+* - multiple repeat number and type
+
+ If(LPMM) then
+ CHTY='match_type=repeat'
+ ILTY=17
+ CHRN='repeat_nb= '
+ Write(CHRN(12:),*) JMMA
+ J1=10
+ Do I1=11,Lblnk(CHRN)
+ If(CHRN(I1:I1).NE.' ') then
+ J1=J1+1
+ CHRN(J1:J1)=CHRN(I1:I1)
+ CHRN(I1:I1)=' '
+ End if
+ End do
+ ILRN=Lblnk(CHRN)
+* Write(NERR,*) 'CHRN: ',CHRN,' ILRN: ',ILRN
+
+* -- multiple repeat parent match number
+
+ If(NALI.GT.1) then
+ CHPN='match_parent= '
+ Write(CHPN(15:),*) JSEQ
+ J1=13
+ Do I1=14,Lblnk(CHPN)
+ If(CHPN(I1:I1).NE.' ') then
+ J1=J1+1
+ CHPN(J1:J1)=CHPN(I1:I1)
+ CHPN(I1:I1)=' '
+ End if
+ End do
+ ILPN=Lblnk(CHPN)
+C Write(NERR,*) 'CHPN: ',CHPN,' ILPN: ',ILPN
+ End if
+ End if
+
+* - profile name (motif)
+
+ CHMO='motif= '
+
+ L1=Lblnk(CPID)
+ L2=Lblnk(CPAC)
+ L3=6
+ If(L2-1.GT.0) then
+ CHMO=CHMO(1:L3) // CPAC(1:L2)
+ L3=L3+L2
+ End if
+ If(L1.GT.0) then
+ CHMO=CHMO(1:L3) // CPID(1:L1)
+ End if
+ If(L2-1.LE.0.AND.L1.EQ.0) then
+ CHMO=CHMO(1:6) // 'unknown'
+ End if
+
+ ILMO=Lblnk(CHMO)
+* Write(NERR,*) 'CHMO: ',CHMO,' ILMO: ',ILMO
+
+* assemble ouput record
+
+ LNEX=0
+
+ RCEX(LNEX+1:)='>' // CHMI
+ LNEX=LNEX+ILMI+2
+
+ If(.NOT.LUNI.OR.LOUT) then
+ RCEX(LNEX:)='/' // CHLO
+ LNEX=LNEX+ILLO+1
+ End if
+
+ RCEX(LNEX+1:)=CHMO
+ LNEX=LNEX+ILMO+1
+
+ If(LNOR.AND..NOT.LDRS) then
+ RCEX(LNEX+1:)=CHNS
+ LNEX=LNEX+ILNS+1
+ End if
+
+ RCEX(LNEX+1:)=CHRS
+ LNEX=LNEX+ILRS+1
+
+ If(OPTB) then
+ RCEX(LNEX+1:)=CHST
+ LNEX=LNEX+ILST+1
+ End if
+
+ If(NALI.GT.1) then
+ If(.NOT.LPMM) then
+ RCEX(LNEX+1:)=CHMN
+ LNEX=LNEX+ILMN+1
+ Else
+ RCEX(LNEX+1:)=CHPN
+ LNEX=LNEX+ILPN+1
+ End if
+ End if
+
+ If(.NOT.LPMM.AND.(JMMA.GT.1.OR.NALI.GT.1)) then
+ RCEX(LNEX+1:)=CHTY
+ LNEX=LNEX+ILTY+1
+ End if
+
+ If(LPMM) then
+ RCEX(LNEX+1:)=CHRN
+ LNEX=LNEX+ILRN+1
+ RCEX(LNEX+1:)=CHTY
+ LNEX=LNEX+ILTY+1
+ End if
+
+ If(OPTL.OR.OPLU) then
+ RCEX(LNEX+1:)=CHLE
+ LNEX=LNEX+ILLE+1
+* If(OPLU) LNEX=LNEX-2
+ End if
+
+ If(.NOT.LUNI.OR.LOUT) then
+* RCEX(LNEX+1:)=CHLO
+* LNEX=LNEX+ILLO
+ RCEX(LNEX+1:)=CHSE
+ LNEX=LNEX+ILSE+1
+
+ If(OPTZ) then
+ RCEX(LNEX+1:)=CHPS
+ LNEX=LNEX+ILPS+1
+ RCEX(LNEX+1:)=CHPE
+ LNEX=LNEX+ILPE+1
+ End if
+ End if
+
+* - match ID and repeat number for standard output and option -x
+
+* If (.NOT.LPFA.AND.LPMM) then
+* Write(CHRP,*) JSEQ,'_REP'
+* L2=Lblnk(CHRP)
+* Write(CHRP(L2+1:),*) JMMA
+* J1=L2
+* Do I1=L2+1,Lblnk(CHRP)
+* If(CHRP(I1:I1).NE.' ') then
+* J1=J1+1
+* CHRP(J1:J1)=CHRP(I1:I1)
+* End if
+* End do
+* RCEX(LNEX+1:)=CHRP(1:J1)
+* LNEX=LNEX+J1
+* End if
+
+* RCEX(LNEX+2:)=CHER(1:LNER)
+* LNEX=LNEX+1+LNER
+
+* L3=MAX(0,MIN(NW-LNEX-1,Lblnk(CHDE)))
+* RCEX(LNEX+2:)=CHDE(1:L3)
+* LNEX=LNEX+1+L3
+
+* Write output record
+ If(LNEX.GT.512) then
+ LNEX=512
+ End if
+ Write(6,'(512A)')(RCEX(ii1:ii1),ii1=1,LNEX)
+
+ 100 Return
+ End
diff --git a/xpsa.5 b/xpsa.5
new file mode 100644
index 0000000..16b73f2
--- /dev/null
+++ b/xpsa.5
@@ -0,0 +1,370 @@
+.\"
+.\" $Id: xpsa.5,v 1.2 2003/04/28 13:50:24 vflegel Exp $
+.\" Copyright (c) 2003 Volker Flegel <Volker.Flegel at isb-sib.ch>
+.\" Process this file with
+.\" groff -man -Tascii <name>
+.\" for ascii output or
+.\" groff -man -Tps <name>
+.\" for postscript output
+.\"
+.TH XPSA 5 "April 2003" "pftools 2.3" "File formats"
+.\" ------------------------------------------------
+.\" Name section
+.\" ------------------------------------------------
+.SH NAME
+xpsa \- extended psa header
+.\" ------------------------------------------------
+.\" Description section
+.\" ------------------------------------------------
+.SH DESCRIPTION
+.B xpsa
+is an extension of the
+.BR psa (5)
+file format used by the
+.B pftools
+package to describe and store biological sequences.
+.PP
+.B xpsa
+uses
+.IR keyword = value
+pairs in the header to include information about the sequence or the alignment
+between the sequence and a
+.I PROSITE
+profile (or any other kind of motif). The syntax is therefore easily extensible. In this man-page, we focus on
+the keywords defined and used by the
+.B pftools
+package.
+.PP
+In the following text we will use the more general term
+.RI ' motif '
+when in fact our discussion refers specifically to
+.IR "PROSITE profiles" .
+Nevertheless the keywords defined here can be used by any kind of sequence analysis tool
+to store and transfer information.
+.PP
+None of the defined keywords are mandatory and analysis tools have often a length limit imposed
+on the header line. In order to keep the header line reasonnably short and user readable,
+these tools can easily remove individual
+.IR keyword = value
+pairs which are not important to the specific task at hand.
+.\" ------------------------------------------------
+.\" Syntax section
+.\" ------------------------------------------------
+.SH SYNTAX
+The general syntax of the
+.B xpsa
+header is given below. For examples please refer to the corresponding
+.I examples
+section.
+.PP
+The biological sequence itself starts on the next line following the header and may extend over several lines.
+If several sequences are contained in the same file, each must be preceded by a header line.
+.PP
+.sp
+Syntax of the header line:
+.sp
+.RS
+.BI > seq_id / seq_pos
+{
+.RI "[ " keyword = value " | " free_text " ]"
+}
+.RE
+.sp
+The header must start with a
+.RB ' > '
+followed by the fields detailed below:
+.RS
+.\" --- seq_id ---
+.TP
+.I seq_id
+typically the
+.IR identifier \ or\ accession
+number of the sequence. This text field should not contain any spaces.
+.\" --- seq_pos ---
+.TP
+.I seq_pos
+this field describes the sequence coordinates where a
+motif matches. The positions are generally given as
+.IR start_pos \- end_pos
+pairs.
+.br
+If present, this field is separated from the
+.I seq_id
+by a
+.RB ' / '
+character.
+.\" --- keyword=value ---
+.TP
+.IR keyword = value
+is an optional list of defined
+.IR keyword = value
+pairs. Each pair should be separated from the next or from free text by whitespaces.
+.br
+The
+.I keyword
+is case sensitive in the current implementation of the
+.B pftools
+package. It should not exceed 24 characters in length.
+.br
+The
+.I value
+can be numeric or alphanumeric. Values containing whitespaces should be enclosed in either
+.I single quotes
+or
+.IR "double quotes" .
+If the same type of quote appears inside the value it must be escaped using the
+.RB ' \(rs '
+character.
+.RS
+.TP
+Note:
+the
+.B pftools
+do not currently produce quote enclosed values.
+.RE
+.\" --- free_text ---
+.TP
+.I free_text
+typically this is a description of the sequence. It should not contain any of the defined
+.IR keyword = value
+pairs.
+.PP
+.RE
+Keywords used by the
+.BR pfsearch "(1) and " pfscan (1)
+programs:
+.RS
+.\" --- level ---
+.TP
+.I level
+the highest cut-off level (as a value) exceeded by the alignment.
+.br
+The characters
+.RB ' NA '
+indicate that the alignment score does not exceed any of the cut-off levels defined in the motif.
+.\" --- level_tag ---
+.TP
+.I level_tag
+the highest cut-off level (as a character string) exceeded by the alignment.
+.br
+The characters
+.RB ' NA '
+indicate that the alignment score does not exceed any of the cut-off levels defined in the motif.
+.RS
+.TP
+Note:
+.BR pfsearch "(1) and " pfscan (1)
+only report the first 2 characters of the level text string.
+.RE
+.\" --- match_nb ---
+.TP
+.I match_nb
+if the motif matches several times on the same sequence, each alignment is numbered incrementally.
+.br
+If the motif is circular, each single repeat is numbered incrementally with the key
+.I repeat_nb
+(see below).
+.\" --- match_parent ---
+.TP
+.I match_parent
+for each single match of a circular motif, this key references the number of the parental total match of the circular
+motif.
+.RS
+.TP
+Note:
+if a circular motif matches only once on a given sequence,
+.BR pfsearch "(1) and " pfscan (1)
+do not report this key.
+.RE
+.\" --- match_type ---
+.TP
+.I match_type
+identifies the type of match. Either
+.B region
+for a complete match of a motif to a sequence, or
+.B repeat
+for a single repeat of a circular motif.
+.\" --- motif ---
+.TP
+.I motif
+the name or identifier of the motif.
+.\" --- motif_start ---
+.TP
+.I motif_start
+the motif position where the alignment begins.
+.\" --- motif_end ---
+.TP
+.I motif_end
+negative offset from the end of the alignment to the end of the motif.
+.\" --- norm_score ---
+.TP
+.I norm_score
+the normalized score of the alignment.
+.\" --- raw_score ---
+.TP
+.I raw_score
+the raw score of the alignment.
+.\" --- repeat_nb ---
+.TP
+.I repeat_nb
+if the motif is circular, each individual repeat is numbered incrementally with this keyword.
+.\" --- seq_end ---
+.TP
+.I seq_end
+negative offset from the end of the alignment to the end of the sequence.
+.br
+In combination with the information given by
+.I seq_pos
+this allows to deduce the length of the query sequence.
+.\" --- strand ---
+.TP
+.I strand
+the sequence strand on which the motif matches, when the search includes the reverse complement of a DNA sequence.
+The
+.I value
+is either
+.B s
+for the sens or
+.B r
+for the reverse strand.
+.PP
+.RE
+Keywords used by the
+.BR pfmake "(1) and " pfw (1)
+programs:
+.RS
+.\" --- weight ---
+.TP
+.I weight
+the weight of a given sequence in a multiple alignment.
+.\" ------------------------------------------------
+.\" Examples section
+.\" ------------------------------------------------
+.SH EXAMPLES
+.TP
+(1)
+>PEX7/73-315
+.IR motif =WD_REP
+.IR raw_score =1336
+.IR match_nb =1
+.IR match_type =region
+.IR seq_end =-491
+.br
+VTW[...]IYD
+.br
+>PEX7/540-801
+.IR motif =WD_REP
+.IR raw_score =1378
+.IR match_nb =2
+.IR match_type =region
+.IR seq_end =-5
+.br
+SFD[...]PAS
+.br
+
+The 2 headers above describe 2 matches of the motif called
+.RI ' WD_REP '
+onto the sequence
+.RI ' PEX7 '.
+Each of the matches onto this single sequence is numbered using the the
+.I match_nb
+keyword.
+These matches are not individual repeats of a circular motif as can be seen with the
+.I region
+value of the
+.I match_type
+keyword.
+.br
+The first match starts at position 73 of the sequence and ends at position 315. This position is 491
+residues away from the end of the input sequence
+.RI ( seq_end ).
+.br
+The next line following the
+.BR xpsa (5)
+header line is the sequence of the match (it has been truncated here to help readability).
+.br
+The second match begins at position 540 of the sequence and terminates 5 residues before the end of the
+input sequence, that is at position 801.
+.RE
+
+.TP
+(2)
+>PEX7/540-582
+.IR motif =WD_REP
+.IR norm_score =7.437
+.IR raw_score =180
+.IR match_parent =2
+.IR repeat_nb =1
+.IR match_type =repeat
+.IR level =-1
+.IR seq_end =-224
+.IR motif_start =1
+.IR motif_end =-1
+.br
+SFD[...]PLQ
+.br
+
+This example illustrates the kind of header obtained when aligning a circular motif
+to a sequence. Each match of this motif (which we will call
+.I total
+match) can be composed of several individual repeats of the motif. Tools like
+.BR pfsearch "(1) and " pfscan (1)
+can output each total match followed by all its individual repeats. In this example
+we only show one of the indiviual repeats that is part of a total match between a circular profile
+and a sequence.
+.br
+The
+.BR xpsa (5)
+header above describes a single repeat of a match between a circular motif called
+.RI ' WD_REP '
+and the sequence
+.RI ' PEX7 '.
+.br
+This is the first individual repeat of a match of the circular motif, as identified by the
+.I repeat_nb
+keyword. The other individual repeats have not been listed in this example.
+.br
+The total circular motif has at least 2 distinct matches on the
+.RI ' PEX7 '
+sequence, because this single repeat is part of the second match as described by the
+.I match_parent
+keyword. The parental matches have been ommited from this example, they would be numbered using the
+.I match_nb
+keyword.
+.br
+The normalized score of this motif exceeds the cut-off level number -1
+.RI ( level
+keyword) which is specified in the motif.
+.br
+This match starts at position 1 of the profile
+.RI ( motif_start )
+and position 540 of the sequence, it ends at the end of the motif
+.RI ( motif_end =-1)
+and position 582 of the sequence.
+.br
+The next line following the
+.BR xpsa (5)
+header line is the sequence of the match (it has been truncated here to help readability).
+.RE
+.\" ------------------------------------------------
+.\" See also section
+.\" ------------------------------------------------
+.SH "SEE ALSO"
+.BR psa (5),
+.BR pfsearch (1),
+.BR pfscan (1),
+.BR pfw (1),
+.BR pfmake (1),
+.BR psa2msa (1)
+.\" ------------------------------------------------
+.\" Author section
+.\" ------------------------------------------------
+.SH "AUTHOR"
+This manual page was originally written by Volker Flegel.
+.br
+The
+.B pftools
+package was developped by Philipp Bucher.
+.br
+Any comments or suggestions should be addressed to <pftools at isb-sib.ch>.
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/pftools.git
More information about the debian-med-commit
mailing list