Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Thusor

    őstag

    Tudnátok nekem abban segíteni, hogy egy matrix listát hogy tudnék átalakítani mátrixonként egy-egy fileba pythonnal:

    Ez egy példa lista a matrixokról:

    >MA0001.2 AGL3
    A [22 16 25 27 0 0 82 40 56 35 65 25 64 0 33 52 45 21 ]
    C [29 9 8 16 92 79 1 4 0 0 1 4 0 0 14 5 23 24 ]
    G [34 29 4 13 0 0 2 3 1 0 4 3 28 92 15 7 13 26 ]
    T [10 41 58 39 3 16 10 48 38 60 25 63 3 3 33 31 14 24 ]

    >MA0002.2 RUNX1
    A [ 287 234 123 57 0 87 0 17 10 131 500 ]
    C [ 496 485 1072 0 75 127 0 42 400 463 158 ]
    G [ 696 467 149 7 1872 70 1987 1848 251 81 289 ]
    T [ 521 814 656 1936 53 1716 13 93 1339 1325 1053 ]

    >MA0003.3 TFAP2A
    A [1706 137 0 0 33 575 3640 1012 0 31 1865 ]
    C [1939 968 5309 5309 1646 2682 995 224 31 4726 798 ]
    G [ 277 4340 139 11 658 1613 618 5309 5309 582 1295 ]
    T [1386 47 0 281 2972 438 56 0 0 21 1350 ]

    >MA0004.1 Arnt
    A [ 4 19 0 0 0 0 ]
    C [16 0 20 0 0 0 ]
    G [ 0 1 0 20 0 20 ]
    T [ 0 0 0 0 20 0 ]

    >MA0005.2 AG
    A [21 9 10 29 0 0 31 47 52 25 17 19 7 2 22 45 40 15 ]
    C [20 3 0 8 66 65 3 2 0 0 15 8 0 0 17 4 6 10 ]
    G [ 6 3 1 8 0 0 6 0 1 1 11 20 57 54 5 5 9 16 ]
    T [19 51 55 21 0 1 26 17 13 40 23 19 2 10 22 12 11 25 ]

    >MA0006.1 Ahr::Arnt
    A [ 3 0 0 0 0 0 ]
    C [ 8 0 23 0 0 0 ]
    G [ 2 23 0 23 0 24 ]
    T [11 1 1 1 24 0 ]

    A feladat az lenne, hogy ezeket > utáni nevek alapján nevezi a fileokat .pfm kiterjesztéssel, valamint matrixonként. Illetőleg a matrixokból el kellene távolítania a kezdő "A", "C", "G", "T" betűket, valmint mindegyik sorból a "[" "]" jeleket is és úgy írja ki egy fileba.

    Eddig jutottal a python scripttel:

    import os
    import sys

    if len(sys.argv) < 2:
    print 'Please, specify the input file name'
    exit()

    url = sys.argv[1]
    f = open(url, 'r')
    data = f.read()
    f.close()

    dirName = url.split('\\').pop().split('/').pop().split('.')[0]
    if not os.path.exists('./' + dirName): os.makedirs('./' + dirName)

    for matrix in data.split('>'):
    if not matrix:
    continue
    name = matrix.splitlines()[0].replace('/', '_') + '.pfm'
    f1 = open(dirName + '/' + name, 'w')
    f1.write('\n'.join(matrix.splitlines()[1:]).replace('\t', ' '))
    f1.close()

    Hozzá kéne még tenni a betűk és zárójelek eltávolítását. Ezt hogy tudnám megtenni? Előre is köszönöm a segítségeteket.

    AOC Q3277PQU monitor / HP Workstation z600 / Synology DS1618+ / Synology DS218+ / DELL PowerEdge T20 / Xbox Series X / Apple MacBook Air (M1)

Új hozzászólás Aktív témák