Несмотря на terdon прекрасное предложение , следующий сценарий AWK выполняет эту работу:
$1 == "TYR" { seq = $1; start = $2; next }
($1 == "LYS" && seq == "TYR") || ($1 == "SER" && seq == "LYS") { seq = $1; next }
$1 == "ALA" && seq == "SER" { print start }
{ seq = "" }
Ищет TYR
и запоминает начальную позицию; он также соответствует TYR
, LYS
, SER
в правильной последовательности, отмечая предыдущий элемент последовательности в seq
на каждом этапе. Строки, не соответствующие -, приводят к очистке последовательности.
Проблема заключалась в том, что служба TCP работала на сервере с портом 2022, но служба, работающая на порту 5000, была привязана только к 127.0.0.1. Конкретной службой было приложение flask socketio. Я изменил код на socketio.run(app, host="0.0.0.0", port=5000)
.