У меня есть нуклеотидные последовательности, и я пытаюсь преобразовать их в массив.Приведенный ниже код прекрасно работает для файла, который имеет 999 последовательностей и не работает для чего-либо меньшего или большего, чем эти.
Пример кода выглядит следующим образом
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
integer_encoder = LabelEncoder()
one_hot_encoder = OneHotEncoder(categories='auto')
input_features = []
for sequence in sequences:
integer_encoded = integer_encoder.fit_transform(list(sequence))
integer_encoded = np.array(integer_encoded).reshape(-1, 1)
one_hot_encoded = one_hot_encoder.fit_transform(integer_encoded)
input_features.append(one_hot_encoded.toarray())
np.set_printoptions(threshold=40)
input_features = np.stack(input_features, axis = -1)
ValueError: all input arrays must have the same shape
Ожидаемый результат -
DNA sequence 1#
AAGCGGGGGT.....GTGGTGTATA
one hot encoding of Sequence #1:
[[1.1.0.....1.0.1]
[0.0.0....0.0]]