Understanding binding interactions of cationic porphyrins with B-form DNA