Adam's changes to avoid wrong XG.. or ..GX sequence input
[unres.git] / source / unres / src_MD / readrtns.F
index 887e89f..622d68a 100644 (file)
@@ -997,6 +997,20 @@ C Convert sequence to numeric code
         do i=1,nres
           itype(i)=rescode(i,sequence(i),iscode)
         enddo
+        if (itype(2).eq.10) then
+          write (iout,*) 
+     &     "Glycine is the first full residue, initial dummy deleted"
+          do i=1,nres
+            itype(i)=itype(i+1)
+          enddo
+          nres=nres-1
+        endif
+        if (itype(nres).eq.10) then
+          write (iout,*) 
+     &     "Glycine is the last full residue, terminal dummy deleted"
+          nres=nres-1
+        endif
+
 C Assign initial virtual bond lengths
         do i=2,nres
           vbld(i)=vbl
@@ -2948,9 +2962,9 @@ c    &                      "rescore(",k,i-1,") =",rescore(k,i-1),
 c    &                      "rescore(",k,i-2,") =",rescore(k,i-2),
 c    &                      "rescore(",k,i-3,") =",rescore(k,i-3)
 
-            sigma_dih(k,i)=rescore(k,i)+rescore(k,i-1)+
-     &                     rescore(k,i-2)+rescore(k,i-3)
-            if (read2sigma) sigma_dih(k,i)=sigma_dih(k,i)/4.0
+            sigma_dih(k,i)=(rescore(k,i)+rescore(k,i-1)+
+     &                     rescore(k,i-2)+rescore(k,i-3))/4.0
+c            if (read2sigma) sigma_dih(k,i)=sigma_dih(k,i)/4.0
 c           write (iout,*) "Raw sigmas for dihedral angle restraints"
 c           write (iout,'(i5,10(2f8.2,4x))') i,sigma_dih(k,i)
 c           sigma_dih(k,i)=hmscore(k)*rescore(k,i)*rescore(k,i-1)*
@@ -2985,9 +2999,9 @@ c            write(iout,*)  "rescore(",k,i,") =",rescore(k,i),
 c    &                      "rescore(",k,i-1,") =",rescore(k,i-1),
 c    &                      "rescore(",k,i-2,") =",rescore(k,i-2)
 c            read (ientin,*) sigma_theta(k,i) ! 1st variant
-             sigma_theta(k,i)=rescore(k,i)+rescore(k,i-1)+
-     &                        rescore(k,i-2)
-             if (read2sigma) sigma_theta(k,i)=sigma_theta(k,i)/3.0
+             sigma_theta(k,i)=(rescore(k,i)+rescore(k,i-1)+
+     &                        rescore(k,i-2))/3.0
+c             if (read2sigma) sigma_theta(k,i)=sigma_theta(k,i)/3.0
              sigma_theta(k,i)=1.0d0/(sigma_theta(k,i)*sigma_theta(k,i))
 
 c            sigma_theta(k,i)=hmscore(k)*rescore(k,i)*rescore(k,i-1)*