Kysymys:
Kuinka muuntaa DNAbin FASTA: ksi R: ssä?
Nikita
2017-08-30 05:45:06 UTC
view on stackexchange narkive permalink

Yritän muuntaa DNAbin-tiedostot fasta-muotoon. Perustelut: Haluan käyttää fasta-tiedostoa laskemaan ei-synonyymiset / synonyymiset mutaatioasteet.

my_dnabin1 on 55 näytteen DNAbin-tiedosto, ja käytän seuraavaa koodia sen muuntamiseksi fasta-tiedostoksi.

dnabin_to_fasta <- lapply (my_dnabin1, function (x) as.character (x [1: pituus (x)]))) Tämä luo luettelon 55 näytteestä, joka näyttää :

$ SS.11.01

[1] "t" "t" "a" "c" "c" "t" "a" "a" "a" " a "" a "" g "" c "" c "" g "" c "" t "" t "" c "" c "" c "" t "" c "" c "" a "" a " [27] "c" "c" "c" "t" "a" "g" "a" "a" "g" "c" "a" "a" "a" "c" "c" "t "" t "" t "" c "" a "" a "" c "" c "" c "" c "" a "

$ SS.11.02

[ 1] "t" "t" "a" "c" "c" "t" "a" "a" "a" "a" "a" "g" "c" "c" "g" "c" "t" "t" "c" "c" "c" "t" "c" "c" "a" "a" [27] "c" "c" "c" "t" "a" "g "" a "" a "" g "" c "" a "" a "" a "" c "" c "" t "" t "" t "" c "" a "" a "" c "" c "" c "" c "" a "

ja niin edelleen ...

Haluan kuitenkin lähdöksi fasta-muotoisen tiedoston, joka saattaa näyttää tältä:

>SS.11.01 ttacctga

>SS.11.02 ttacctga

üks vastaus:
gringer
2017-08-30 06:40:36 UTC
view on stackexchange narkive permalink

Seuraavien tulisi toimia:

  cat (file = "out.fa", paste (paste0 (">", names (dnabin_to_fasta)), sapply (dnabin_to_fasta, paste, collapse = ""), sep = "\ n"), sep = "\ n");  

Hieman selitystä, alkaen keskeltä ulospäin:

  1. Kutista dnabin_to_fasta-kirjainryhmät yksittäisiksi merkkijonoiksi
  2. Liitä ">" jokaisen sekvenssin nimen eteen
  3. Yhdistä vaiheiden 1 & 2 tulokset erottamalla ne rivinvaihto
  4. Kirjoita jokainen ketjutettu merkkijono tiedostoon erottamalla rivinvaihdolla
Kiitos paljon! Se ratkaisi suurimman osan ongelmastani. Kun tulostan sen näytölle, saan haluamasi tuloksen. Se ei kuitenkaan tuota mitään tiedostoja. Voitteko auttaa minua myös tässä?
Huomaa, että R tallentaa tiedostot "työhakemistoon", joka ei välttämättä ole hakemisto, josta viimeinen tiedosto ladattiin. Jos käytät `` kissaa '' tiedosto-vaihtoehdolla, se todennäköisesti tallentaa * jonnekin *. Voit selvittää mistä komennolla `getwd ()`.
Kiitos paljon! Se ratkaisi ongelmani! Olin jumissa siinä pitkään.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...