Tôi đã xây dựng một cây phát sinh loài cho một họ protein có thể được chia thành các nhóm khác nhau, phân loại từng loại theo loại thụ thể hoặc loại phản ứng. Các nút trong cây được gắn nhãn là loại thụ thể.Làm thế nào để thu gọn các nhánh trong cây phát sinh bởi nhãn trong các nút hoặc lá của chúng?
Trong cây phát sinh loài, tôi có thể thấy rằng các protein thuộc cùng một nhóm hoặc loại thụ thể đã nhóm lại với nhau trong cùng một nhánh. Vì vậy, tôi muốn thu gọn các chi nhánh có nhãn chung, nhóm chúng theo danh sách từ khóa nhất định.
Lệnh sẽ là một cái gì đó như thế này:
./collapse_tree_by_label -f phylogenetic_tree.newick -l list_of_labels_to_collapse.txt -o collapsed_tree.eps (hoặc pdf)
list_of_labels_to_collapse.txt của tôi sẽ được như thế này : Một B C D
cây newick của tôi sẽ là như thế này: (A_1: 0,05, A_2: 0.03, A_3: 0.2, A_4: 0,1): 0,9, (((B_1: 0,05, B_2 : 0,02, B_3: 0,04): 0,6, (C_1: 0,6, C_2: 0,08): 0. 7): 0,5, (D_1: 0.3, D_2: 0.4, D_3: 0,5, D_4: 0.7, D_5: 0,4): 1,2)
Những hình ảnh đầu ra mà không bị sụp đổ là như thế này:
Sản lượng hình ảnh thu gọn phải như thế này (collapsed_tree.eps): http://i.stack.imgur.com/TLXd0.png
Chiều rộng của tam giác phải đại diện cho chiều dài nhánh và cao của tam giác phải biểu thị số lượng nút trong nhánh.
Tôi đã được chơi với các gói "vượn" trong R. tôi đã có thể vẽ một cái cây phát sinh loài, nhưng tôi vẫn không thể tìm ra cách để thu gọn các chi nhánh của các từ khóa trong các nhãn:
require("ape")
này sẽ được tải cây:
cat("((A_1:0.05,A_2:0.03,A_3:0.2,A_4:0.1):0.9,(((B_1:0.05,B_2:0.02,B_3:0.04):0.6,(C_1:0.6,C_2:0.08):0.7):0.5,(D_1:0.3,D_2:0.4,D_3:0.5,D_4:0.7,D_5:0.4):1.2):0.5);", file = "ex.tre", sep = "\n")
tree.test <- read.tree("ex.tre")
Đây nên là mã để sụp đổ
này sẽ vẽ cây:
plot(tree.test)
Cảm ơn bạn rất nhiều! Điều này đã làm việc! – RDlady
Chỉ là một câu hỏi khác. Thuật toán này có hoạt động để thu gọn các nhánh khác nhau thành một cây con (như sáp nhập hai tam giác thành một) không? – RDlady
@RDlady Nếu bạn muốn kết hợp các nhóm B và C thành một nhóm, bạn có thể sử dụng regex khi chỉ định các nhóm: 'groups <- c (" A "," B | C "," D ") '. Ngoài ra, bạn có thể đổi tên nhãn đầu để chúng tương ứng với các nhóm bạn muốn –