add test ipynb
This commit is contained in:
556
analysis_mut.ipynb
Normal file
556
analysis_mut.ipynb
Normal file
@@ -0,0 +1,556 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"将多聚体提取为单聚体之后在进行修复建模"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" pdb_id MHC_class TCR_alpha TCR_beta peptide MHC_alpha MHC_beta Beta2m \\\n",
|
||||
"0 1d9k 2 A B P C D NaN \n",
|
||||
"1 1g6r 1 A B P H NaN L \n",
|
||||
"2 1kj2 1 A B P H NaN L \n",
|
||||
"3 1mwa 1 A B P H NaN L \n",
|
||||
"4 1u3h 2 E F I G H NaN \n",
|
||||
"5 1zgl 2 M P C A B NaN \n",
|
||||
"6 2nx5 1 D E C A NaN B \n",
|
||||
"7 2vlr 1 D E C A NaN B \n",
|
||||
"8 3dxa 1 D E C A NaN B \n",
|
||||
"9 3ffc 1 D E C A NaN G \n",
|
||||
"10 3kpr 1 D E C A NaN B \n",
|
||||
"11 3mbe 2 C D P A B NaN \n",
|
||||
"12 3pqy 1 D E C A NaN B \n",
|
||||
"13 3sjv 1 D E C A NaN B \n",
|
||||
"14 3utt 1 D E C A NaN B \n",
|
||||
"15 4e41 2 D E C A B NaN \n",
|
||||
"16 4eup 1 I J C A NaN B \n",
|
||||
"17 4gg6 2 G H J A B NaN \n",
|
||||
"18 4h1l 2 I J C A B NaN \n",
|
||||
"19 4mji 1 D E C A NaN B \n",
|
||||
"20 4ozi 2 G H J A B NaN \n",
|
||||
"21 4p2q 2 D E C A B NaN \n",
|
||||
"22 4p2r 2 I J H F G NaN \n",
|
||||
"23 4qrp 1 D E C A NaN B \n",
|
||||
"24 4z7u 2 E F I A B NaN \n",
|
||||
"25 4z7v 2 E F I A B NaN \n",
|
||||
"26 4z7w 2 E F I C D NaN \n",
|
||||
"27 5c0a 1 D E C A NaN B \n",
|
||||
"28 5c0b 1 D E C A NaN B \n",
|
||||
"29 5c0c 1 I J C A NaN B \n",
|
||||
"30 5c07 1 D E C A NaN B \n",
|
||||
"31 5c08 1 D E C A NaN B \n",
|
||||
"32 5c09 1 D E C A NaN B \n",
|
||||
"33 5d2l 1 E F R C NaN D \n",
|
||||
"34 5d2n 1 C F G H NaN L \n",
|
||||
"35 5e6i 1 A B E C NaN D \n",
|
||||
"36 5e9d 1 D E C A NaN B \n",
|
||||
"37 5euo 1 G H I C NaN D \n",
|
||||
"38 5jhd 1 D E C A NaN B \n",
|
||||
"39 5ks9 2 E F I C D NaN \n",
|
||||
"40 5ksb 2 E F I C D NaN \n",
|
||||
"41 5nme 1 D E C A NaN B \n",
|
||||
"42 5nmg 1 D E C A NaN B \n",
|
||||
"43 5wkh 1 D E C A NaN B \n",
|
||||
"44 5wlg 1 D E C A NaN B \n",
|
||||
"45 6avg 1 B E Q F NaN A \n",
|
||||
"46 6rp9 1 D E C A NaN B \n",
|
||||
"47 6rpb 1 D E C A NaN B \n",
|
||||
"48 6rsy 1 D E C A NaN B \n",
|
||||
"49 6u3o 2 G H I E F NaN \n",
|
||||
"50 6uon 1 I J C A NaN B \n",
|
||||
"51 6vmx 1 D E C A NaN B \n",
|
||||
"52 6vqo 1 D E P A NaN B \n",
|
||||
"53 7n6e 1 I J C A NaN B \n",
|
||||
"54 7sg1 2 D E C A B NaN \n",
|
||||
"55 7t2b 2 N O M K L NaN \n",
|
||||
"56 7z50 2 H E T A B NaN \n",
|
||||
"\n",
|
||||
" protein_type DOI ... \\\n",
|
||||
"0 m 10.7554/eLife.82934 ... \n",
|
||||
"1 m 10.7554/eLife.82916 ... \n",
|
||||
"2 m 10.7554/eLife.82914 ... \n",
|
||||
"3 m 10.7554/eLife.82912 ... \n",
|
||||
"4 m 10.7554/eLife.82935 ... \n",
|
||||
"5 m 10.7554/eLife.82905 ... \n",
|
||||
"6 m 10.1101/2023.03.29.533764 ... \n",
|
||||
"7 m 10.1101/2023.03.29.533767 ... \n",
|
||||
"8 m 10.7554/eLife.82875 ... \n",
|
||||
"9 m 10.7554/eLife.82867 ... \n",
|
||||
"10 m 10.7554/eLife.82876 ... \n",
|
||||
"11 m 10.7554/eLife.82933 ... \n",
|
||||
"12 m 10.7554/eLife.82910 ... \n",
|
||||
"13 m 10.7554/eLife.82868 ... \n",
|
||||
"14 m 10.7554/eLife.82816 ... \n",
|
||||
"15 m 10.7554/eLife.82900 ... \n",
|
||||
"16 m 10.7554/eLife.82815 ... \n",
|
||||
"17 m 10.7554/eLife.82889 ... \n",
|
||||
"18 m 10.7554/eLife.82904 ... \n",
|
||||
"19 m 10.7554/eLife.82878|10.1101/2023.03.29.533776 ... \n",
|
||||
"20 NaN 10.7554/eLife.82895 ... \n",
|
||||
"21 m 10.7554/eLife.82937 ... \n",
|
||||
"22 m 10.7554/eLife.82938 ... \n",
|
||||
"23 NaN 10.7554/eLife.82869 ... \n",
|
||||
"24 NaN 10.7554/eLife.82890 ... \n",
|
||||
"25 NaN 10.7554/eLife.82891 ... \n",
|
||||
"26 NaN 10.7554/eLife.82892 ... \n",
|
||||
"27 NaN 10.7554/eLife.82839 ... \n",
|
||||
"28 NaN 10.7554/eLife.82845 ... \n",
|
||||
"29 NaN 10.7554/eLife.82846 ... \n",
|
||||
"30 NaN 10.7554/eLife.82859 ... \n",
|
||||
"31 NaN 10.7554/eLife.82847 ... \n",
|
||||
"32 NaN 10.7554/eLife.82856 ... \n",
|
||||
"33 NaN 10.7554/eLife.82842|10.1101/2023.03.29.533778 ... \n",
|
||||
"34 NaN 10.7554/eLife.82840|10.1101/2023.03.29.533779 ... \n",
|
||||
"35 NaN 10.7554/eLife.82822|10.1101/2023.03.29.533780 ... \n",
|
||||
"36 NaN 10.7554/eLife.82820 ... \n",
|
||||
"37 NaN 10.1101/2023.03.29.533781 ... \n",
|
||||
"38 NaN 10.7554/eLife.82826|10.1101/2023.03.29.533784 ... \n",
|
||||
"39 I链peptide需要手动修复 10.7554/eLife.82888 ... \n",
|
||||
"40 I链peptide需要手动修复 10.7554/eLife.82897 ... \n",
|
||||
"41 NaN 10.7554/eLife.82853 ... \n",
|
||||
"42 NaN 10.7554/eLife.82848 ... \n",
|
||||
"43 NaN 10.7554/eLife.82860 ... \n",
|
||||
"44 NaN 10.7554/eLife.82909 ... \n",
|
||||
"45 NaN 10.7554/eLife.82863 ... \n",
|
||||
"46 NaN 10.7554/eLife.82852|10.1093/nar/gkad368 ... \n",
|
||||
"47 NaN 10.7554/eLife.82844|10.1093/nar/gkad359 ... \n",
|
||||
"48 NaN 10.7554/eLife.82828|10.1093/nar/gkad360 ... \n",
|
||||
"49 NaN 10.7554/eLife.82896 ... \n",
|
||||
"50 NaN 10.7554/eLife.82880 ... \n",
|
||||
"51 NaN 10.1093/nar/gkad369|10.7554/eLife.82865 ... \n",
|
||||
"52 NaN 10.7554/eLife.82831 ... \n",
|
||||
"53 NaN 10.7554/eLife.82858|10.1101/2023.03.29.533788|... ... \n",
|
||||
"54 NaN 10.1093/nar/gkad399 ... \n",
|
||||
"55 NaN 10.1093/nar/gkad402 ... \n",
|
||||
"56 NaN 10.1093/nar/gkad400 ... \n",
|
||||
"\n",
|
||||
" Exact Mass No. of atoms No. of bonds Polar Surface Area XLOGP3 \\\n",
|
||||
"0 NaN NaN NaN NaN NaN \n",
|
||||
"1 NaN NaN NaN NaN NaN \n",
|
||||
"2 NaN NaN NaN NaN NaN \n",
|
||||
"3 NaN NaN NaN NaN NaN \n",
|
||||
"4 NaN NaN NaN NaN NaN \n",
|
||||
"5 NaN NaN NaN NaN NaN \n",
|
||||
"6 NaN NaN NaN NaN NaN \n",
|
||||
"7 NaN NaN NaN NaN NaN \n",
|
||||
"8 NaN NaN NaN NaN NaN \n",
|
||||
"9 NaN NaN NaN NaN NaN \n",
|
||||
"10 NaN NaN NaN NaN NaN \n",
|
||||
"11 NaN NaN NaN NaN NaN \n",
|
||||
"12 NaN NaN NaN NaN NaN \n",
|
||||
"13 NaN NaN NaN NaN NaN \n",
|
||||
"14 NaN NaN NaN NaN NaN \n",
|
||||
"15 NaN NaN NaN NaN NaN \n",
|
||||
"16 NaN NaN NaN NaN NaN \n",
|
||||
"17 NaN NaN NaN NaN NaN \n",
|
||||
"18 NaN NaN NaN NaN NaN \n",
|
||||
"19 NaN NaN NaN NaN NaN \n",
|
||||
"20 NaN NaN NaN NaN NaN \n",
|
||||
"21 NaN NaN NaN NaN NaN \n",
|
||||
"22 NaN NaN NaN NaN NaN \n",
|
||||
"23 NaN NaN NaN NaN NaN \n",
|
||||
"24 NaN NaN NaN NaN NaN \n",
|
||||
"25 NaN NaN NaN NaN NaN \n",
|
||||
"26 NaN NaN NaN NaN NaN \n",
|
||||
"27 NaN NaN NaN NaN NaN \n",
|
||||
"28 NaN NaN NaN NaN NaN \n",
|
||||
"29 NaN NaN NaN NaN NaN \n",
|
||||
"30 NaN NaN NaN NaN NaN \n",
|
||||
"31 NaN NaN NaN NaN NaN \n",
|
||||
"32 NaN NaN NaN NaN NaN \n",
|
||||
"33 NaN NaN NaN NaN NaN \n",
|
||||
"34 NaN NaN NaN NaN NaN \n",
|
||||
"35 NaN NaN NaN NaN NaN \n",
|
||||
"36 NaN NaN NaN NaN NaN \n",
|
||||
"37 NaN NaN NaN NaN NaN \n",
|
||||
"38 NaN NaN NaN NaN NaN \n",
|
||||
"39 NaN NaN NaN NaN NaN \n",
|
||||
"40 NaN NaN NaN NaN NaN \n",
|
||||
"41 NaN NaN NaN NaN NaN \n",
|
||||
"42 NaN NaN NaN NaN NaN \n",
|
||||
"43 NaN NaN NaN NaN NaN \n",
|
||||
"44 NaN NaN NaN NaN NaN \n",
|
||||
"45 NaN NaN NaN NaN NaN \n",
|
||||
"46 NaN NaN NaN NaN NaN \n",
|
||||
"47 NaN NaN NaN NaN NaN \n",
|
||||
"48 NaN NaN NaN NaN NaN \n",
|
||||
"49 NaN NaN NaN NaN NaN \n",
|
||||
"50 NaN NaN NaN NaN NaN \n",
|
||||
"51 NaN NaN NaN NaN NaN \n",
|
||||
"52 NaN NaN NaN NaN NaN \n",
|
||||
"53 NaN NaN NaN NaN NaN \n",
|
||||
"54 NaN NaN NaN NaN NaN \n",
|
||||
"55 NaN NaN NaN NaN NaN \n",
|
||||
"56 NaN NaN NaN NaN NaN \n",
|
||||
"\n",
|
||||
" open banel LogP HB donor HB acceptor Rotatable bonds Canonical SMILES \n",
|
||||
"0 NaN NaN NaN NaN NaN \n",
|
||||
"1 NaN NaN NaN NaN NaN \n",
|
||||
"2 NaN NaN NaN NaN NaN \n",
|
||||
"3 NaN NaN NaN NaN NaN \n",
|
||||
"4 NaN NaN NaN NaN NaN \n",
|
||||
"5 NaN NaN NaN NaN NaN \n",
|
||||
"6 NaN NaN NaN NaN NaN \n",
|
||||
"7 NaN NaN NaN NaN NaN \n",
|
||||
"8 NaN NaN NaN NaN NaN \n",
|
||||
"9 NaN NaN NaN NaN NaN \n",
|
||||
"10 NaN NaN NaN NaN NaN \n",
|
||||
"11 NaN NaN NaN NaN NaN \n",
|
||||
"12 NaN NaN NaN NaN NaN \n",
|
||||
"13 NaN NaN NaN NaN NaN \n",
|
||||
"14 NaN NaN NaN NaN NaN \n",
|
||||
"15 NaN NaN NaN NaN NaN \n",
|
||||
"16 NaN NaN NaN NaN NaN \n",
|
||||
"17 NaN NaN NaN NaN NaN \n",
|
||||
"18 NaN NaN NaN NaN NaN \n",
|
||||
"19 NaN NaN NaN NaN NaN \n",
|
||||
"20 NaN NaN NaN NaN NaN \n",
|
||||
"21 NaN NaN NaN NaN NaN \n",
|
||||
"22 NaN NaN NaN NaN NaN \n",
|
||||
"23 NaN NaN NaN NaN NaN \n",
|
||||
"24 NaN NaN NaN NaN NaN \n",
|
||||
"25 NaN NaN NaN NaN NaN \n",
|
||||
"26 NaN NaN NaN NaN NaN \n",
|
||||
"27 NaN NaN NaN NaN NaN \n",
|
||||
"28 NaN NaN NaN NaN NaN \n",
|
||||
"29 NaN NaN NaN NaN NaN \n",
|
||||
"30 NaN NaN NaN NaN NaN \n",
|
||||
"31 NaN NaN NaN NaN NaN \n",
|
||||
"32 NaN NaN NaN NaN NaN \n",
|
||||
"33 NaN NaN NaN NaN NaN \n",
|
||||
"34 NaN NaN NaN NaN NaN \n",
|
||||
"35 NaN NaN NaN NaN NaN \n",
|
||||
"36 NaN NaN NaN NaN NaN \n",
|
||||
"37 NaN NaN NaN NaN NaN \n",
|
||||
"38 NaN NaN NaN NaN NaN \n",
|
||||
"39 NaN NaN NaN NaN NaN \n",
|
||||
"40 NaN NaN NaN NaN NaN \n",
|
||||
"41 NaN NaN NaN NaN NaN \n",
|
||||
"42 NaN NaN NaN NaN NaN \n",
|
||||
"43 NaN NaN NaN NaN NaN \n",
|
||||
"44 NaN NaN NaN NaN NaN \n",
|
||||
"45 NaN NaN NaN NaN NaN \n",
|
||||
"46 NaN NaN NaN NaN NaN \n",
|
||||
"47 NaN NaN NaN NaN NaN \n",
|
||||
"48 NaN NaN NaN NaN NaN \n",
|
||||
"49 NaN NaN NaN NaN NaN \n",
|
||||
"50 NaN NaN NaN NaN NaN \n",
|
||||
"51 NaN NaN NaN NaN NaN \n",
|
||||
"52 NaN NaN NaN NaN NaN \n",
|
||||
"53 NaN NaN NaN NaN NaN \n",
|
||||
"54 NaN NaN NaN NaN NaN \n",
|
||||
"55 NaN NaN NaN NaN NaN \n",
|
||||
"56 NaN NaN NaN NaN NaN \n",
|
||||
"\n",
|
||||
"[57 rows x 49 columns]\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/tmp/ipykernel_4083021/2640995437.py:1: DeprecationWarning: \n",
|
||||
"Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),\n",
|
||||
"(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)\n",
|
||||
"but was not found to be installed on your system.\n",
|
||||
"If this would cause problems for you,\n",
|
||||
"please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466\n",
|
||||
" \n",
|
||||
" import pandas as pd\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"# 假设Excel文件的路径为'path_to_excel_file.xlsx'\n",
|
||||
"file_path = 'TCR-pHMC4.xlsx'\n",
|
||||
"\n",
|
||||
"# 读取名为'sheet1'的工作表,第一行作为列名\n",
|
||||
"df = pd.read_excel(file_path, sheet_name='Sheet1', header=0, engine='calamine')\n",
|
||||
"\n",
|
||||
"# 显示数据帧以确认加载正确\n",
|
||||
"print(df)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"!rm -rf ./multi_pdb/*_clean.pdb\n",
|
||||
"!rm -rf ./multi_pdb/*_extracted.pdb"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"multi_pdb/1d9k.clean.pdb\n",
|
||||
"Saved extracted chains of 1d9k to multi_pdb/1d9k_extracted.pdb\n",
|
||||
"multi_pdb/1g6r.clean.pdb\n",
|
||||
"Saved extracted chains of 1g6r to multi_pdb/1g6r_extracted.pdb\n",
|
||||
"multi_pdb/1kj2.clean.pdb\n",
|
||||
"Saved extracted chains of 1kj2 to multi_pdb/1kj2_extracted.pdb\n",
|
||||
"multi_pdb/1mwa.clean.pdb\n",
|
||||
"Saved extracted chains of 1mwa to multi_pdb/1mwa_extracted.pdb\n",
|
||||
"multi_pdb/1u3h.clean.pdb\n",
|
||||
"Saved extracted chains of 1u3h to multi_pdb/1u3h_extracted.pdb\n",
|
||||
"multi_pdb/1zgl.clean.pdb\n",
|
||||
"Saved extracted chains of 1zgl to multi_pdb/1zgl_extracted.pdb\n",
|
||||
"multi_pdb/2nx5.clean.pdb\n",
|
||||
"Saved extracted chains of 2nx5 to multi_pdb/2nx5_extracted.pdb\n",
|
||||
"multi_pdb/2vlr.clean.pdb\n",
|
||||
"Saved extracted chains of 2vlr to multi_pdb/2vlr_extracted.pdb\n",
|
||||
"multi_pdb/3dxa.clean.pdb\n",
|
||||
"Saved extracted chains of 3dxa to multi_pdb/3dxa_extracted.pdb\n",
|
||||
"multi_pdb/3ffc.clean.pdb\n",
|
||||
"Saved extracted chains of 3ffc to multi_pdb/3ffc_extracted.pdb\n",
|
||||
"multi_pdb/3kpr.clean.pdb\n",
|
||||
"Saved extracted chains of 3kpr to multi_pdb/3kpr_extracted.pdb\n",
|
||||
"multi_pdb/3mbe.clean.pdb\n",
|
||||
"Saved extracted chains of 3mbe to multi_pdb/3mbe_extracted.pdb\n",
|
||||
"multi_pdb/3pqy.clean.pdb\n",
|
||||
"Saved extracted chains of 3pqy to multi_pdb/3pqy_extracted.pdb\n",
|
||||
"multi_pdb/3sjv.clean.pdb\n",
|
||||
"Saved extracted chains of 3sjv to multi_pdb/3sjv_extracted.pdb\n",
|
||||
"multi_pdb/3utt.clean.pdb\n",
|
||||
"Saved extracted chains of 3utt to multi_pdb/3utt_extracted.pdb\n",
|
||||
"multi_pdb/4e41.clean.pdb\n",
|
||||
"Saved extracted chains of 4e41 to multi_pdb/4e41_extracted.pdb\n",
|
||||
"multi_pdb/4eup.clean.pdb\n",
|
||||
"Saved extracted chains of 4eup to multi_pdb/4eup_extracted.pdb\n",
|
||||
"multi_pdb/4gg6.clean.pdb\n",
|
||||
"Saved extracted chains of 4gg6 to multi_pdb/4gg6_extracted.pdb\n",
|
||||
"multi_pdb/4h1l.clean.pdb\n",
|
||||
"Saved extracted chains of 4h1l to multi_pdb/4h1l_extracted.pdb\n",
|
||||
"multi_pdb/4mji.clean.pdb\n",
|
||||
"Saved extracted chains of 4mji to multi_pdb/4mji_extracted.pdb\n",
|
||||
"multi_pdb/4ozi.clean.pdb\n",
|
||||
"Saved extracted chains of 4ozi to multi_pdb/4ozi_extracted.pdb\n",
|
||||
"multi_pdb/4p2q.clean.pdb\n",
|
||||
"Saved extracted chains of 4p2q to multi_pdb/4p2q_extracted.pdb\n",
|
||||
"multi_pdb/4p2r.clean.pdb\n",
|
||||
"Saved extracted chains of 4p2r to multi_pdb/4p2r_extracted.pdb\n",
|
||||
"multi_pdb/4qrp.clean.pdb\n",
|
||||
"Saved extracted chains of 4qrp to multi_pdb/4qrp_extracted.pdb\n",
|
||||
"multi_pdb/4z7u.clean.pdb\n",
|
||||
"Saved extracted chains of 4z7u to multi_pdb/4z7u_extracted.pdb\n",
|
||||
"multi_pdb/4z7v.clean.pdb\n",
|
||||
"Saved extracted chains of 4z7v to multi_pdb/4z7v_extracted.pdb\n",
|
||||
"multi_pdb/4z7w.clean.pdb\n",
|
||||
"Saved extracted chains of 4z7w to multi_pdb/4z7w_extracted.pdb\n",
|
||||
"multi_pdb/5c0a.clean.pdb\n",
|
||||
"Saved extracted chains of 5c0a to multi_pdb/5c0a_extracted.pdb\n",
|
||||
"multi_pdb/5c0b.clean.pdb\n",
|
||||
"Saved extracted chains of 5c0b to multi_pdb/5c0b_extracted.pdb\n",
|
||||
"multi_pdb/5c0c.clean.pdb\n",
|
||||
"Saved extracted chains of 5c0c to multi_pdb/5c0c_extracted.pdb\n",
|
||||
"multi_pdb/5c07.clean.pdb\n",
|
||||
"Saved extracted chains of 5c07 to multi_pdb/5c07_extracted.pdb\n",
|
||||
"multi_pdb/5c08.clean.pdb\n",
|
||||
"Saved extracted chains of 5c08 to multi_pdb/5c08_extracted.pdb\n",
|
||||
"multi_pdb/5c09.clean.pdb\n",
|
||||
"Saved extracted chains of 5c09 to multi_pdb/5c09_extracted.pdb\n",
|
||||
"multi_pdb/5d2l.clean.pdb\n",
|
||||
"Saved extracted chains of 5d2l to multi_pdb/5d2l_extracted.pdb\n",
|
||||
"multi_pdb/5d2n.clean.pdb\n",
|
||||
"Saved extracted chains of 5d2n to multi_pdb/5d2n_extracted.pdb\n",
|
||||
"multi_pdb/5e6i.clean.pdb\n",
|
||||
"Saved extracted chains of 5e6i to multi_pdb/5e6i_extracted.pdb\n",
|
||||
"multi_pdb/5e9d.clean.pdb\n",
|
||||
"Saved extracted chains of 5e9d to multi_pdb/5e9d_extracted.pdb\n",
|
||||
"multi_pdb/5euo.clean.pdb\n",
|
||||
"Saved extracted chains of 5euo to multi_pdb/5euo_extracted.pdb\n",
|
||||
"multi_pdb/5jhd.clean.pdb\n",
|
||||
"Saved extracted chains of 5jhd to multi_pdb/5jhd_extracted.pdb\n",
|
||||
"multi_pdb/5ks9.clean.pdb\n",
|
||||
"Saved extracted chains of 5ks9 to multi_pdb/5ks9_extracted.pdb\n",
|
||||
"multi_pdb/5ksb.clean.pdb\n",
|
||||
"Saved extracted chains of 5ksb to multi_pdb/5ksb_extracted.pdb\n",
|
||||
"multi_pdb/5nme.clean.pdb\n",
|
||||
"Saved extracted chains of 5nme to multi_pdb/5nme_extracted.pdb\n",
|
||||
"multi_pdb/5nmg.clean.pdb\n",
|
||||
"Saved extracted chains of 5nmg to multi_pdb/5nmg_extracted.pdb\n",
|
||||
"multi_pdb/5wkh.clean.pdb\n",
|
||||
"Saved extracted chains of 5wkh to multi_pdb/5wkh_extracted.pdb\n",
|
||||
"multi_pdb/5wlg.clean.pdb\n",
|
||||
"Saved extracted chains of 5wlg to multi_pdb/5wlg_extracted.pdb\n",
|
||||
"multi_pdb/6avg.clean.pdb\n",
|
||||
"Saved extracted chains of 6avg to multi_pdb/6avg_extracted.pdb\n",
|
||||
"multi_pdb/6rp9.clean.pdb\n",
|
||||
"Saved extracted chains of 6rp9 to multi_pdb/6rp9_extracted.pdb\n",
|
||||
"multi_pdb/6rpb.clean.pdb\n",
|
||||
"Saved extracted chains of 6rpb to multi_pdb/6rpb_extracted.pdb\n",
|
||||
"multi_pdb/6rsy.clean.pdb\n",
|
||||
"Saved extracted chains of 6rsy to multi_pdb/6rsy_extracted.pdb\n",
|
||||
"multi_pdb/6u3o.clean.pdb\n",
|
||||
"Saved extracted chains of 6u3o to multi_pdb/6u3o_extracted.pdb\n",
|
||||
"multi_pdb/6uon.clean.pdb\n",
|
||||
"Saved extracted chains of 6uon to multi_pdb/6uon_extracted.pdb\n",
|
||||
"multi_pdb/6vmx.clean.pdb\n",
|
||||
"Saved extracted chains of 6vmx to multi_pdb/6vmx_extracted.pdb\n",
|
||||
"multi_pdb/6vqo.clean.pdb\n",
|
||||
"Saved extracted chains of 6vqo to multi_pdb/6vqo_extracted.pdb\n",
|
||||
"multi_pdb/7n6e.clean.pdb\n",
|
||||
"Saved extracted chains of 7n6e to multi_pdb/7n6e_extracted.pdb\n",
|
||||
"multi_pdb/7sg1.clean.pdb\n",
|
||||
"Saved extracted chains of 7sg1 to multi_pdb/7sg1_extracted.pdb\n",
|
||||
"multi_pdb/7t2b.clean.pdb\n",
|
||||
"Saved extracted chains of 7t2b to multi_pdb/7t2b_extracted.pdb\n",
|
||||
"multi_pdb/7z50.clean.pdb\n",
|
||||
"Saved extracted chains of 7z50 to multi_pdb/7z50_extracted.pdb\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from analysis_pdb import PDBAnalyzer\n",
|
||||
"from pathlib import Path\n",
|
||||
"from biopandas.pdb import PandasPdb\n",
|
||||
"# 假设multi_pdb目录包含所有的PDB文件\n",
|
||||
"pdb_directory = Path(\"./multi_pdb\")\n",
|
||||
"\n",
|
||||
"for index, row in df.iterrows():\n",
|
||||
" pdb_id = row['pdb_id']\n",
|
||||
" pdb_file = pdb_directory / f\"{pdb_id}.pdb\"\n",
|
||||
" \n",
|
||||
" # 清理杂原子并初始化PDBAnalyzer\n",
|
||||
" analyzer = PDBAnalyzer.cleanATOM(pdb_file)\n",
|
||||
" print(analyzer.pdb_file)\n",
|
||||
" \n",
|
||||
" # 根据MHC_class选择需要提取的链\n",
|
||||
" chains_to_extract = []\n",
|
||||
" if row['MHC_class'] == 1:\n",
|
||||
" chains_to_extract = [row['TCR_alpha'], row['TCR_beta'], row['peptide'], row['MHC_alpha'], row.get('Beta2m')]\n",
|
||||
" elif row['MHC_class'] == 2:\n",
|
||||
" chains_to_extract = [row['TCR_alpha'], row['TCR_beta'], row['peptide'], row['MHC_alpha'], row['MHC_beta']]\n",
|
||||
" \n",
|
||||
" ppdb = PandasPdb().read_pdb(analyzer.pdb_file.as_posix())\n",
|
||||
"\n",
|
||||
" # 筛选出指定链的原子\n",
|
||||
" extracted_atoms = ppdb.df['ATOM'][ppdb.df['ATOM']['chain_id'].isin(chains_to_extract)]\n",
|
||||
"\n",
|
||||
" if not extracted_atoms.empty:\n",
|
||||
" # 创建一个新的PandasPdb对象并填充筛选后的原子数据\n",
|
||||
" new_ppdb = PandasPdb()\n",
|
||||
" new_ppdb.df['ATOM'] = extracted_atoms\n",
|
||||
" new_ppdb.df['HETATM'] = ppdb.df['HETATM'][ppdb.df['HETATM']['chain_id'].isin(chains_to_extract)] # 如果需要,也包括HETATM信息\n",
|
||||
"\n",
|
||||
" # 保存为新的PDB文件\n",
|
||||
" output_file = pdb_directory / f\"{pdb_id}_extracted.pdb\"\n",
|
||||
" new_ppdb.to_pdb(path=output_file.as_posix())\n",
|
||||
" print(f\"Saved extracted chains of {pdb_id} to {output_file}\")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"['A', 'B', 'C', 'D', 'P', 'E', 'F', 'G', 'H', 'Q']\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from pathlib import Path\n",
|
||||
"from analysis_pdb import PDBAnalyzer\n",
|
||||
"f = Path('multi_pdb/1d9k.pdb')\n",
|
||||
"o = PDBAnalyzer.cleanATOM(f)\n",
|
||||
"print(o.chain_id_list)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"r = o.extract_chains_to_new_pdb(['A'])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'ATOM': record_name atom_number blank_1 ... element_symbol charge line_idx\n",
|
||||
" 0 ATOM 1 ... N NaN 0\n",
|
||||
" 1 ATOM 2 ... C NaN 1\n",
|
||||
" 2 ATOM 3 ... C NaN 2\n",
|
||||
" 3 ATOM 4 ... O NaN 3\n",
|
||||
" 4 ATOM 5 ... C NaN 4\n",
|
||||
" .. ... ... ... ... ... ... ...\n",
|
||||
" 872 ATOM 873 ... C NaN 872\n",
|
||||
" 873 ATOM 874 ... C NaN 873\n",
|
||||
" 874 ATOM 875 ... C NaN 874\n",
|
||||
" 875 ATOM 876 ... O NaN 875\n",
|
||||
" 876 ATOM 877 ... O NaN 876\n",
|
||||
" \n",
|
||||
" [877 rows x 21 columns],\n",
|
||||
" 'HETATM': Empty DataFrame\n",
|
||||
" Columns: [record_name, atom_number, blank_1, atom_name, alt_loc, residue_name, blank_2, chain_id, residue_number, insertion, blank_3, x_coord, y_coord, z_coord, occupancy, b_factor, blank_4, segment_id, element_symbol, charge, line_idx]\n",
|
||||
" Index: []}"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"r.df"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "analysis",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.13"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
Reference in New Issue
Block a user