2009-09-28 2 views
3

I ont une séquence d'ADN comme: cgtcgctgtttgtcaaagtcg....Essayer de renvoyer un nombre spécifié de caractères à partir d'une séquence de gène dans R

qui est peut-être plus de 1000 lettres.

Cependant, je veux seulement regarder les lettres 5 à 200, par exemple, et définir ce sous-ensemble de la chaîne comme un nouvel objet.

J'ai essayé d'examiner la fonction nchar, mais je n'ai pas trouvé quelque chose qui ferait cela.

+0

Merci à tous pour votre aide. Je l'apprécie énormément. La fonction substr est très utile pour moi. –

+0

Pourriez-vous d'abord faire une chaîne temporaire qui est une coupe de la longue? – lod3n

+0

Comment est-ce que je le coupe? .... désolé pour la question naïve (je suis un nouvel utilisateur) –

Répondre

9

Essayez

substr("cgtcgctgtttgtcaa[...]", 5, 200) 

Voir substr().

+0

Ça sonne beaucoup! Chris –

+0

Ce lien pour la documentation de substr semble être mort. Que diriez-vous de celui-ci: http://stat.ethz.ch/R-manual/R-patched/library/base/html/substr.html – Argalatyr

6

Utilisez la fonction de sous-chaîne:

> tmp.string <- paste(LETTERS, collapse="") 
> tmp.string <- substr(tmp.string, 4, 10) 
> tmp.string 
[1] "DEFGHIJ" 
3

Voir aussi le paquet Bioconductor Biostrings qui est un bon choix si vous avez besoin pour gérer de grandes séquences biologiques ou un ensemble de séquences.

#source("http://bioconductor.org/biocLite.R");biocLite("Biostrings") 
library(Biostrings) 
s <-paste(rep("gtcgctgtttgtcaac",20),collapse="") 
d <- DNAString(s) 
d[5:200] 
as.character(d[5:200]) 
Questions connexes