Among the several universal gate sets, the Clifford$+T$ set seems the most important one (since it should provide fault-tolerant computing).
However, that set is logical and it differs from physical implementations, e.g. IBM processors use the gate set $\{CNOT, I, R_z, \sqrt{X}, X\}$.
Hence, my question is: how does the Qiskit framework handle the switch from a gate set, such as the Clifford$+T$, to the real one?
At this link there's an interesting possible answer. But I'd like to get a deeper understanding of the criteria Qiskit applies.
EDIT:
I'd like to input to the Qiskit transpile
method a simple circuit performing a control S gate:
qc = QuantumCircuit(2)
cs = SGate().control()
qc.append(cs, [0,1])
with basis gate set $\{H, S, T, CNOT\}$, i.e.:
new_qc = transpile(qc, basis_gates=['h','s','t',cx'])
However, the method cannot complete the task.