Set initial position and rotation of a bone (python)
Thanks to batFINGER I've solved the issue.

bpy.ops.object.mode_set(mode='EDIT')
for h in range(boneCount):
    name        = f[h * 3 + 1][:-1]
    parent      = int(f[h * 3 + 2])
    coords      = f[h * 3 + 3][:-1].split(" ")
    # Converting quaternions values to matrix 4x4
    quat        = mathutils.Quaternion([float(coords[6]), float(coords[3]), float(coords[4]), float(coords[5])]).to_matrix().to_4x4()
    # Converting location values to matrix 4x4
    pos         = mathutils.Matrix.Translation([float(coords[0]), float(coords[1]), float(coords[2])])
    bone        = skl.data.edit_bones.new(name)
    bone.head   = mathutils.Vector([float(coords[0]), float(coords[1]), float(coords[2])])
    # To establish a length of bone
    bone.tail   = mathutils.Vector([float(coords[0]), float(coords[1])+0.001, float(coords[2])])
    # To apply the rotations
    bone.matrix = pos @ quat


With this script I'm able to load the original bones rotations in matrix. After bone declaration, must set the bone.head in order to place the bone. bone.tail is useful for boen size, else the bone will be larger. Now, in order to set the desired rotations without altering the object structure, you must set bone.matrix. Is better to use mathutils for creating correct matrix.
This is how it looks like
As you can see, bones are well rotated looking at the axes.