2012-08-06 29 views
7

Cuando uso write.fasta en seqinr, el archivo que se genera es así:¿Escribir archivos fasta utilizando el paquete R seqinr?

>Sequence name 1 

>Sequence name 2 

>Sequence name 3 
...etc 

Sequence 1 Sequence 2 Sequence 3 ...etc 

En otras palabras, una de las sucesiones son todo al principio del archivo, y luego las secuencias de salida son en conjunto al final del archivo.

Lo que me gustaría hacer es la siguiente:

>Sequence name 1 
Sequence 1 
>Sequence name 2 
Sequence 2 
>Sequence name 3 
Sequence 3 
...etc 

¿Eso es posible con write.fasta?

+3

Podría por favor enviar un [ejemplo reproducible] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)? Por ejemplo, publique el código que usa para llamar a 'write.fasta', y use' dput' para mostrar lo que le pasa. –

Respuesta

2

En realidad, siempre lo obtengo de la manera correcta, y nunca me ha sucedido que tenga un problema similar al suyo. Prueba esto.

Copia debajo de este texto:

>seq1 
agctgtagtc 
>seq2 
agtctctctt 
>seq3 
atgtataaaa 

Guardar como "test.fasta". Luego, en R haga lo siguiente

my.dna<-read.fasta("test.fasta") 
write.fasta(sequences=my.dna,names=names(my.dna),file.out="write.my.dna.fasta") 

Si abre "write.my.dna.fasta" ese modo, se lo siguiente:

>seq1 
agctgtagtc 
>seq2 
agtctctctt 
>seq3 
atgtataaaa 
14

que estaba teniendo un problema similar. Lo que hice fue convertir el vector que contenía las secuencias a una lista y funcionó bien.

por ejemplo, write.fasta(as.list(seq),names,file)

Cuestiones relacionadas