### Sample usage from testbin directory: python query4.py &> [YOUR-OUTPUT-FILE]
### This query searches Glycan structures based on the given chemical code. ExtractOntologyInfoByStringChemicalCode(chemical_code, output_type)

import sys
sys.path.insert(0, '../')
import gmml
temp = gmml.Assembly()

### chemical_code is the linear version of the Glycode. more information on Glycode: http://glycam.org/docs/gmml/2016/03/31/glycode-internal-monosaccharide-representation/
### Change the first input argument in the function calls as you desire. ExtractOntologyInfoByStringChemicalCode(chemical_code, output_type)
if len(sys.argv) == 2:
    temp.ExtractOntologyInfoByStringChemicalCode("_4^2^3P^a^+1", sys.argv[1])
else:
    temp.ExtractOntologyInfoByStringChemicalCode("_4^2^3P^a^+1")
예제 #2
0
###FOR FURTHER INSTRUCTIONS PLEASE REFER TO alternateresidues.py SAMPLE FILE
#SAMPLE COMMAND :
# python sequencesanitycheck.py -seq "LManpa1-2[LGalpa1-3LGlcpa1-4]DGalpa1-4DGlcpa1-6DAllpa1-OH" -prep "../gmml/dat/CurrentParams/leaprc_GLYCAM_06j-1_2014-03-14/GLYCAM_06j-1.prep" -parm "../gmml/dat/CurrentParams/leaprc_GLYCAM_06j-1_2014-03-14/GLYCAM_06j.dat"

import sys
sys.path.insert(0, '../')
import gmml
import time
if len(sys.argv) < 2:
    print 'Please enter a sequence using -seq option'
elif len(sys.argv) < 8:
    assembly = gmml.Assembly()
    prep_residues = gmml.condensedsequence_amber_prep_residue_tree()
    if assembly.CheckCondensedSequenceSanity(sys.argv[2], prep_residues):
        print sys.argv[2], ' is valid'
        assembly.BuildAssemblyFromCondensedSequence(sys.argv[2], sys.argv[4],
                                                    sys.argv[6], True)
        pdb_file = assembly.BuildPdbFileStructureFromAssembly()
        pdb_file.Write('pdb_file.pdb')
        print 'Charge: ' + str(assembly.GetTotalCharge())
        condensed_sequence = gmml.CondensedSequence(sys.argv[2])
        rotamers_glycosidic_angles_info = condensed_sequence.GetCondensedSequenceRotamersAndGlycosidicAnglesInfo(
            condensed_sequence.GetCondensedSequenceResidueTree())

        # Remove tg rotamer of OMEGA angle for 'DGalpA1-6DGlcpA' linkage if exists in selected rotamers for the specific linkage
        new_rotamers_glycosidic_angles_info = gmml.rotamer_angle_info_vector()
        for rotamers_name, rotamers_info in rotamers_glycosidic_angles_info:
            if rotamers_name == 'DGalpA1-6DGlcpA':
                new_selected_rotamers = gmml.string_vector_string_pair_vector()
                for sr_name, sr_val in rotamers_info.selected_rotamers_:
                    if sr_name == 'omega':
예제 #3
0
            if sys.argv[3] == '-amino_libs':
                arguments = sys.argv[4].split(',')
                for argument in arguments:
                    amino_libs.push_back(argument)
    elif sys.argv[3] == '-amino_libs':
        arguments = sys.argv[4].split(',')
        for argument in arguments:
            amino_libs.push_back(argument)
        if len(sys.argv) < 6:
            print('Please import a pdb file using -pdb option')
        elif sys.argv[5] == '-pdb':
            pdb_file = sys.argv[6]
else:
    print(
        'Please import one pdb file using -pdb option and (optionally) amino library file(s) using -amino_libs option'
    )

if pdb_file != '':
    het.push_back(pdb_file)
    temp = gmml.Assembly(het, gmml.PDB)
    empty = gmml.string_vector()
    start = time.time()
    temp.BuildStructureByDistance(10)
    end = time.time()
    print('Time of building structure by distance:', end - start, '(sec)')
    oligos = temp.ExtractSugars(amino_libs)
    res_map = temp.ExtractResidueGlycamNamingMap(oligos)
    temp.UpdateResidueName2GlycamName(res_map, prep_file)
    pdb = temp.BuildPdbFileStructureFromAssembly()
    pdb.Write('glycam_pdb.pdb')
예제 #4
0
import sys
sys.path.insert(0, '../')
import gmml
import time

assembly = gmml.Assembly()
assembly.BuildAssemblyFromPdbFile(sys.argv[1])
assembly.BuildStructureByDistance(1)
assembly.Solvation(8, 3, sys.argv[2])
pdb_file = assembly.BuildPdbFileStructureFromAssembly()
pdb_file.Write('solvated.pdb')
solvent = gmml.Assembly()
solute = gmml.Assembly()
assembly.SplitSolvent(solvent, solute)
llc_solvent = gmml.Coordinate()
urc_solvent = gmml.Coordinate()
solvent.GetBoundary(llc_solvent, urc_solvent)
llc_solute = gmml.Coordinate()
urc_solute = gmml.Coordinate()
solute.GetBoundary(llc_solute, urc_solute)
solvent_box_size = urc_solvent
solvent_box_size - llc_solvent
print 'Solvent box size: ' + str(solvent_box_size.GetX()) + ' x ' + str(
    solvent_box_size.GetY()) + ' x ' + str(solvent_box_size.GetZ())
urc_buffer = urc_solvent
urc_buffer - urc_solute
llc_buffer = llc_solute
llc_buffer - llc_solvent
print 'Buffer size => +X: ' + str(urc_buffer.GetX()) + ' +Y: ' + str(
    urc_buffer.GetY()) + ' +Z: ' + str(urc_buffer.GetZ()) + ' -X: ' + str(
        llc_buffer.GetX()) + ' -Y: ' + str(llc_buffer.GetY()) + ' -Z: ' + str(