Вы могли попытаться использовать Texter и создать что-то вряд ли как:
./p, инициированный пространством и заменой текста с %c
, я просто протестировал его, и это хорошо работает. Единственный глюк должен использовать редкую последовательность, поскольку Texter не может ограничить это просто cmd.
существуют, вероятно, другие утилиты этого вида, который мог работать, и даже Автогорячая клавиша , на которой создается Texter, могла сделать это лучше, но Texter является легким:-)
Вам действительно нужно использовать комбинацию положительного просмотра назад и отрицательного просмотра вперед. Правильный синтаксис (Perl) следующий:
my @peptides = split(/(?!P)(?<=[RK])/, $seq);
Вы можете использовать утверждения просмотра , чтобы исключить такие случаи. Что-то вроде этого должно сработать:
split(/(?<=[RK](?!P))/, $seq)
Вы можете использовать просмотр вперед и назад, чтобы сопоставить этот материал, сохраняя при этом правильную позицию.
/(?<=[RK])(?!P)/
Если в конечном итоге разделится на точку после R или K, за которой не следует a P.
В Python вы можете использовать метод finditer
для возврата неперекрывающихся совпадений шаблонов, включая информацию о начале и диапазоне. Затем вы можете сохранить смещения строки вместо восстановления строки.