Write aligned or un-aligned sequences to a FASTA format file.

write.fasta(alignment=NULL, ids=NULL, seqs=alignment$ali, gap=TRUE, file, append = FALSE)

Arguments

alignment

an alignment list object with id and ali components, similar to that generated by read.fasta.

ids

a vector of sequence names to serve as sequence identifers

seqs

an sequence or alignment character matrix or vector with a row per sequence

gap

logical, if FALSE gaps will be removed.

file

name of output file.

append

logical, if TRUE output will be appended to file; otherwise, it will overwrite the contents of file.

Value

Called for its effect.

References

Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.

Author

Barry Grant

Note

For a description of FASTA format see: http://www.ncbi.nlm.nih.gov/BLAST/blastcgihelp.shtml.

See also

Examples

# \donttest{ # PDB server connection required - testing excluded ## Read a PDB file pdb <- read.pdb("1bg2")
#> Note: Accessing on-line PDB file
#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/1bg2.pdb exists. Skipping download
## Extract sequence from PDB file s <- aa321(pdb$seqres) # SEQRES a <- aa321(pdb$atom[pdb$calpha,"resid"]) # ATOM ## Write simple fasta file #write.fasta( seqs=seqbind(s,a), file="eg.fa") #write.fasta( ids=c("seqres","atom"), seqs=seqbind(s,a), file="eg.fa" ) outfile1 = file.path(tempdir(), "eg.fa") write.fasta(list( id=c("seqres"),ali=s ), file = outfile1) write.fasta(list( id=c("atom"),ali=a ), file = outfile1, append=TRUE) ## Align seqres and atom records #seqaln(seqbind(s,a)) ## Read alignment aln<-read.fasta(system.file("examples/kif1a.fa",package="bio3d")) ## Cut all but positions 130 to 245 aln$ali=aln$ali[,130:245] outfile2 = file.path(tempdir(), "eg2.fa") write.fasta(aln, file = outfile2) invisible( cat("\nSee the output files:", outfile1, outfile2, sep="\n") )
#> #> See the output files: #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/eg.fa #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/eg2.fa
# }