Is the length of the line fixed?
Either way, just translate and rotate the line to the position/rotation of the sensor.
Code:
#Create line of length 1
viz.startlayer(viz.LINES)
viz.vertex(0,0,0)
viz.vertex(0,0,1)
line = viz.endlayer()
line.dynamic()
.
.
.
#Update line based on sensor data
data = sensor.get()
line.translate(data[:3])
line.rotatequat(data[3:7])
#If line length is dynamic, then update it
line.vertex(1,0,0,length)
There are utility function in the vizmat module to convert quaternions into other angles,
vizmat.QuatToEuler(q) and
vizmat.QuatToAxisAngle(q)