2016-12-28 2 views
0

R 함수 패키지에서 얻은 결과에서 특정 정보를 추출하려고합니다. 저는 파이썬에 익숙하기 때문에 R 언어를 배우면 혼란 스럽습니다.R 출력에서 ​​특정 텍스트 줄을 추출합니다.

내가 필요로하는 모든 단지 마지막 두 숫자 (1, 9), 그에서 읽기,이 (그것을 인쇄 후) appnn의 출력 지금 단백질 응집

Prediction: 
$sequence 
[1] "IFYFYGTTY" 

$overall 
[1] 1.076839 

$aminoacids 
      [,1] 
[1,] 1.076839 
[2,] 1.076839 
[3,] 1.076839 
[4,] 1.076839 
[5,] 1.076839 
[6,] 1.076839 
[7,] 1.028888 
[8,] 1.011057 
[9,] 1.011057 

$hotspots 
$hotspots[[1]] 
[1] 1 9 

을 예측하는 패키지를 가정 이 숫자로 결정된 주어진 문자열의 일부를 추출해야합니다 (이 경우 길이가 1에서 9까지의 길이이므로 전체 문자열입니다).

파이썬에서는 다소 단순하지만 R을 사용하여이를 수행하는 방법을 모릅니다. 많은 감사드립니다.

+0

substr (예측 $ 시퀀스, 예측 $ 핫스팟 [1]] [1], 예측 $ 핫스팟 [[1]] [2])' –

+0

'appnn'은 당신이 어딘가에서 생성 한 R 객체입니까, 아니면'R' 객체의'Prediction'입니까? 그게 어디서 온거야? – Spacedman

+0

당신의 객체가 무엇이든 추출기 기능이 있기 때문에 그것이 당신의 객체라면'hotspots (appnn)'처럼 간단 할 수도 있습니다. 그것을 만든 함수의 문서를 읽으십시오 ('help (functionname)') – Spacedman

답변

1

재현 가능한 예는입니다. 나는 '그래서 여기

Value 

A list containing the amyloidogenicity propensity predictions for the 
polypeptides queried. 

    overall 
    The overall amyloidogenicity propensity prediction value for the sequence 

    aminoacids 
    The amyloidogenicity propensity prediction value per amino acid 

    hotspots 
    A list of the amyloidogenic hotspots predicted in the sequence, limited by the first and last amino acid 

: 문서를 수행 이제 어떻게

library(appnn) 
sequences <- c('STVIIE','KKSSTT','KYSTVI') 
predictions <- appnn(sequences) 

반환 값에 대해 말 : 난 당신이 appnn 패키지를 사용하여이 예에서와 같이라는 개체 predictions를 작성하는 것 같은데요 세 개의 시퀀스를 질의 했으므로 세 개의 요소가있는 R리스트가 반환됩니다. 결과의 요소를 선택하여 각각에 대한 결과를 얻을 수 있습니다. 여기서는 첫 번째로 :

> predictions[[1]] 
$sequence 
[1] "STVIIE" 

$overall 
[1] 0.9497568 

$aminoacids 
      [,1] 
[1,] 0.9497568 
[2,] 0.9497568 
[3,] 0.9497568 
[4,] 0.9497568 
[5,] 0.9497568 
[6,] 0.9497568 

$hotspots 
$hotspots[[1]] 
[1] 1 6 

이것은 명명 된 구성 요소가있는 또 다른 목록입니다. 에 R 벡터 (벡터 및 목록을 반환

> predictions[[1]]$hotspots[[1]] 
[1] 1 6 

을 : 핫스팟 구성 요소는 자체 (결과가 순서에 대해 하나 이상의 핫스팟이 될 수 아마도 때문에) 그래서, 따라서 그것을 얻을 수있는 하나 개의 구성 요소 목록입니다 길이가 2이고 값이 1과 6 인 약간 다른 점이 있습니다.

+0

Wonderful! 윌슨과 너와 조엘을 모두 시험해 보니 매력처럼 일했다. 그러나 시퀀스가 ​​$ hotspots [1]을 반환하지 않으면 또 다른 문제가 있습니다. 'KKSSTT'를 시작으로 $ 핫스팟 [1]은 추출 할 수없는 'list()'로 반환됩니다. 자동으로 많은 시퀀스를 반복 할 계획이므로이 문제를 해결할 방법이 있습니까? – Viet

+0

빈 목록이므로'$ hotspots '의 길이가 0보다 큰지 먼저 테스트 할 수 있습니다. – Spacedman

+0

감사합니다. 나는 그것을 계산 한 후 텍스트 파일에 주어진 문자열을 쓰는 함수를 작성하고있다. – Viet

관련 문제