Code Duplication    Length = 26-32 lines in 2 locations

rna_tools/tools/PyMOL4RNA/PyMOL4RNA.py 2 locations

@@ 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