
ARGV
Publicado por María José (1 intervención) el 25/12/2016 14:36:08
Hola! No sé para qué sirve exactamente la funcion argv extraida del modulo sys.
alguien podria explicarme la ultima parte de este ejercicio?
### PROGRAMA PRINCIPAL
alguien podria explicarme la ultima parte de este ejercicio?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def fasta2sec (fastafile) :
""" Lee un fichero FASTA y
devuelve la secuencia que contiene """
F = open (fastafile)
secuencia = ""
for linea in F :
linea = linea.strip("\n")
if len(linea) != 0 and linea[0] != '>':
secuencia = secuencia + linea
return secuencia
def gc (secuencias) :
results=[]
for sec in secuencias:
pcgc = (sec.count('G') + sec.count('C')) / float(len(sec))*100.
results.append(pcgc)
return results
### PROGRAMA PRINCIPAL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from sys import argv
if len(argv) <= 2 : # nombre + número argumentos
print "Debe dar 2 o más nombres de ficheros FASTA"
exit()
# Creación de listas de secuencias
seqs = []
for i in range(1,len(argv)) :
seqs.append(fasta2sec(argv[i]))
# Obtención de lista de contenido en G+C
pcgc = gc(seqs)
max = pcgc[0]
for i in range(len(pcgc)) :
if pcgc[i] >= max :
max = pcgc[i]
imax = i
print 'La secuencia %s es la más rica en G+C con un %.2f%%' % (argv[imax+1] , pcgc[imax])
Valora esta pregunta


0