This example illustrates the use of skeletons and generating the necessary datablocks for a new molecule from its sequence.
O > bone O > BONE is not a unique keyword. O > Bone_setup is a possibility. O > Bone_select is a possibility. O > Bone_redefin is a possibility. O > Bone_pick_Ca is a possibility. O > Bone_repeat is a possibility. O > Bone_skip is a possibility. O > Bone_break_b is a possibility. O > Bone_make_bo is a possibility. O > BONE is not a visible command. O > bone_setup Bone> Skeleton name []: ano1 Bone> Object name []: 100A Bone>Sphere radius [ 0.0 ]: 100. Bone>What bone levels? [ 1 ]: 1 3 O > bone_select O > dir ano1* Heap> ANO1_ATOM_XYZ R W 19959 Heap> ANO1_ATOM_BONE I W 6653 Heap> ANO1_CONNECTIVITY I W 7393 Heap> ANO1_ATOM_COLOUR I W 6653 Heap> ANO1_RESIDUE_NAME C W 1 Heap> ANO1_RESIDUE_TYPE C W 1 Heap> ANO1_RESIDUE_POINTERS I W 2 Heap> ANO1_ATOM_SELECT I W 6653
Activate a macro, its contents will be listed
O> @skl_100a.dat bone_setup ano1 bone1 100. 1 3 ; centre_id wait_id bone_select O > O > bone_break Bone> Object 100A re-drawn. Bone> Object BONE1 re-drawn. O > del 100a ; O > @../macros/bones_20a.macro
Select all bones atoms of type 1, 2 & 3 within 20A of an Id'ed atom. This creates an atomic object called 20a, chosing skeleton atoms from bones molecule `ano1'.
bone_setup ano1 20a 20. 1 2 3 ; centre_id wait_id bone_select
Now create empty datablocks for a molecule of P2 myelin. Read in the sequence from an external file:
O > read p2_sequence.o
That was a single datablock describing the P2 sequence with a molecule named NEW.
O > sam_init Sam> This WILL initialise certain datablocks. Sam> Molecule name ([] to exit) : new Sam> Database compressed. Sam> Making residue names. Sam> There are 131 residues, 647 atoms.
Make an object called CA, it will get updated as you use Bone_Ca_Id. The residues have names 1, 2, 3, etc., because we did not supply a datablock of names:
O > mol new obj ca ; end O > bone_ca_id ... ... O > stop