簡體   English   中英

如何將一行中的選擇字符元素連接成一個新元素?

[英]How to concatenate select character elements in one row into one new element?

這是我第一次在這里發帖 + 一個非常新的編碼,抱歉。

背景信息:我正在嘗試定位肽段和 HLA 序列,以便將相應的 HLA 等位基因蛋白質序列添加到我的“蛋白質”文件中。 我知道可能發生肽和 HLA 等位基因的組合,但我必須使用位置矩陣來找出 HLA 等位基因的確切蛋白質序列。

我有一個名為“蛋白質”的 .csv 文件,如下所示。

Peptide,HLA,Binding
KLEDLERDL,HLA-A*02:01,Positive-Low
EVMPVSMAK,HLA-A*03:01,Positive-Intermediate
EVMPVSMAK,HLA-A*11:01,Positive-High
KTFPPTEPK,HLA-A*03:01,Positive-Intermediate
KTFPPTEPK,HLA-A*11:01,Positive-Intermediate
ATFSVPMEK,HLA-A*03:01,Positive-Intermediate
ATFSVPMEK,HLA-A*11:01,Positive-High

我有一個位置矩陣 .tsv 文件,如下所示,我只顯示文件的第一個等位基因,即A*01:01

allele  P-25    P-24    P-23    P-22    P-21    P-20    P-19    P-18    P-17    P-16    P-15    P-14    P-13    P-12    P-11    P-10    P-9     P-8     P-7     P-6
     P-5     P-4     P-3     P-2     P-1     P0      P1      P2      P3      P4      P5      P6      P7      P8      P9      P10     P11     P12     P13     P14     P15     P16     P17     P18     P19     P20     P21     P22     P23     P24     P25     P26     P27     P28     P29     P30     P31     P32     P33     P34     P35
     P36     P37     P38     P39     P40     P41     P42     P43     P44     P45     P46     P47     P48     P49     P50     P51     P52     P53     P54     P55     P56     P57     P58     P59     P60     P61     P62     P63     P64     P65     P66     P67     P68     P69     P70     P71     P72     P73     P74     P75     P76
     P77     P78     P79     P80     P81     P82     P83     P84     P85     P86     P87     P88     P89     P90     P91     P92     P93     P94     P95     P96     P97     P98     P99     P100    P101    P102    P103    P104    P105    P106    P107    P108    P109    P110    P111    P112    P113    P114    P115    P116    P117
    P118    P119    P120    P121    P122    P123    P124    P125    P126    P127    P128    P129    P130    P131    P132    P133    P134    P135    P136    P137    P138    P139    P140    P141    P142    P143    P144    P145    P146    P147    P148    P149    P150    P151    P152    P153    P154    P155    P156    P157    P158
    P159    P160    P161    P162    P163    P164    P165    P166    P167    P168    P169    P170    P171    P172    P173    P174    P175    P176    P177    P178    P179    P180    P181    P182    P183    P184    P185    P186    P187    P188    P189    P190    P191    P192    P193    P194    P195    P196    P197    P198    P199
    P200    P201    P202    P203    P204    P205    P206    P207    P208    P209    P210    P211    P212    P213    P214    P215    P216    P217    P218    P219    P220    P221    P222    P223    P224    P225    P226    P227    P228    P229    P230    P231    P232    P233    P234    P235    P236    P237    P238    P239    P240
    P241    P242    P243    P244    P245    P246    P247    P248    P249    P250    P251    P252    P253    P254    P255    P256    P257    P258    P259    P260    P261    P262    P263    P264    P265    P266    P267    P268    P269    P270    P271    P272    P273    P274    P275    P276    P277    P278    P279    P280    P281
    P282    P283    P284    P285    P286    P287    P288    P289    P290    P291    P292    P293    P294    P295    P296    P297    P298    P299    P300    P301    P302    P303    P304    P305    P306    P307    P308    P309    P310    P311    P312    P313    P314    P315    P316    P317    P318    P319    P320    P321    P322
    P323    P324    P325    P326    P327    P328    P329    P330    P331    P332    P333    P334    P335    P336    P337    P338    P339    P340    P341    P342    P343    P344    P345    P346    P347    P348    P349    P350    P351    P352    P353    P354    P355    P356    P357    P358    P359    P360    P361
A*01:01 M       A       V       M       A       P       R       T       L       L       L       L       L       S       G       A       L       A       L       .
       .       T       Q       T       W       A       G       S       H       S       M       R       Y       F       F       T       S       V       S       R
       P       G       R       G       E       P       R       F       I       A       V       G       Y       V       D       D       T       Q       F       V
       R       F       D       S       D       A       A       S       Q       K       M       E       P       R       A       P       W       I       E       Q
       E       G       P       E       Y       W       D       Q       E       T       R       N       M       K       A       H       S       Q       T       D
       R       A       N       L       G       T       L       R       G       Y       Y       N       Q       S       E       D       G       S       H       T
       I       Q       I       M       Y       G       C       D       V       G       P       D       G       R       F       L       R       G       Y       .
       R       Q       D       A       Y       D       G       K       D       Y       .       I       A       L       N       E       D       L       R       S
       W       T       A       A       D       M       A       A       Q       I       T       K       R       K       W       E       A       V       H       A
       A       E       .       .       .       .       .       .       .       .       .       .       .       .       .       .       Q       R       R       V
       Y       L       E       G       R       C       V       D       G       L       R       R       Y       L       E       N       .       .       .       G
       K       E       T       L       Q       R       T       D       P       P       K       T       H       M       T       H       H       P       I       S
       D       H       E       A       T       L       R       C       W       A       L       G       F       Y       P       A       E       I       T       L
       T       W       Q       R       D       G       E       D       .       Q       T       Q       D       T       E       L       V       E       T       R
       P       A       G       D       G       T       F       Q       K       W       A       A       V       V       V       P       S       G       E       E
       Q       R       Y       T       C       H       V       Q       H       E       G       L       P       K       P       L       T       L       R       W
       E       L       S       S       Q       P       T       I       P       I       V       G       I       I       A       G       L       V       L       L
       G       A       V       I       T       G       A       V       V       A       A       V       M       W       R       R       K       S       S       D
       R       K       G       G       S       Y       T       Q       A       A       S       S       D       S       A       Q       G       S       D       V
       S       L       T       A       C       K       V

到目前為止我的嘗試:

將位置矩陣文件中每行的所有字符值(以 P 開頭的字符值)連接成一個字符串,如下所示

ABCDEGGH***IHJLMNOP

然后根據'proteins'文件中的HLA位置進行匹配。

在“蛋白質”文件中創建一個名為“HLA 氨基酸序列”的新列,其中添加了連接的字符串值。

問題:

我想出了如何將字符串值連接在一起,但不是根據我的需要。 代碼如下:

positional_matrix <- A_AA_mat_pos


concatenated_amino_acid <- c(positional_matrix, sep = "")
do.call(paste, positional_matrix)

head(concatenated_amino_acid) 

查看此連接列表的頭部,它將所有值逐列粘貼到一個列表中,而我希望將每一行連接起來。

聽起來您可以使用for循環遍歷每一行:

concat_rows <- rep(0, nrow(positional_matrix))  # init list

for(i in seq(1:nrow(positional_matrix)) {
        concat_rows[i] <- paste(positional_matrix[i, 1],
                                positional_matrix[i, 2], 
                                ...,
                                sep = '')
}

我會說,當我看到這個時,我不得不在paste命令中列出每一列。 當我嘗試使用更具可擴展性的東西時,例如[1:ncol(..)]或類似的東西,它會將所有內容都轉換為數字。 也許其他人可以對此有所了解..

歡迎使用堆棧溢出。 我個人會使用“整潔”的方法。

library(tidyverse) # or library(tidyr)

positional_data <- positional_data %>%
  unite("concatenated", `P-25`:`P333`)

這將創建一個名為 concatenated 的新列。

對於它的價值,我在谷歌上搜索了跨列的 tidy r concatenate ,它有這個鏈接,它比較了方法。

要獲得更完整的解決方案,請查看詢問可重現示例的建議,尤其是如何共享數據或制作最小示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM