Ну, у меня есть несколько комментариев и предложений, надеюсь, это поможет.
По моему мнению, первое, что вы должны сделать, чтобы получить все те вещи, которые вам нужны, это структурировать ваши данные .
Попробуйте создать для каждой строки в файле словарь типа
{'SAMPID': <value_1>, 'TRAIL': <value_2>, ...}
И тогда у вас будет список таких объектов dict, и вы сможете итерировать его и фильтровать по любому полю, которое пожелаете.
Это первый и самый важный момент.
После того, как вы это сделаете, модулирует ваш код , не просто создайте один скрипт, чтобы выполнить всю работу. Определите фрагменты кода, которые будут избыточными (как цикл фильтрации), поместите их в функцию и вызовите ее, передав все необходимые аргументы.
Еще одна деталь: вам не нужно указывать размер списка, как в
for E in input_table[1:3635]:
Просто напишите
for E in input_table[1:-1]
И так должно быть для каждого списка. Конечно, если вы перестанете относиться к своим данным как к необработанному тексту, в этом нет необходимости. Просто итерируйте свой список диктов обычно.
Если у вас есть больше сомнений, дайте мне знать.
Франциско