2012-08-06 15 views
7

Quando uso write.fasta nel seqinr, il file che emette assomiglia a questo:Scrittura di file fasta usando il pacchetto R seqinr?

>Sequence name 1 

>Sequence name 2 

>Sequence name 3 
...etc 

Sequence 1 Sequence 2 Sequence 3 ...etc 

In altre parole, i nomi delle sequenze sono tutti all'inizio del file, e quindi le sequenze sono uscita insieme alla fine del file.

Quello che mi piacerebbe fare è questo:

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

È quello possibile con write.fasta?

+3

La prego di inviare un [esempio riproducibile] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)? Ad esempio, inserisci il codice che usi per chiamare 'write.fasta' e usa' dput' per mostrare cosa passi ad esso? –

risposta

2

In realtà, lo ottengo sempre nel modo giusto, e non mi è mai successo di avere un problema simile al tuo. Prova questo.

Copia questo testo di seguito:

>seq1 
agctgtagtc 
>seq2 
agtctctctt 
>seq3 
atgtataaaa 

Salva come "test.fasta". Poi in R procedere come segue

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

Se si apre "write.my.dna.fasta" Sarà quindi ottenere i seguenti:

>seq1 
agctgtagtc 
>seq2 
agtctctctt 
>seq3 
atgtataaaa 
14

ho avuto un problema simile. Quello che ho fatto è stato convertire il vettore che conteneva le sequenze in una lista e ha funzionato bene.

esempio, write.fasta(as.list(seq),names,file)

Problemi correlati