Esempio n. 1
0
 def test_write_1(self):
     contact_file = ContactFile('test')
     contact_map = ContactMap('1')
     contact_file.add(contact_map)
     for c in [(1, 9, 0, 8, 0.7), (1, 10, 0, 8, 0.7), (2, 8, 0, 8, 0.9),
               (3, 12, 0, 8, 0.4)]:
         contact = Contact(c[0], c[1], c[4], distance_bound=(c[2], c[3]))
         contact_map.add(contact)
     contact_map.sequence = Sequence(
         '1',
         'HLEGSIGILLKKHEIVFDGCHDFGRTYIWQMSDHLEGSIGILLKKHEIVFDGCHDFGRTYIWQMSD'
     )
     f_name = create_tmp_f()
     # Not sure if bug in Python3 numpy or intended purpose [Implemented: 21.11.2016]
     mode = 'wb' if sys.version_info.major == 3 else 'w'
     with open(f_name, mode) as f_out:
         CCMpredParser().write(f_out, contact_file)
     content = [
         '0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t6.999999999999999556e-01\t6.999999999999999556e-01\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t9.000000000000000222e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t4.000000000000000222e-01',
         '0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '0.000000000000000000e+00\t9.000000000000000222e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '6.999999999999999556e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '6.999999999999999556e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00',
         '0.000000000000000000e+00\t0.000000000000000000e+00\t4.000000000000000222e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00'
     ]
     with open(f_name, 'r') as f_in:
         output = f_in.read().splitlines()
     self.assertEqual(content, output)
     os.unlink(f_name)
Esempio n. 2
0
 def test_write_1(self):
     contact_file = ContactFile("test")
     contact_map = ContactMap("1")
     contact_file.add(contact_map)
     for c in [(1, 9, 0, 8, 0.7), (1, 10, 0, 8, 0.7), (2, 8, 0, 8, 0.9),
               (3, 12, 0, 8, 0.4)]:
         contact = Contact(c[0], c[1], c[4], distance_bound=(c[2], c[3]))
         contact_map.add(contact)
     contact_map.sequence = Sequence(
         "1",
         "HLEGSIGILLKKHEIVFDGCHDFGRTYIWQMSDHLEGSIGILLKKHEIVFDGCHDFGRTYIWQMSD"
     )
     f_name = self.tempfile()
     # Not sure if bug in Python3 numpy or intended purpose [Implemented: 21.11.2016]
     mode = "wb" if sys.version_info.major == 3 else "w"
     with open(f_name, mode) as f_out:
         CCMpredParser().write(f_out, contact_file)
     content = [
         "0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t6.999999999999999556e-01\t6.999999999999999556e-01\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t9.000000000000000222e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t4.000000000000000222e-01",
         "0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "0.000000000000000000e+00\t9.000000000000000222e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "6.999999999999999556e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "6.999999999999999556e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
         "0.000000000000000000e+00\t0.000000000000000000e+00\t4.000000000000000222e-01\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00\t0.000000000000000000e+00",
     ]
     with open(f_name, "r") as f_in:
         output = f_in.read().splitlines()
     self.assertEqual(content, output)
Esempio n. 3
0
 def test_write_2(self):
     contact_file = ContactFile("test")
     contact_map = ContactMap("1")
     contact_file.add(contact_map)
     for c in [(1, 9, 0, 8, 0.7), (1, 10, 0, 8, 0.7), (2, 8, 0, 8, 0.9),
               (3, 12, 0, 8, 0.4)]:
         contact = Contact(c[0], c[1], c[4], distance_bound=(c[2], c[3]))
         contact_map.add(contact)
     contact_map.sequence = Sequence(
         "1",
         "HLEGSIGILLKKHEIVFDGCHDFGRTYIWQMSDHLEGSIGILLKKHEIVFDGCHDFGRTYIWQMSD"
     )
     f_name = self.tempfile()
     # Not sure if bug in Python3 numpy or intended purpose [Implemented: 21.11.2016]
     with open(f_name, "w") as f_out:
         if sys.version_info.major == 3:
             with self.assertRaises(TypeError):
                 CCMpredParser().write(f_out, contact_file)
         else:
             self.assertTrue(True)
Esempio n. 4
0
    def test_read_1(self):
        content = """0.00000000000000000000e+00      9.05865192413330078125e-01      4.48399752378463745117e-01      3.83993983268737792969e-02      7.80840754508972167969e-01      5.15280842781066894531e-01      2.66545146703720092773e-01      4.99921828508377075195e-01      4.54095661640167236328e-01      7.60651350021362304688e-01
9.05863702297210693359e-01      0.00000000000000000000e+00      7.22257912158966064453e-01      1.90076664090156555176e-01      1.08203485608100891113e-01      1.23369038105010986328e-01      5.28753221035003662109e-01      3.98827701807022094727e-01      7.34628140926361083984e-01      5.52688777446746826172e-01
4.48399752378463745117e-01      7.22256183624267578125e-01      0.00000000000000000000e+00      1.39001503586769104004e-01      8.06087076663970947266e-01      4.15808916091918945312e-01      3.66488158702850341797e-01      5.48547744750976562500e-01      3.75738739967346191406e-01      6.22575163841247558594e-01
3.83996069431304931641e-02      1.90076768398284912109e-01      1.39001443982124328613e-01      0.00000000000000000000e+00      3.90003859996795654297e-01      2.16557279229164123535e-01      4.70980733633041381836e-01      7.48713970184326171875e-01      3.39133590459823608398e-01      3.63562434911727905273e-01
7.80841588973999023438e-01      1.08203165233135223389e-01      8.06088566780090332031e-01      3.90004277229309082031e-01      0.00000000000000000000e+00      1.00000000000000000000e+00      4.70447808504104614258e-01      2.48236447572708129883e-01      1.31565973162651062012e-01      2.77379095554351806641e-01
5.15280425548553466797e-01      1.23368613421916961670e-01      4.15808051824569702148e-01      2.16556847095489501953e-01      9.99999344348907470703e-01      0.00000000000000000000e+00      4.25846457481384277344e-01      2.21113219857215881348e-01      9.12295103073120117188e-01      5.38769721984863281250e-01
2.66544729471206665039e-01      5.28752684593200683594e-01      3.66489529609680175781e-01      4.70980644226074218750e-01      4.70447897911071777344e-01      4.25846666097640991211e-01      0.00000000000000000000e+00      3.21736276149749755859e-01      5.99321126937866210938e-02      5.63172221183776855469e-01
4.99920457601547241211e-01      3.98826628923416137695e-01      5.48546612262725830078e-01      7.48714208602905273438e-01      2.48236656188964843750e-01      2.21113741397857666016e-01      3.21736931800842285156e-01      0.00000000000000000000e+00      6.80750489234924316406e-01      0.00000000000000000000e+00
4.54095035791397094727e-01      7.34628796577453613281e-01      3.75739067792892456055e-01      3.39132964611053466797e-01      1.31566718220710754395e-01      9.12294447422027587891e-01      5.99323771893978118896e-02      6.80750906467437744141e-01      0.00000000000000000000e+00      3.14438492059707641602e-01
7.60651111602783203125e-01      5.52687942981719970703e-01      6.22575819492340087891e-01      3.63562554121017456055e-01      2.77379721403121948242e-01      5.38770556449890136719e-01      5.63172996044158935547e-01      1.05407856665351573611e-07      3.14439445734024047852e-01      0.00000000000000000000e+00
"""
        f_name = create_tmp_f(content=content)
        with open(f_name, 'r') as f_in:
            contact_file = CCMpredParser().read(f_in)
        contact_map1 = contact_file.top_map
        self.assertEqual(1, len(contact_file))
        self.assertEqual(55, len(contact_map1))
        self.assertEqual(
            sorted([1] * 10 + [2] * 9 + [3] * 8 + [4] * 7 + [5] * 6 + [6] * 5 +
                   [7] * 4 + [8] * 3 + [9] * 2 + [10] * 1),
            sorted([c.res1_seq for c in contact_map1]))
        self.assertEqual([
            1.0, 0.9122951030731201, 0.9058651924133301, 0.806087076663971,
            0.7808407545089722, 0.7606513500213623, 0.7487139701843262,
            0.7346281409263611, 0.7222579121589661, 0.6807504892349243,
            0.6225751638412476, 0.5631722211837769, 0.5526887774467468,
            0.5485477447509766, 0.5387697219848633, 0.5287532210350037,
            0.5152808427810669, 0.4999218285083771, 0.4709807336330414,
            0.4704478085041046, 0.45409566164016724, 0.44839975237846375,
            0.4258464574813843, 0.41580891609191895, 0.3988277018070221,
            0.39000385999679565, 0.3757387399673462, 0.36648815870285034,
            0.3635624349117279, 0.3391335904598236, 0.32173627614974976,
            0.31443849205970764, 0.2773790955543518, 0.2665451467037201,
            0.24823644757270813, 0.22111321985721588, 0.21655727922916412,
            0.19007666409015656, 0.1390015035867691, 0.13156597316265106,
            0.12336903810501099, 0.10820348560810089, 0.05993211269378662,
            0.03839939832687378, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
            0.0, 0.0
        ], [c.raw_score for c in contact_map1])
        os.unlink(f_name)