¿Cómo extraer columnas específicas de un archivo separado por espacios en Python?
Estoy tratando de procesar un archivo del banco de datos de proteínas que está separado por espacios (no \ t). Tengo un archivo .txt y quiero extraer filas específicas y, de esas filas, solo quiero extraer unas pocas columnas.
Necesito hacerlo en Python. Primero intenté con la línea de comandos y usé el comando awk sin problemas, pero no tengo idea de cómo hacer lo mismo en Python.
Aquí hay un extracto de mi archivo:
[...] SEQRES 6 B 80 ALA LEU SER ILE LYS LYS ALA GLN THR PRO GLN GLN TRP SEQRES 7 B 80 LYS PRO HELIX 1 1 THR A 68 SER A 81 1 14 HELIX 2 2 CYS A 97 LEU A 110 1 14 HELIX 3 3 ASN A 122 SER A 133 1 12 [...]
Por ejemplo, me gustaría tomar solo las filas 'HELIX' y luego las columnas 4ta, 6ta, 7ma y 9na. Comencé a leer el archivo línea por línea con un bucle for y luego extraje esas filas comenzando con 'HELIX' ... y eso es todo.
EDITAR: Este es el código que tengo en este momento, pero la impresión no funciona correctamente, solo imprime la primera línea de cada bloque (HOJA DE HELIX Y DBREF)
#!/usr/bin/python
import sys
for line in open(sys.argv[1]):
if 'HELIX' in line:
helix = line.split()
elif 'SHEET'in line:
sheet = line.split()
elif 'DBREF' in line:
dbref = line.split()
print (helix), (sheet), (dbref)