Yani, bir tek-harfli kodlanmış dizide B ya da D tarafından kodlanan proteinler önce parçalayan bir enzim (merakınız için, Asp-N) ile bir protein dizisi sindiriyorum. Gerçek analizim, yakalamalar için String#scan
kullanıyor. Ben önceki (.*\b)
dizisinin sonunu yakalamak için varRegex Protein Sindirimi
(\w*?)(?=[BD])|(.*\b)
... aşağıdaki normal ifade doğru sindirmek değil anlamaya çalışıyorum. için:
MTMDKPSQYDKIEAELQDICNDVLELLDSKGDYFRYLSEVASGDN
Bu gibi bir şey vermelidir: [MTM, DKPSQY, DKIEAELQ, DICN, DVLELL, DSKG, ... ]
ancak bunun yerine sırayla her D kaçırır.
Sorun gidermek için http://www.rubular.com kullanıyorum, 1.8.2 üzerinde çalışıyorum, ancak yine de RE REXX'i 1.9.2'de test etmeme rağmen. Sıfır genişliğindeki lookahead iddialarının yakutun her iki versiyonunda desteklendiği benim anlayışım. Regex'imle neyi yanlış yapıyorum?
Hangi yöntemi kullanıyorsunuz? "String # scan", "String # split" veya başka bir şey var mı? –
+1 Ne harika bir soru. Elde ettiğin sonuçları beklemedim ve daha fazla analiz bana normal ifadenin tekrarlanan sıfır genişlikli eşleşmeleriyle ilgili bir şey öğretti. – Phrogz
"B veya D tarafından kodlanan proteinlerden önce ayrılan" ifadenizle biraz kafam karışmış durumda. Anladığım kadarıyla, ** B ** ** ya da N (**) 'nin kalıntı ya da Asn olup olmadığı bilinmeyen tek harfli koddur? Asp-N Asn'den önce ayrılabilir mi? – tomd