我收到的错误在下面。
所有输入数组必须具有相同的形状
您不是在划线。正常的DNA序列由A,G,C和T组成。您还考虑了\r
字符。您的输入是这样的:
CCGAGGGCTATGGTTTGGAAGTTAGAACCCTGGGGCTTCTCGCGGACACC\r
GAGTTTATATGGCGCGAGCCTAGTGGTTTTTGTACTTGTTTGTCGCGTCG\r
...
AATGTCGACCGAACTCCGCACTGCTGGCCCGGGCCTATATCGAGAGTGAC
因此,对于最后一行以外的其他行,编码器将生成形状为(50,5)的数组,因为该行中有5个不同的字符。对于最后一行,它将生成形状为(50,4)的数组,然后得到ValueError: all input arrays must have the same shape
。
要解决此问题,您可以在代码中的某个位置剥离序列。例如,这将起作用:
...
for sequence in sequences:
integer_encoded = integer_encoder.fit_transform(list(sequence.strip()))
...