Charcoal, 19 bytes
AθAηE§θ⁰§§θLΦ⊕κ№ηλκ
Try it online! Link is to verbose version of code. Takes input as a pair of string gene sequences and a 0-indexed list of crossing points. Explanation:
Aθ Input the pair of gene sequences into `q`
Aη Input the list of crossing points into `h`
E§θ⁰ Loop over one of the gene sequences
κ Current index
⊕ Incremented
Φ №ηλ Intersect implicit range with crossing points
L Take the length
§θ Cyclically index into the pair of gene sequences
§ κ Take the appropriate element of that sequence
Implicitly output on separate lines
Alternatively, ⭆ could be subsituted for E to print the result as a string. Try it online!