Znn3bq.jpeg
ÉÇÍ·´óѧº£Ñó¿ÆÑ§½ÓÊܵ÷¼Á
²é¿´: 1222  |  »Ø¸´: 5

125442548

Ìú³æ (³õÈëÎÄ̳)

[ÇóÖú] ÇóÖúPython´óÉñ

±¾ÈË×öµÄÊÇ·Ö×Ó¶¯Á¦Ñ§Ä£Ä⣬ÏÖÔÚÒª½«Á½¸öÎļþ¸ñʽת»¯Ò»Ï£¬Ä¿Ç°´ÓÍøÉÏÏÂÔØÁËÒ»¶ÎPython½Å±¾£¬Ôõô¸ÄÒ²ÎÞ·¨¶Ô×Ô¼ºµÄÁ½¸öÎļþ½øÐд¦Àí£¬ÏÖÔÚÇóÖúPython´óÉñ°ïæ¡£
ÏÂÃæÌùÉϳÌÐò
#!/usr/bin/python

# This script converts a CHARMm psf file to a NAMD (= XPLOR) psf file.
# USAGE: charmm2namd psf-file rtf-file  
#
# EPF 04-04-2000
#

import sys,struct,os,time

if len(sys.argv) < 3:
  sys.stderr.write ("USAGE: charmm2namd psf-file rtf-file > psf-file\n"
  sys.stderr.write ("       The rtf-file must contain the correct MASS entries for all\n"
  sys.stderr.write ("       atom types present in the psf-file.\n"  
  os._exit(0)

psffile = sys.argv[1]
rtffile = sys.argv[2]

# Read the MASS entries from the rtf-file.

f=open(rtffile)

buffer = " "
potentials = []

while buffer != "":
  buffer = f.readline()
  if buffer != "":
    if buffer[0:4] == "MASS":
      potentials.append(buffer.split(None,4))  
     
f.close()

# Now open the psf file and do the conversion of the potential types.

f=open(psffile)


buffer = f.readline()
# search for the line stating number of title lines
while buffer != "" and "!NTITLE" not in buffer:
  sys.stdout.write(buffer)
  buffer = f.readline()

titlelines = int(buffer[:buffer.find("!NTITLE"] )
print '%8d !NTITLE' % (titlelines+1)

# The title lines
for i in range(titlelines):
  buffer = f.readline()
  sys.stdout.write(buffer)

# add extra title line
print '* Converted to NAMD format using '+rtffile+' on '+time.ctime(time.time())

# search for the line stating number of atoms
while buffer != "" and "!NATOM" not in buffer:
  buffer = f.readline()
  sys.stdout.write(buffer)
      
numofatoms = float(buffer[:buffer.find("!NATOM"] )


j = 0;
while buffer != "":
  buffer = f.readline()
  if buffer != "" and j < numofatoms:
    line = buffer.split(None)
   
    # now search through potential list

    oldpot = line[5]
    for p in potentials:
      if p[1] == line[5]:
        line[5] = p[2]
    if oldpot == line[5]:
      sys.stderr.write('\nFatal error: no potential for atom type '+oldpot+'\n\n' )
      os._exit(0)

    linetuple=(int(line[0]),line[1],line[2],line[3],line[4],line[5],float(line[6]),float(line[7]),int(line[8]) )        
            
    psfline =  '   %5d %-4s %-4s %-4s %-4s %4s  %9.6f      %8.4f           %d' % linetuple
    print psfline
   
    j += 1
  else:
    sys.stdout.write(buffer)
            
f.close()  
sys.stderr.write('\nConverted '+str(j)+' atoms.\n\n' )

ÇóÖúPython´óÉñÕâÊÇÎÒÒª´¦ÀíµÄÁ½¸öÎļþ
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹ØÉ̼ÒÍÆ¼ö: (ÎÒÒ²ÒªÔÚÕâÀïÍÆ¹ã)

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

reagas

ľ³æ (ÕýʽдÊÖ)

ÄãÔËÐÐһϣ¬¿´¿´±¨´í£¬Ö𲽸ľÍÐÐÁË

·¢×ÔСľ³æAndroid¿Í»§¶Ë
2Â¥2015-12-25 17:09:32
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

125442548

Ìú³æ (³õÈëÎÄ̳)

ÒýÓûØÌû:
2Â¥: Originally posted by reagas at 2015-12-25 17:09:32
ÄãÔËÐÐһϣ¬¿´¿´±¨´í£¬Ö𲽸ľÍÐÐÁË

ÎÒÊÔ¹ýºÃ¶à±éÁË£¬²»ÖªµÀÔõô¶ÁÈëÎÒÐèÒª´¦ÀíµÄÁ½¸öÎļþ
3Â¥2015-12-25 17:10:45
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

reagas

ľ³æ (ÕýʽдÊÖ)

4Â¥2015-12-25 17:13:12
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

125442548

Ìú³æ (³õÈëÎÄ̳)

ÒýÓûØÌû:
4Â¥: Originally posted by reagas at 2015-12-25 17:13:12
python xxx.py file1name file2name

ÎÒÊÔһϣ¬Ðв»Ðеķ´ÕýÏÈл¹ýÁË
5Â¥2015-12-26 13:14:23
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

125442548

Ìú³æ (³õÈëÎÄ̳)

ÒýÓûØÌû:
2Â¥: Originally posted by reagas at 2015-12-25 17:09:32
ÄãÔËÐÐһϣ¬¿´¿´±¨´í£¬Ö𲽸ľÍÐÐÁË

ÊDz»ÊÇ»¹ÒªÉèÖÃÊä³öÎļþ°¡£¿ÎÒÔËÐÐÁËÏÂÔõôû¼ûµ½½á¹û£¬Ô­ÎļþҲûÓб仯
6Â¥2015-12-27 19:39:34
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ 125442548 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 085500Çóµ÷¼Á²ÄÁÏ +11 Ò×11122 2026-04-09 11/550 2026-04-14 17:59 by lhj2009
[¿¼ÑÐ] 08¹¤Ñ§ 309·ÖÇóµ÷¼Á +12 Yin DY 2026-04-08 12/600 2026-04-14 17:49 by lhj2009
[¿¼ÑÐ] 310Çóµ÷¼Á +15 666ÕæºÃ 2026-04-11 17/850 2026-04-13 22:27 by pies112
[¿¼ÑÐ] 0856ר˶Çóµ÷¼Á Ï£ÍûÊÇaÇøÔºÐ£ +24 ºÃºÃÐÝÏ¢ºÃ²»ºÃ 2026-04-09 27/1350 2026-04-13 22:22 by pies112
[¿¼ÑÐ] 293Çóµ÷¼Á +16 ÎÒ°®¸ßÊý¸ßÊý°®Î 2026-04-12 18/900 2026-04-13 21:47 by ѧԱJpLReM
[¿¼ÑÐ] Ò»Ö¾Ô¸211 0703»¯Ñ§ 346·ÖÇóµ÷¼Á +26 ÍÁ¶¹er? 2026-04-09 29/1450 2026-04-13 15:15 by ¶À×íÃι³Ç
[¿¼ÑÐ] 297¹¤¿Æ£¬Çóµ÷¼Á? +13 ºÓÄÏũҵ´óѧ-ÄÜ 2026-04-12 13/650 2026-04-13 14:12 by dingyanbo1
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤300Çóµ÷¼Á +39 Ф¿ªÎÄ 2026-04-09 43/2150 2026-04-12 01:30 by Çï¶¹²ËÑ¿
[¿¼ÑÐ] ҩѧר˶µ÷¼Á +8 ? һ·Éú?»¨? 2026-04-10 10/500 2026-04-11 21:21 by zhouxiaoyu
[¿¼ÑÐ] 284Çóµ÷¼Á +11 archer.. 2026-04-09 12/600 2026-04-11 20:23 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 283Çóµ÷¼Á 086004¿¼Ó¢¶þÊý¶þ +17 ÄǸöàà×Ó 2026-04-10 18/900 2026-04-11 16:27 by Ã÷Ô´ËʱÓÐ
[¿¼ÑÐ] 085600²ÄÁÏÓ뻯¹¤329·ÖÇóµ÷¼Á +16 Ò¶zilin 2026-04-10 16/800 2026-04-11 11:04 by may_ÐÂÓî
[¿¼ÑÐ] 283Çóµ÷¼Á£¬¹¤¿Æ£¡ +12 ËÕ´òË®7777 2026-04-08 12/600 2026-04-11 10:28 by ÄæË®³Ë·ç
[¿¼ÑÐ] 22408 327·ÖÇóµ÷¼Á +4 ÔÏ·çkon 2026-04-10 4/200 2026-04-11 09:51 by Öí»á·É
[¿¼ÑÐ] »¯Ñ§¹¤³ÌÓë¼¼Êõ324µ÷¼Á +23 Ëï³£»ª 2026-04-09 25/1250 2026-04-11 00:07 by ÆïÅ£¶Éº®½­
[¿¼ÑÐ] Çൺ¿Æ¼¼´óѧ²ÄÁÏѧԺ£¬»·¾³Ñ§Ôºµ÷¼Á²¹Â¼4ÔÂ10ÈÕÒÔǰ¶¼¿ÉÒÔ +3 1Çà¿Æ´ó¡£ 2026-04-09 5/250 2026-04-10 09:58 by ôæôæÒ»ÊéÉú
[¿¼ÑÐ] Òѵ÷¼Á +18 ²ñ¿¤Ã¨_ 2026-04-09 19/950 2026-04-09 22:10 by ²ñ¿¤Ã¨_
[¿¼ÑÐ] 0703»¯Ñ§Çóµ÷¼Á +21 ²»ÖªÃûµÄСئ 2026-04-08 21/1050 2026-04-09 18:55 by l_paradox
[¿¼ÑÐ] ¿¼ÑÐÇóµ÷¼Á +4 ö©??? 2026-04-08 4/200 2026-04-08 21:44 by ÍÁľ˶ʿÕÐÉú
[¿¼ÑÐ] Çóµ÷¼Á£¬ÏÖÔÚ»¹ÄÜÌîµÄ +3 Éϰ¶Ð¡Ó¨¼ÓÓÍ 2026-04-08 3/150 2026-04-08 14:30 by zhq0425
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û