Je souhaite diviser un bloc hybride et attribuer des lettres à chaque colonne séparément :
M1 M2 M3 M4 hybrid_block S1 S2 S3 S4
A T T A A|C C G C T
T G C T T|A A T A T
C A A C C|G G A C G
G T G T G|T C T T T
En utilisant le code suivant :
d1 = pd.concat([
df.filter(like='M'),
df.hybrid_block.str.split('|', expand=True).rename(columns='H{}'.format),
df.filter(like='S')
], axis=1)
Résultat que j'obtiens :
M1 M2 M3 M4 H0 H1 S1 S2 S3 S4
A T T A A C C G C T
T G C T T A A T A T
C A A C C G G A C G
G T G T G T C T T T
J'ai plutôt envie :
M1 M2 M3 M4 H_x H_y S1 S2 S3 S4
A T T A A C C G C T
T G C T T A A T A T
C A A C C G G A C G
G T G T G T C T T T
En outre, s'il y a plus d'un bloc hybride, je veux les diviser en conséquence, en leur attribuant un nom unique, par exemple h1_x and h1_y
pour le premier bloc et h2_x, h2_y
pour le deuxième bloc.