Innovation

read_fasta()/write_fasta() can read/write FASTA format file into/from named character. If you feel frustrate with DNAbin or other stophisticated class, and find youself using read/write_line and str_extract/replace/... repeatedly, may be you can consider this package.

Usage

system.file('extdata', 'aligned-multiline.fasta', package = 'rutil') |>
    read_fasta()
#> # A tibble: 61 × 2
#>    name                            seq                                          
#>    <chr>                           <chr>                                        
#>  1 Acanthisitta_chloris_Jarvis     --------------------------------------------…
#>  2 Amazona_aestiva_protein         MRFWGGGWTLRXT-SEMGNXS----------VQRMRE-------…
#>  3 Anas_platyrhynchos_Jarvis       --------------------------------------------…
#>  4 Anser_cygnoides_protein         --------------------------------------------…
#>  5 Antrostomus_carolinensis_Jarvis --------------------------------------------…
#>  6 Apaloderma_vittatum_Jarvis      --------------------------------------------…
#>  7 Aptenodytes_forsteri_Jarvis     --------------------------------------------…
#>  8 Apteryx_australis_protein       --------------------------------------------…
#>  9 Aquila_chrysaetos_protein       --------------------------------------------…
#> 10 Balearica_regulorum_Jarvis      --------------------------------------------…
#> # … with 51 more rows

system.file('extdata', 'aligned-multiline.fasta', package = 'rutil') |>
    read_fasta(unalign = TRUE)
#> # A tibble: 61 × 2
#>    name                            seq                                          
#>    <chr>                           <chr>                                        
#>  1 Acanthisitta_chloris_Jarvis     AGVLALWALTTHGMYIQDFWRTWLRGLRFFLAVGIFFCVVALVA…
#>  2 Amazona_aestiva_protein         MRFWGGGWTLRXTSEMGNXSVQRMREGPGGVLALWALITHVMYV…
#>  3 Anas_platyrhynchos_Jarvis       RAGVLALWALITHVMYVQDYWRTWLKGLRFFLFIGILFSALSVV…
#>  4 Anser_cygnoides_protein         MYVQDYWRTWLKGLRFFLFIGILFSALSVVGFCTFLVLAITKHQ…
#>  5 Antrostomus_carolinensis_Jarvis AGVLALWALITHVMYVQDYWRTWLKGLRFFLFIGILFSALSVVG…
#>  6 Apaloderma_vittatum_Jarvis      RAGVLALWALTTHVMYVQDYWRTWLKGLRFFLFIGILFSALSAV…
#>  7 Aptenodytes_forsteri_Jarvis     AGVLALWALITHVMYVQDYWRTWLKGLRFFLFIGILFSALSVVG…
#>  8 Apteryx_australis_protein       MHLSFPLESDYWRTWLKGLRFFLFIGILFSALSVVGFCTFLVLA…
#>  9 Aquila_chrysaetos_protein       MFSGCIQPFPEWLLMFLCVLALWALITHVMYVQDYWRTWLKGLR…
#> 10 Balearica_regulorum_Jarvis      AGVLALWALITHVMYVQDYWRTWLKGLRFFLFIGILFSALSVVG…
#> # … with 51 more rows