[med-svn] [Git][med-team/tm-align][master] 7 commits: New upstream version 20190822+dfsg
Steffen Möller
gitlab at salsa.debian.org
Tue Dec 17 16:24:43 GMT 2019
Steffen Möller pushed to branch master at Debian Med / tm-align
Commits:
d52100bb by Steffen Moeller at 2019-12-17T16:22:56Z
New upstream version 20190822+dfsg
- - - - -
f263aaa5 by Steffen Moeller at 2019-12-17T16:22:56Z
routine-update: New upstream version
- - - - -
d32d9f2d by Steffen Moeller at 2019-12-17T16:22:57Z
Update upstream source from tag 'upstream/20190822+dfsg'
Update to upstream version '20190822+dfsg'
with Debian dir 44cca8428d9d6fee22f988e451383d60c9676e79
- - - - -
98ec0516 by Steffen Moeller at 2019-12-17T16:22:59Z
routine-update: Standards-Version: 4.4.1
- - - - -
cf9b30ab by Steffen Moeller at 2019-12-17T16:23:07Z
Use secure URI in Homepage field.
Fixes lintian: homepage-field-uses-insecure-uri
See https://lintian.debian.org/tags/homepage-field-uses-insecure-uri.html for more details.
- - - - -
77eab05e by Steffen Moeller at 2019-12-17T16:23:09Z
Remove obsolete fields Contact, Name from debian/upstream/metadata.
- - - - -
36a80839 by Steffen Moeller at 2019-12-17T16:23:20Z
routine-update: Ready to upload to unstable
- - - - -
7 changed files:
- + TMalign.cpp
- TMalign.f
- + TMscore.cpp
- TMscore.f
- debian/changelog
- debian/control
- debian/upstream/metadata
Changes:
=====================================
TMalign.cpp
=====================================
The diff for this file was not included because it is too large.
=====================================
TMalign.f
=====================================
@@ -77,6 +77,8 @@
* 2017/07/08: Added one iteration in initial4 to avoid asymmetric alignment
* 2019/07/08: Enable TM-align to support both PDB and mmCIF formats, and
* fixed a bug on file output
+* 2019/08/18: Fixed multiple bugs associated with mmCIF formats
+* 2019/08/22: added output scripts for pymol, C++ version was included.
**************************************************************************
c 1 2 3 4 5 6 7 !
@@ -102,7 +104,7 @@ c 3456789012345678901234567890123456789012345678901234567890123456789012345678
character*500 fnam,pdb(100),outname,falign,fmatrix
character*3 aa(-1:20),aanam,ss(2,nmax)
character*500 s,du,dum1,dum2
- character*504 outnameall_tmp,outnameall
+ character*504 xxx,xxx_p,xxx_pdb
character aseq1(nmax2),aseq2(nmax2),aseq3(nmax2)
character*8 version
character*5000 s1 !maximum length of protein is 5000
@@ -113,11 +115,13 @@ ccc mmCIF
character*20 Aatom(2,90000)
character Agroup(2,90000)*6
character Ares(2,90000)*3,Aalt(2,90000)
- character Ains(2,9000),Ach(2,90000),Aent(2,90000)
+ character Ains(2,90000),Aent(2,90000)
character Cins(2,nmax),Cch(2)
-
+ character*2 Ach(2,90000),chid(2,90000)
+
integer Aatomi(2,90000),Aresi(2,90000),n_cut(2)
- dimension iform(10),xx(2,90000),yy(2,90000),zz(2,90000),nL(2)
+ dimension iform(10),xx(2,90000),yy(2,90000),zz(2,90000)
+ dimension nL(2),nLCA(2)
ccc
dimension m1(nmax),m2(nmax),m12(2,nmax)
@@ -179,20 +183,25 @@ ccc
& '''TM.sup_all'' and ''TM.sup_atm'':'
write(*,*)' >TMalign chain_1.pdb chain_2.pdb -o TM.sup'
write(*,*)' To view superimposed C-alpha traces of',
- & ' aligned regions by rasmol:'
+ & ' aligned regions by rasmol or pymol:'
write(*,*)' >rasmol -script TM.sup'
+ write(*,*)' >pymol -d @TM.sup.pml'
write(*,*)' To view superimposed C-alpha traces of',
& ' all regions:'
write(*,*)' >rasmol -script TM.sup_all'
+ write(*,*)' >pymol -d @TM.sup_all.pml'
write(*,*)' To view superimposed full-atom structures of',
& ' aligned regions:'
write(*,*)' >rasmol -script TM.sup_atm'
+ write(*,*)' >pymol -d @TM.sup_atm.pml'
write(*,*)' To view superimposed full-atom structures of',
& ' all regions:'
write(*,*)' >rasmol -script TM.sup_all_atm'
+ write(*,*)' >pymol -d @TM.sup_all_atm.pml'
write(*,*)' To view superimposed full-atom structures of',
& ' all regions with ligands:'
write(*,*)' >rasmol -script TM.sup_all_atm_lig'
+ write(*,*)' >pymol -d @TM.sup_all_atm_lig.pml'
write(*,*)
write(*,*)'4. There are two TM-scores reported. You ',
& 'should use the one normalized by'
@@ -214,7 +223,7 @@ ccc
goto 9999
endif
- version='20190708'
+ version='20190822'
if(fnam.eq.'-v')then
write(*,*)'TM-align Version ',version
goto 9999
@@ -333,8 +342,8 @@ ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c^^^^^^^^^altLoc checked (mk.ne.1 will be skipped) ^^^^^^^^^
if(mk.eq.1)then !mk=1 ------------>
i=i+1
- read(s,'(a6,I5,a6,A3,A2,i4,A1,a3,3F8.3)')
- & du,itmp,du,aanam,du,mm(ic,i),
+ read(s,'(a6,I5,a6,A3,A1,A1,i4,A1,a3,3F8.3)')
+ & du,itmp,du,aanam,du,chid(ic,i),mm(ic,i),
& Cins(ic,i),du,
& xa(1,i,ic-1),xa(2,i,ic-1),xa(3,i,ic-1)
***
@@ -363,8 +372,10 @@ c^^^^^^^^^altLoc checked (mk.ne.1 will be skipped) ^^^^^^^^^
if(du.eq.'_atom_site.label_alt_id')i_alt=in !'.',A,B
if(du.eq.'_atom_site.label_comp_id')i_res=in !GLY,LEU
if(du.eq.'_atom_site.label_asym_id')i_ch=in !A,B
+ if(du.eq.'_atom_site.auth_asym_id')i_ch=in !A,B, using later one
if(du.eq.'_atom_site.label_entity_id')i_ent=in !1,2,a,b
if(du.eq.'_atom_site.label_seq_id')i_resi=in !1,2,3
+ if(du.eq.'_atom_site.auth_seq_id')i_resi=in !1,2,3, identical to PDB res
if(du.eq.'_atom_site.pdbx_PDB_ins_code')i_ins=in !A,?
if(du.eq.'_atom_site.Cartn_x')i_x=in !x, 1.234
if(du.eq.'_atom_site.Cartn_y')i_y=in !y, 1.234
@@ -410,6 +421,7 @@ c^^^^^^^^^altLoc checked (mk.ne.1 will be skipped) ^^^^^^^^^
ss(ic,i)=ctmp(i_res) !residue name, 'GLY', for seq_ID
***
i8=mm(ic,i)
+ chid(ic,i)=ch(i)
nres1(ic,i8,ichar(du1))=
& nres1(ic,i8,ichar(du1))+1 !nres1 only for check altLoc
***
@@ -802,6 +814,7 @@ c************* Step-1: read all-atom structures ******************
c*****************************************************************
do 1002 ic=1,2 !ic=1,2 for file1 and file2
nL(ic)=0 !number of lines in PDB file
+ nLCA(ic)=0 !number of lines with CA in PDB file
n_cut(ic)=0 !end of first chain, decide to show aaa_all_atm_lig
open(unit=10,file=pdb(ic),status='old')
if(iform(ic).eq.1)then !file in PDB format %%%%%%%%%%------->
@@ -845,7 +858,8 @@ c^^^^^^^^^altLoc checked (mk.ne.1) will be skipped) ^^^^^^^^^
if(mk.eq.1)then !mk=1--------->
nL(ic)=nL(ic)+1
- read(s,8999)Agroup(ic,nL(ic)),Aatomi(ic,nL(ic)),
+ read(s,'(a6,I5,a1,A4,a1,A3,a1,A1,I4,A1,a3,3F8.3)')
+ & Agroup(ic,nL(ic)),Aatomi(ic,nL(ic)),
& du,Aatom(ic,nL(ic)),Aalt(ic,nL(ic)),
& Ares(ic,nL(ic)),du,Ach(ic,nL(ic)),
& Aresi(ic,nL(ic)),Ains(ic,nL(ic)),du,
@@ -883,8 +897,10 @@ c read(Aatom(ic,nL(ic)),*)Aatom(ic,nL(ic)) !remove space bef
if(du.eq.'_atom_site.label_comp_id')i_res=in !GLY,LEU
if(du.eq.'_atom_site.label_asym_id')i_ch=in !A,B
+ if(du.eq.'_atom_site.auth_asym_id')i_ch=in !A,B, using later one
if(du.eq.'_atom_site.label_entity_id')i_ent=in !1,2,a,b
if(du.eq.'_atom_site.label_seq_id')i_resi=in !1,2,3
+ if(du.eq.'_atom_site.auth_seq_id')i_resi=in !1,2,3, identical to PDB res
if(du.eq.'_atom_site.pdbx_PDB_ins_code')i_ins=in !A,?
if(du.eq.'_atom_site.Cartn_x')i_x=in !x, 1.234
@@ -902,7 +918,8 @@ c read(Aatom(ic,nL(ic)),*)Aatom(ic,nL(ic)) !remove space bef
endif
*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- if(n_cut(ic).eq.0.and.nL(ic).gt.0)then !decide n_cut
+ if(n_cut(ic).eq.0.and.nL(ic).gt.0.and.
+ & nLCA(ic).gt.0)then !decide n_cut for mmcif
read(ctmp(i_ch),*)ch_t
read(ctmp(i_ent),*)ent_t
if(ch_t.ne.Ach(ic,nL(ic)).or.ent_t.ne.
@@ -937,6 +954,9 @@ c^^^^^^^^^altLoc checked (mk.ne.1) will be skipped) ^^^^^^^^^
endif
c read(ctmp(i_alt),*)Aalt(ic,nL(ic)) ! not used, because we alway use 1 atom for altLoc
c if(Aalt(ic,nL(ic)).eq.'.')Aalt(ic,nL(ic))=' '
+ if(Aatom(ic,nL(ic)).eq.' CA')then
+ nLCA(ic)=nLCA(ic)+1 !for deciding n_cut of mmCIF
+ endif
read(ctmp(i_res),*)Ares(ic,nL(ic))
read(ctmp(i_ch),*)Ach(ic,nL(ic)) !for check other chain
@@ -968,8 +988,6 @@ c if(Aalt(ic,nL(ic)).eq.'.')Aalt(ic,nL(ic))=' '
close(10)
1002 continue !ic=1,2 for file1 and file2
- 8999 format(a6,I5,a1,A4,a1,A3,a1,A1,I4,A1,a3,3F8.3)
-
********** mark aligned residues --------------->
do i=1,n8_al
m12(1,i)=m1(i)
@@ -983,15 +1001,29 @@ c*********************************************************************
c************* Step-2: output structures for Rasmol ******************
c*********************************************************************
do 1019 ip=1,5
- if(ip.eq.1) outnameall=outname(1:len_trim(outname)) !'aaa', aligned CA
- if(ip.eq.2) outnameall=outname(1:len_trim(outname))//'_all' !'aaa_all', all CA
- if(ip.eq.3) outnameall=outname(1:len_trim(outname))//'_atm' !'aaa_atm', all aligned atoms
- if(ip.eq.4) outnameall=outname(1:len_trim(outname))
- & //'_all_atm' !'aaa_all_atm', all atoms
- if(ip.eq.5) outnameall=outname(1:len_trim(outname))
- & //'_all_atm_lig' !'aaa_all_atm_lig', all atom + ligand
+ if(ip.eq.1) xxx=outname(1:len_trim(outname)) !'aaa', aligned CA
+ if(ip.eq.2) xxx=outname(1:len_trim(outname))//'_all' !'aaa_all', all CA
+ if(ip.eq.3) xxx=outname(1:len_trim(outname))//'_atm' !'aaa_atm', all aligned atoms
+ if(ip.eq.4) xxx=outname(1:len_trim(outname))//'_all_atm' !'aaa_all_atm', all atoms
+ if(ip.eq.5) xxx=outname(1:len_trim(outname))//'_all_atm_lig' !'aaa_all_atm_lig', atom+ligand
+ OPEN(unit=10,file=xxx,status='unknown')
+
+*************for pymol preset ------>
+ xxx_p=xxx(1:len_trim(xxx))//'.pml' !for pymol script
+ xxx_pdb=xxx(1:len_trim(xxx))//'.pdb' !for pymol pdb
+ OPEN(unit=11,file=xxx_p,status='unknown')
+ OPEN(unit=12,file=xxx_pdb,status='unknown')
+
+ write(11,'(A,A)')'load ',xxx_pdb(1:len_trim(xxx_pdb))
+ write(11,'(A)')'hide all'
+ write(11,'(A)')'bg_color white'
+ write(11,'(A)')'color blue, chain A'
+ write(11,'(A)')'color red, chain B'
+ write(11,'(A)')'set transparency=0.2'
+ write(11,'(A)')'set sphere_scale, 0.25'
+ write(11,'(A)')'set stick_radius, 0.3'
+*^^^^^^^^^ pymol preset complete ^^^^^^^^^^^^^^^^^^^
- OPEN(unit=10,file=outnameall,status='unknown')
*** script:
if(ip.eq.1.or.ip.eq.2)then !'aaa','aaa_all'
write(10,'(A)')'load inline'
@@ -1010,6 +1042,9 @@ c*********************************************************************
endif
enddo
write(10,'(A)')'select all'
+
+ write(11,'(A)')'show sticks, chain A'
+ write(11,'(A)')'show sticks, chain B'
elseif(ip.eq.3.or.ip.eq.4)then !'aaa_atm', 'aaa_all_atm'
write(10,'(A)')'load inline'
write(10,'(A)')'select *A'
@@ -1018,6 +1053,9 @@ c*********************************************************************
write(10,'(A)')'color red'
write(10,'(A)')'select all'
write(10,'(A)')'cartoon'
+
+ write(11,'(A)')'show cartoon, chain A'
+ write(11,'(A)')'show cartoon, chain B'
else !'aaa_all_atm_lig
write(10,'(A)')'load inline'
write(10,'(A)')'select all'
@@ -1031,6 +1069,11 @@ c*********************************************************************
write(10,'(A)')'select solvent'
write(10,'(A)')'spacefill 0.25'
write(10,'(A)')'select all'
+
+ write(11,'(A)')'show cartoon, chain A'
+ write(11,'(A)')'show cartoon, chain B'
+ write(11,'(A)')'show stick, HETATM'
+ write(11,'(A)')'show spheres, solvent'
endif
write(10,'(A)')'exit'
write(10,903)version
@@ -1045,11 +1088,11 @@ c------------output coordinates ----------->
else !na=5001-10000
na=5000 !for CONECT
endif
-c write(*,*)'ip=',ip,'ic=',ic,nL(ic)
-
+
if(n_cut(ic).eq.0)then
n_cut(ic)=nL(ic) !there is no cut
endif
+
do i=1,nL(ic)
c---------- decide if we should output this line ------------>
mk=0
@@ -1057,8 +1100,8 @@ c---------- decide if we should output this line ------------>
if(i.le.n_cut(ic))then
if(Aatom(ic,i).eq.' CA')then
do j=1,n8_al
- if(Aresi(ic,i).eq.mm(ic,m12(ic,j)))then
- if(Ains(ic,i).eq.Cins(ic,m12(ic,j)))then
+ if(Aresi(ic,i).eq.mm(ic,m12(ic,j)))then !residue order
+ if(Ains(ic,i).eq.Cins(ic,m12(ic,j)))then !residue insertion
mk=1
goto 120 !each line output once
endif
@@ -1072,28 +1115,33 @@ c---------- decide if we should output this line ------------>
mk=1
endif
endif
- elseif(ip.eq.3)then !'aaa_atm', all aligned atoms
+ elseif(ip.eq.3)then !'aaa_atm', all aligned protein atoms
if(i.le.n_cut(ic))then
do j=1,n8_al
- if(Aresi(ic,i).eq.mm(ic,m12(ic,j)))then
- if(Ains(ic,i).eq.Cins(ic,m12(ic,j)))then
- mk=1
- goto 120 !each line output once
+ if(Ach(ic,i).eq.chid(ic,m12(ic,j)))then ! residue order (e.g. 100)
+ if(Aresi(ic,i).eq.mm(ic,m12(ic,j)))then ! residue order (e.g. 100)
+ if(Ains(ic,i).eq.Cins(ic,m12(ic,j)))then !resi insertion (eg, A)
+ mk=1
+ goto 120 !each line output once
+ endif
endif
endif
enddo
endif
- elseif(ip.eq.4)then !'aaa_all_atm', all atoms
- if(i.le.n_cut(ic))then
+ elseif(ip.eq.4)then !'aaa_all_atm', all protein atoms
+ if(Ach(ic,i).eq.chid(ic,1))then ! residue order (e.g. 100)
+ if(i.le.n_cut(ic))then
+ mk=1
+ endif
+ endif
+ elseif(ip.eq.5)then !'aaa_all_atm_lig', first chain and all ligands
+ if(i.le.n_cut(ic).or.Agroup(ic,i).eq.'HETATM')then
mk=1
endif
- elseif(ip.eq.5)then !'aaa_all_atm_lig', all atoms and ligands
- mk=1
endif
120 continue
c^^^^^^^^^^
-c write(*,*)ip,ic,i,'mk=',mk,n_cut(ic)
if(mk.eq.1)then !mk=1----------->
if(ic.eq.1)then
ax=t(1)+u(1,1)*xx(ic,i)+u(1,2)*yy(ic,i)+
@@ -1107,35 +1155,46 @@ c write(*,*)ip,ic,i,'mk=',mk,n_cut(ic)
ay=yy(ic,i)
az=zz(ic,i)
endif
-
+
c--------------output (x,y,z) --------------------------------->
na=na+1 !number of atoms for CONECT
if(ip.eq.1.or.ip.eq.2)then !need CONECT
write(10,1236)Agroup(ic,i),na,'',
& Aatom(ic,i),'',Ares(ic,i),'',Cch(ic),
+ & Aresi(ic,i),Ains(ic,i),'',ax,ay,az
+ write(12,1236)Agroup(ic,i),na,'',
+ & Aatom(ic,i),'',Ares(ic,i),'',Cch(ic),
& Aresi(ic,i),Ains(ic,i),'',ax,ay,az
else !all atoms
write(10,1236)Agroup(ic,i),Aatomi(ic,i),'',
& Aatom(ic,i),'',Ares(ic,i),'',Cch(ic),
+ & Aresi(ic,i),Ains(ic,i),'',ax,ay,az
+ write(12,1236)Agroup(ic,i),Aatomi(ic,i),'',
+ & Aatom(ic,i),'',Ares(ic,i),'',Cch(ic),
& Aresi(ic,i),Ains(ic,i),'',ax,ay,az
endif
endif !<----mk=1
enddo !do i=1,nL(ic)
write(10,'(A)')'TER' !TER
+ write(12,'(A)')'TER' !TER
if(ip.eq.1.or.ip.eq.2)then
if(ic.eq.1)then
do i=2,na
write(10,'(A6,I5,I5)')'CONECT',i-1,i !CONECT atom numbers
+ write(12,'(A6,I5,I5)')'CONECT',i-1,i !CONECT atom numbers
enddo
else
do i=5002,na
write(10,'(A6,I5,I5)')'CONECT',i-1,i !CONECT atom numbers
+ write(12,'(A6,I5,I5)')'CONECT',i-1,i !CONECT atom numbers
enddo
endif
endif
enddo !do ic=1,2
close(10)
+ close(11)
+ close(12)
1019 continue !ip=1,5
902 format('select ',I4,':A,',I4,':B')
=====================================
TMscore.cpp
=====================================
The diff for this file was not included because it is too large.
=====================================
TMscore.f
=====================================
@@ -40,6 +40,8 @@
* the output files.
* 2019/07/08: Enabled TM-score to support both PDB and mmCIF formats,
* and updated structure reading which makes program faster.
+* 2019/08/18: Fixed multiple bugs associated with mmCIF formats.
+* 2019/08/22: added output scripts for pymol, C++ version was included.
*************************************************************************
c 1 2 3 4 5 6 7 !
@@ -56,7 +58,7 @@ c 3456789012345678901234567890123456789012345678901234567890123456789012345678
common/nscore/i_ali(nmax),n_cut ![1,n_ali],align residues for the score
dimension k_ali(nmax),k_ali0(nmax)
- character*500 fnam,pdb(100),outname
+ character*500 fnam,pdb(100),outname,xxx_p,xxx_pdb
character*3 aa(-1:20),seqA(nmax),seqB(nmax),aanam,ss(2,nmax)
character*500 s,du
character*1 chA(nmax),chB(nmax),ch(nmax)
@@ -86,7 +88,7 @@ ccc mmCIF
character*20 Aatom(2,namax)
character Agroup(2,namax)*6
character Ares(2,namax)*3,Aalt(2,namax)
- character Ains(2,9000),Ach(2,namax),Aent(2,namax)
+ character Ains(2,namax),Ach(2,namax),Aent(2,namax)
character Cins(2,nmax)
integer Aatomi(2,namax),Aresi(2,namax)
@@ -142,10 +144,13 @@ ccc
write(*,*)'5. TM-score with superposition output, e.g. ',
& '''TM.sup'':'
write(*,*)' >TMscore model native -o TM.sup'
- write(*,*)' To view the superimposed CA-traces by rasmol:'
+ write(*,*)' To view superimposed CA-traces by rasmol ',
+ & 'or pymol:'
write(*,*)' >rasmol -script TM.sup'
- write(*,*)' To view superimposed atomic models by rasmol:'
+ write(*,*)' >pymol -d @TM.sup.pml'
+ write(*,*)' To view superimposed atomic models:'
write(*,*)' >rasmol -script TM.sup_atm'
+ write(*,*)' >pymol -d @TM.sup_atm.pml'
write(*,*)
goto 9999
endif
@@ -284,8 +289,10 @@ c^^^^^^^^^altLoc checked (mk.ne.1 will be skipped) ^^^^^^^^^
if(du.eq.'_atom_site.label_alt_id')i_alt=in !'.',A,B
if(du.eq.'_atom_site.label_comp_id')i_res=in !GLY,LEU
if(du.eq.'_atom_site.label_asym_id')i_ch=in !A,B
+ if(du.eq.'_atom_site.auth_asym_id')i_ch=in !A,B, using later one
if(du.eq.'_atom_site.label_entity_id')i_ent=in !1,2,a,b
- if(du.eq.'_atom_site.label_seq_id')i_resi=in !1,2,3
+ if(du.eq.'_atom_site.label_seq_id')i_resi=in !1,2,3,
+ if(du.eq.'_atom_site.auth_seq_id')i_resi=in !1,2,3, identical to PDB res
if(du.eq.'_atom_site.pdbx_PDB_ins_code')i_ins=in !A,?
if(du.eq.'_atom_site.Cartn_x')i_x=in !x, 1.234
if(du.eq.'_atom_site.Cartn_y')i_y=in !y, 1.234
@@ -296,7 +303,7 @@ c^^^^^^^^^altLoc checked (mk.ne.1 will be skipped) ^^^^^^^^^
read(s,*)(ctmp(j),j=1,in) !no space before characters
if(ctmp(i_atom).eq.'CA')then !read 'CA' ---------->
if(i.gt.0)then
- if(m_complex.eq.0)then
+ if(m_complex.eq.0)then !monomer
if(i_mn.gt.1)then !sometimes it may have no i_mn
read(ctmp(i_mn),*)mn_t
if(mn_t.ne.mn(i)) goto 1013 !only read first model
@@ -305,7 +312,7 @@ c^^^^^^^^^altLoc checked (mk.ne.1 will be skipped) ^^^^^^^^^
if(ch_t.ne.ch(i)) goto 1013 !only read first chain
read(ctmp(i_ent),*)ent_t
if(ent_t.ne.ent(i)) goto 1013 !only read first entity
- else
+ else !dimer
if(i_mn.gt.1)then !sometimes it may have no i_mn
read(ctmp(i_mn),*)mn_t
if(mn_t.ne.mn(i)) goto 1016 !only read first model
@@ -1026,13 +1033,13 @@ c^^^^^^^^^altLoc checked (mk.ne.1) will be skipped) ^^^^^^^^^
if(du.eq.'_atom_site.type_symbol')i_type=in !N,C,O
if(du.eq.'_atom_site.label_atom_id')i_atom=in !CA,O
if(du.eq.'_atom_site.label_alt_id')i_alt=in !'.',A,B
-
if(du.eq.'_atom_site.label_comp_id')i_res=in !GLY,LEU
if(du.eq.'_atom_site.label_asym_id')i_ch=in !A,B
+ if(du.eq.'_atom_site.auth_asym_id')i_ch=in !A,B, using later one
if(du.eq.'_atom_site.label_entity_id')i_ent=in !1,2,a,b
if(du.eq.'_atom_site.label_seq_id')i_resi=in !1,2,3
+ if(du.eq.'_atom_site.auth_seq_id')i_resi=in !1,2,3, identical to PDB res
if(du.eq.'_atom_site.pdbx_PDB_ins_code')i_ins=in !A,?
-
if(du.eq.'_atom_site.Cartn_x')i_x=in !x, 1.234
if(du.eq.'_atom_site.Cartn_y')i_y=in !y, 1.234
if(du.eq.'_atom_site.Cartn_z')i_z=in !z, 1.234
@@ -1122,6 +1129,24 @@ c**************************************************************
c************* Step-2: output 'aaa' (CA only) ***************
c**************************************************************
OPEN(unit=7,file=outname,status='unknown') !pdb1.aln + pdb2.aln
+
+*************for pymol preset ------>
+ xxx_p=outname(1:len_trim(outname))//'.pml' !for pymol script
+ xxx_pdb=outname(1:len_trim(outname))//'.pdb' !for pymol script
+ OPEN(unit=11,file=xxx_p,status='unknown')
+ OPEN(unit=12,file=xxx_pdb,status='unknown')
+
+ write(11,'(A,A)')'load ',xxx_pdb(1:len_trim(xxx_pdb))
+ write(11,'(A)')'hide all'
+ write(11,'(A)')'bg_color white'
+ write(11,'(A)')'color blue, chain A'
+ write(11,'(A)')'color red, chain B'
+ write(11,'(A)')'set transparency=0.2'
+ write(11,'(A)')'set stick_radius, 0.3'
+ write(11,'(A)')'show sticks, chain A'
+ write(11,'(A)')'show sticks, chain B'
+*^^^^^^^^^ pymol preset complete ^^^^^^^^^^^^^^^^^^^
+
900 format(A)
901 format('select atomno= ',I5)
902 format('select atomno= ',I5)
@@ -1146,21 +1171,31 @@ c**************************************************************
515 format('REMARK TM-score=',f6.4,' (d0=',f5.2,')')
do i=1,nseqA
write(7,1236)i,seqA(i),chA(i),nresA(i),ins1(i),
+ & xt(i),yt(i),zt(i)
+ write(12,1236)i,seqA(i),'A',nresA(i),ins1(i),
& xt(i),yt(i),zt(i)
enddo
write(7,1238)
+ write(12,1238)
do i=2,nseqA
write(7,1239)i-1,i
+ write(12,1239)i-1,i
enddo
do i=1,nseqB
write(7,1236)50000+i,seqB(i),chB(i),nresB(i),ins2(i),
+ & xb(i),yb(i),zb(i)
+ write(12,1236)50000+i,seqB(i),'B',nresB(i),ins2(i),
& xb(i),yb(i),zb(i)
enddo
write(7,1238)
+ write(12,1238)
do i=2,nseqB
write(7,1239)50000+i-1,50000+i
+ write(12,1239)50000+i-1,50000+i
enddo
close(7)
+ close(11)
+ close(12)
1236 format('ATOM ',i5,' CA ',A3,' ',A1,I4,A1,3X,3F8.3)
1238 format('TER')
1239 format('CONECT',I5,I5)
@@ -1169,9 +1204,26 @@ c**************************************************************
c**************************************************************
c************* Step-3: output 'aaa_atm' (all-atom) ***********
c**************************************************************
-c outname=trim(outname)//'_atm'
outname=outname(1:len_trim(outname))//'_atm'
OPEN(unit=7,file=outname,status='unknown') !pdb1.aln + pdb2.aln
+
+*************for pymol preset ------>
+ xxx_p=outname(1:len_trim(outname))//'.pml' !for pymol script
+ xxx_pdb=outname(1:len_trim(outname))//'.pdb' !for pymol script
+ OPEN(unit=11,file=xxx_p,status='unknown')
+ OPEN(unit=12,file=xxx_pdb,status='unknown')
+
+ write(11,'(A,A)')'load ',xxx_pdb(1:len_trim(xxx_pdb))
+ write(11,'(A)')'hide all'
+ write(11,'(A)')'bg_color white'
+ write(11,'(A)')'color blue, chain A'
+ write(11,'(A)')'color red, chain B'
+ write(11,'(A)')'set transparency=0.2'
+ write(11,'(A)')'set stick_radius, 0.3'
+ write(11,'(A)')'show cartoon, chain A'
+ write(11,'(A)')'show cartoon, chain B'
+*^^^^^^^^^ pymol preset complete ^^^^^^^^^^^^^^^^^^^
+
write(7,900)'load inline'
write(7,900)'select atomno<50001'
write(7,900)'color blue'
@@ -1189,18 +1241,26 @@ c outname=trim(outname)//'_atm'
az=t2(3)+u2(3,1)*xx(1,i)+u2(3,2)*yy(1,i)+u2(3,3)*zz(1,i)
write(7,8888)i,Aatom(1,i),Ares(1,i),Ach(1,i),
+ & Aresi(1,i),Ains(1,i),ax,ay,az
+ write(12,8888)i,Aatom(1,i),Ares(1,i),'A',
& Aresi(1,i),Ains(1,i),ax,ay,az
enddo
write(7,1238) !TER
+ write(12,1238) !TER
*** chain2:
do i=1,nL(2)
write(7,8888)50000+i,Aatom(2,i),Ares(2,i),Ach(2,i),
+ & Aresi(2,i),Ains(2,i),xx(2,i),yy(2,i),zz(2,i)
+ write(12,8888)50000+i,Aatom(2,i),Ares(2,i),'B',
& Aresi(2,i),Ains(2,i),xx(2,i),yy(2,i),zz(2,i)
enddo
write(7,1238) !TER
+ write(12,1238) !TER
close(7)
+ close(11)
+ close(12)
8888 format('ATOM ',I5,1x,A4,1x,A3,' ',A1,I4,A1,3x,3F8.3)
-
+
*^^^^^^^^^^^^^^^^^^ output finished ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
9999 END
=====================================
debian/changelog
=====================================
@@ -1,3 +1,12 @@
+tm-align (20190822+dfsg-1) unstable; urgency=medium
+
+ * New upstream version
+ * Standards-Version: 4.4.1
+ * Use secure URI in Homepage field.
+ * Remove obsolete fields Contact, Name from debian/upstream/metadata.
+
+ -- Steffen Moeller <moeller at debian.org> Tue, 17 Dec 2019 17:23:09 +0100
+
tm-align (20190708+dfsg-1) unstable; urgency=medium
* New upstream version
=====================================
debian/control
=====================================
@@ -7,10 +7,10 @@ Section: science
Priority: optional
Build-Depends: debhelper-compat (= 12),
gfortran
-Standards-Version: 4.4.0
+Standards-Version: 4.4.1
Vcs-Browser: https://salsa.debian.org/med-team/tm-align
Vcs-Git: https://salsa.debian.org/med-team/tm-align.git
-Homepage: http://zhanglab.ccmb.med.umich.edu/TM-align/
+Homepage: https://zhanglab.ccmb.med.umich.edu/TM-align/
Package: tm-align
Architecture: any
=====================================
debian/upstream/metadata
=====================================
@@ -1,25 +1,23 @@
-Contact: Yang Zhang <zhng at umich.edu>
-Name: TM-align & TM-score
Reference:
- AUTHOR: Yang Zhang and Jeffrey Skolnick
- TITLE: >
- TM-align: A protein structure alignment algorithm based on TM-score
- JOURNAL: Nucleic Acids Research
- YEAR: 2005
- PAGES: 2302-2309
- VOLUME: 33
- NUMBER: 7
- URL: http://nar.oxfordjournals.org/content/33/7/2302
- eprint: http://zhanglab.ccmb.med.umich.edu/TM-align/TMalign.pdf
- ISSN: 1362-4962
- DOI: 10.1093/nar/gki524
- PMID: 15849316
+ AUTHOR: Yang Zhang and Jeffrey Skolnick
+ TITLE: >
+ TM-align: A protein structure alignment algorithm based on TM-score
+ JOURNAL: Nucleic Acids Research
+ YEAR: 2005
+ PAGES: 2302-2309
+ VOLUME: 33
+ NUMBER: 7
+ URL: http://nar.oxfordjournals.org/content/33/7/2302
+ eprint: http://zhanglab.ccmb.med.umich.edu/TM-align/TMalign.pdf
+ ISSN: 1362-4962
+ DOI: 10.1093/nar/gki524
+ PMID: 15849316
Registry:
- - Name: OMICtools
- Entry: OMICS_03646
- - Name: bio.tools
- Entry: NA
- - Name: SciCrunch
- Entry: NA
- - Name: conda:bioconda
- Entry: NA
+- Name: OMICtools
+ Entry: OMICS_03646
+- Name: bio.tools
+ Entry: NA
+- Name: SciCrunch
+ Entry: NA
+- Name: conda:bioconda
+ Entry: NA
View it on GitLab: https://salsa.debian.org/med-team/tm-align/compare/bfdac6eb96922711a91e1bdda69947e6d9e40ff0...36a808393bd838e5a7dd6d1aa1bc0ce373fc2267
--
View it on GitLab: https://salsa.debian.org/med-team/tm-align/compare/bfdac6eb96922711a91e1bdda69947e6d9e40ff0...36a808393bd838e5a7dd6d1aa1bc0ce373fc2267
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20191217/b2288b78/attachment-0001.html>
More information about the debian-med-commit
mailing list