@@ 950-981 (lines=32) @@ | ||
947 | mapping = [[u'PRP8', 'A', u'skyblue'], [u'BRR2', 'B', u'grey60'], [u'BUD31', 'C', u'dirtyviolet'], [u'CEF1', 'D', u'raspberry'], [u'CLF1', 'E', u'raspberry'], [u'CWC15', 'F', u'dirtyviolet'], [u'CWC16/YJU2', 'G', u'lightteal'], [u'CWC2', 'H', u'ruby'], [u'CWC21', 'I', u'violetpurple'], [u'CWC22', 'J', u'bluewhite'], [u'CWC25', 'K', u'deepteal'], [u'Intron', 'L', u'black'], [u'ISY1', 'M', u'dirtyviolet'], [u'LEA1', 'N', u'palegreen'], [u'Msl1', 'O', u'palegreen'], [u'PRP45', 'P', u'lightpink'], [u'PRP16', 'Q', u'smudge'], [u'CDC40\xa0(PRP17, SLU4, XRS2)', 'R', u'dirtyviolet'], [u'PRP19 (PSO4)', 'S', u'grey70'], [u'PRP46', 'T', u'lightblue'], [u'SLT11/ECM2', 'U', u'chocolate'], [u'SNT309', 'V', u'grey70'], [u'SNU114', 'W', u'slate'], [u'SYF2', 'X', u'brightorange'], [u'SYF1', 'Y', u'brightorange'], [u'U2', 'Z', u'forest'], [u'U5', 'a', u'density'], [u'U5_SmRNP', 'b', u'deepblue'], [u'U6', 'c', u'firebrick'], [u'Intron', 'r', u'grey50'], [u'Exon', 'z', u'yellow'], [u'exon-3', 'y', u'yellow'], [u'exon-5', 'z', u'yellow'], [u'PRP4 ', 'd', u'grey50'], [u'PRP31', 'e', u'grey50'], [u'PRP6', 'f', u'grey50'], [u'PRP3', 'g', u'grey50'], [u'DIB1', 'h', u'grey50'], [u'SNU13', 'i', u'grey50'], [u'LSM8', 'j', u'grey50'], [u'LSM2', 'k', u'grey50'], [u'LSM3', 'l', u'grey50'], [u'LSM6', 'm', u'grey50'], [u'LSM5', 'n', u'grey50'], [u'LSM7', 'o', u'grey50'], [u'LSM4', 'p', u'grey50'], [u'SNU66', 'q', u'grey50'], [u'RNA (intron or U6 snRNA)', 'r', u'grey50'], [u'5EXON', 's', u'grey50'], [u'BUD13', 't', u'grey60'], [u'CLF2', 'u', u'rasberry'], [u'Cus1', 'v', u'palegreen'], [u'CWC24', 'w', u'grey60'], [u'CWC27', 'x', u'grey60'], [u'HSH155', '1', u'smudge'], [u'HSH49', '2', u'sand'], [u'PML1', '3', u'grey60'], [u'PRP11', '4', u'palegreen'], [u'PRP2', '5', u'palegreen'], [u'RDS3', '6', u'palegreen'], [u'RSE1', '7', u'smudge'], [u'SNU17', '8', u'grey60'], [u'Ysf3', '9', u'palegreen'], [u'cwc23', 'd', u'grey50'], [u'SPP382\xa0(CCF8, NTR1)', 'e', u'grey50'], [u'NTR2', 'f', u'grey50'], [u'PRP43', 'g', u'grey50'], [u'SMB1', 'h', u'grey50'], [u'SME1', 'i', u'grey50'], [u'SMX3', 'j', u'grey50'], [u'SMX2\xa0(SNP2)', 'k', u'grey50'], [u'SMD3', 'l', u'grey50'], [u'SMD1', 'm', u'grey50'], [u'SMD2', 'n', u'grey50'], [u'PRP22', 'o', u'grey50'], [u'PRP18', 'p', u'grey50'], [u'SLU7', 'q', u'grey50'], [u'SMF', 'd', u'grey50'], [u'SMG', 'e', u'grey50'], [u'PRP9', 'f', u'grey50'], [u'PRP21', 'g', u'grey50'], [u'SNU23', 'r', u'grey50'], [u'PRP38', 's', u'grey50'], [u'SPP381', 'w', u'grey50']] |
|
948 | ||
949 | ||
950 | def rgyration(selection='(all)', quiet=1): |
|
951 | ''' |
|
952 | ||
953 | [PyMOL] RES: radius of gyration |
|
954 | From: Tsjerk Wassenaar <tsjerkw@gm...> - 2011-03-31 14:07:03 |
|
955 | https://sourceforge.net/p/pymol/mailman/message/27288491/ |
|
956 | DESCRIPTION |
|
957 | ||
958 | Calculate radius of gyration |
|
959 | ||
960 | USAGE |
|
961 | ||
962 | rgyrate [ selection ] |
|
963 | :::warning::: |
|
964 | if nothing is selected function is calculating radius of gyration for all pdbs in current Pymol session |
|
965 | ''' |
|
966 | try: |
|
967 | from itertools import izip |
|
968 | except ImportError: |
|
969 | izip = zip |
|
970 | quiet = int(quiet) |
|
971 | model = cmd.get_model(selection).atom |
|
972 | x = [i.coord for i in model] |
|
973 | mass = [i.get_mass() for i in model] |
|
974 | xm = [(m*i,m*j,m*k) for (i,j,k),m in izip(x,mass)] |
|
975 | tmass = sum(mass) |
|
976 | rr = sum(mi*i+mj*j+mk*k for (i,j,k),(mi,mj,mk) in izip(x,xm)) |
|
977 | mm = sum((sum(i)/tmass)**2 for i in izip(*xm)) |
|
978 | rg = math.sqrt(rr/tmass - mm) |
|
979 | if not quiet: |
|
980 | print("Radius of gyration: %.2f" % (rg)) |
|
981 | return rg |
|
982 | ||
983 | ||
984 | def rgyrate(selection='(all)', quiet=1): |
|
@@ 984-1009 (lines=26) @@ | ||
981 | return rg |
|
982 | ||
983 | ||
984 | def rgyrate(selection='(all)', quiet=1): |
|
985 | ''' |
|
986 | DESCRIPTION |
|
987 | ||
988 | Radius of gyration |
|
989 | ||
990 | USAGE |
|
991 | ||
992 | rgyrate [ selection ] |
|
993 | ''' |
|
994 | try: |
|
995 | from itertools import izip |
|
996 | except ImportError: |
|
997 | izip = zip |
|
998 | quiet = int(quiet) |
|
999 | model = cmd.get_model(selection).atom |
|
1000 | x = [i.coord for i in model] |
|
1001 | mass = [i.get_mass() for i in model] |
|
1002 | xm = [(m*i,m*j,m*k) for (i,j,k),m in izip(x,mass)] |
|
1003 | tmass = sum(mass) |
|
1004 | rr = sum(mi*i+mj*j+mk*k for (i,j,k),(mi,mj,mk) in izip(x,xm)) |
|
1005 | mm = sum((sum(i)/tmass)**2 for i in izip(*xm)) |
|
1006 | rg = math.sqrt(rr/tmass - mm) |
|
1007 | if not quiet: |
|
1008 | print("Radius of gyration: %.2f" % (rg)) |
|
1009 | return rg |
|
1010 | ||
1011 | cmd.extend("rgyrate", rgyrate) |
|
1012 |