Esempio n. 1
0
def test_mdtraj_to_fasta():
    import mdtraj as md
    topology = md.load(u.relative_to(__file__, 'data/p3_p4.pdb')).topology
    chain_A = u.mdtraj_to_fasta(topology, 0)
    chain_B = u.mdtraj_to_fasta(topology, 1)
    assert chain_A == "IQQLEEEIAQLEQKNAALKEKNQALKYG"
    assert chain_B == "IAQLKQKIQALKQENQQLEEENAALEYG"
Esempio n. 2
0
def test_sequnce_and_knowns_spaces():
    aln_file = u.relative_to(__file__, 'data/test-aln-spaces.ali')
    seq, knowns = u.sequnce_and_knowns(aln_file)
    assert seq == 'tet-p5LD3'
    #use set so order is not important
    assert set(knowns) == set(
        ['p3_p4', 'p5_p6', 'p7_p8', 'APHshort', 'BCRshort', 'GCN'])
Esempio n. 3
0
def writepdb():
    import mdtraj as md
    import os

    pdbname = u.relative_to(__file__, 'data/APH.pdb')
    pdbname1 = u.relative_to(__file__, 'data/APH1.pdb')

    md_obj = md.load(pdbname)
    topology = md_obj.topology
    positions = md_obj.xyz
    seq_target = u.mdtraj_to_fasta(topology, 0)[2:17]
    u.writepdb(2, 14, topology, positions, pdbname, 1, 2)
    assert os.path.isfile(pdbname1)
    md_obj = md.load(pdbname1)
    topology = md_obj.topology
    seq_test = u.mdtraj_to_fasta(topology, 0)
    assert seq_test == seq_target
Esempio n. 4
0
def test_mdtraj_to_fasta_bcr():
    """Test for reading MSE residue"""
    import mdtraj as md
    topology = md.load(u.relative_to(__file__, 'data/BCR.pdb')).topology

    chain_A = u.mdtraj_to_fasta(topology, 0)
    chain_B = u.mdtraj_to_fasta(topology, 1)

    assert chain_A == "DIEQELERAKASIRRLEQEVNQERFRMIYLQTLLAK"
    assert chain_B == "DIEQELERAKASIRRLEQEVNQERFRMIYLQTLLAK"
def test_seq_to_seq_map():
    assert seq_to_seq_map({
        '1': 'ABC',
        '2': 'CDEF'
    }) == {
        '1': 'ABC',
        '2': 'CDEF'
    }

    xls_file = u.relative_to(__file__, 'data/segments.xlsx')
    assert seq_to_seq_map(xls_file) == \
          {u'P1SN': u'SPED EIRQLEQ ENSQLER ENQRLEQ EIYQLER',
           u'P2SN': u'SPED KIEELKE KNSQLKE KNEELKQ KIYELKE',
           u'P3SN': u'SPED EIQQLEE EISQLEQ KNSELKE KNQELKY',
           u'P4SN': u'SPED KISQLKE KIQQLKQ ENQQLEE ENSQLEY',
           u'longTE': u'SPED KISQLKE KIQQLKQ ENQQLEE ENSQLEY ENQQLEE ENSQLEY'}
def test_get_annotated_sequence():
    xls_file = u.relative_to(__file__, 'data/segments.xlsx')
    #TODO increase readibility
    result = """M
SPED EIRQLEQ ENSQLER ENQRLEQ EIYQLER\t|P1SN
GSGPG
SPED EIQQLEE EISQLEQ KNSELKE KNQELKY\t|P3SN
GSGPG
SPED KISQLKE KIQQLKQ ENQQLEE ENSQLEY\t|P4SN
GSGPG
SPED KIEELKE KNSQLKE KNEELKQ KIYELKE\t|P2SN
LEHHHHHHHH"""

    annotated_seq = get_annotated_sequence("P1SN-P3SN-P4SN-P2SN".split("-"),
                                           xls_file,
                                           linkers="GSGPG",
                                           N_tag="M",
                                           C_tag="LEHHHHHHHH")
    assert annotated_seq == result
Esempio n. 7
0
log.verbose()  # request verbose output

if args.out_dir is None:
    args.out_dir = d.name + u.id_generator()

if not os.path.exists(args.out_dir):
    os.makedirs(args.out_dir)

#convert to absolute path before chdir
args.alnfile = os.path.abspath(args.alnfile)

os.chdir(args.out_dir)

print("################################")
print("Blocks_file after chdir",
      os.path.abspath(u.relative_to(__file__, './../building_blocks')))

# Read parameters (needed to build models from internal coordinates)
env.libs.topology.read('${LIB}/top_heav.lib')
env.libs.parameters.read('${LIB}/par.lib')

env.io.atom_files_directory = [
    '.', '..', 'building_blocks',
    os.path.abspath(u.relative_to(__file__, './../../building_blocks')),
    os.path.abspath(u.relative_to(__file__, './../building_blocks'))
]  #where to read atom files
env.edat.dynamic_sphere = True
env.edat.dynamic_lennard = False
env.edat.dynamic_coulomb = True
env.edat.relative_dielectric = 80
Esempio n. 8
0
def test_find_pair():
    json = u.relative_to(__file__, 'data/data.json')
    d = u.load_json_data(json)
    p1, p2, pdb = u.find_pair('APHshE', d.segments)
    assert p1 == d.segments[4]['id'] - 1
Esempio n. 9
0
def test_relative_to():
    """Test file name handling"""
    import os
    aln_file = u.relative_to(__file__, 'data/test-aln.ali')
    #this file must exist in this relative path (since we put it there)
    assert os.path.isfile(aln_file)
Esempio n. 10
0
log.verbose()    # request verbose output

if args.out_dir is None:
    args.out_dir=d.name + u.id_generator()

if not os.path.exists(args.out_dir):
    os.makedirs(args.out_dir)

#convert to absolute path before chdir
args.alnfile =  os.path.abspath(args.alnfile)

os.chdir(args.out_dir)

print("################################")
print("Blocks_file after chdir", os.path.abspath(u.relative_to(__file__,'./../building_blocks')))
    
# Read parameters (needed to build models from internal coordinates)
env.libs.topology.read('${LIB}/top_heav.lib') 
env.libs.parameters.read('${LIB}/par.lib')


env.io.atom_files_directory = ['.','..','building_blocks', 
                               os.path.abspath(u.relative_to(__file__,'./../building_blocks'))] #where to read atom files
env.edat.dynamic_sphere = True

md_opt_dict = \
    {'very_fast'  : refine.very_fast,
     'fast'       : refine.fast,
     'slow'       : refine.slow,
     'very_slow'  : refine.very_slow,
Esempio n. 11
0
def test_load_vfaces():
    """Tests loding of ply files. Python package plyfile must be installed."""
    assert load_vfaces( u.relative_to(__file__, 'data/01_tetrahedron.ply'))==\
           [[0, 2, 1], [0, 1, 3], [0, 3, 2], [1, 2, 3]], "Make sure plyfile is installed-"
Esempio n. 12
0
import cocopod.utils as u
import os
from modeller import *


if __name__ == "__main__":
    parser = argparse.ArgumentParser(__doc__,
                                     formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.add_argument('-j', '--json', help="json file name", default='data.json')
    parser.add_argument('-aln', '--alignment', help="alignment file name", default='alignment-file.ali')
    parser.add_argument('-p', '--path', help="path to template pdb files", default=None)
    args = parser.parse_args()

    if args.path is None:
        #the default path should be raltive to the scripts directroy
        args.path = u.relative_to(__file__,'../building_blocks')

    d = u.load_json_data(args.json)         #read json file
    aln_str = d.entire_sequence

    with open(args.alignment, 'w') as f1:
        for pair in d.pairs:  #go through all CC pairs

            pair_1_id, pair_2_id, pdbname = u.find_pair(pair['pair'][0], d.segments)
            pair_name = d.segments[pair_1_id].name + "_" + d.segments[pair_2_id].name
            
            md_obj = md.load(os.path.join(args.path, pdbname))
            topology = md_obj.topology   #read topology
            position = md_obj.xyz        #and position from pdb file

            pair_1_seq = u.mdtraj_to_fasta(topology,0)