| 7 | 1/1 | 返回列表 |
| 查看: 2266 | 回復(fù): 6 | ||
| 本帖產(chǎn)生 1 個(gè) MolEPI ,點(diǎn)擊這里進(jìn)行查看 | ||
cxl8400501銅蟲 (初入文壇)
|
[求助]
同源建模 已有1人參與
|
|
|
各位大神: 最近在學(xué)習(xí)同源建模,氨基酸序列已經(jīng)獲得,不知如何下手,哪位大神能否指點(diǎn)迷津,萬分感謝! |

|
正好熟悉這個(gè),給你一個(gè)方法:利用MODLLER同源建模。 前期的準(zhǔn)備工作(這里介紹并沒有結(jié)構(gòu)的蛋白序列的從頭建立結(jié)構(gòu)的過程) 首先:把你需要建立結(jié)構(gòu)的蛋白序列寫成modeller能夠識(shí)別的文件格式 >P1;TvLDH sequence::::::::: MSEAAHVLITGAAGQIGYILSHWIASGELYGDRQVYLHLLDIPPAMNRLTALTMELEDCAFPHLAGFVATTDPKAAFKDIDCAFLVASMPLKPGQVRADLISSNSVIFKNTGEYLSKWAKPSVKVLVIGNPDNTNCEIAMLHAKNLKPENFSSLSMLDQNRAYYEVASKLGVDVKDVHDIIVWGNHGESMVADLTQATFTKEGKTQKVVDVLDHDYVFDTFFKKIGHRAWDILEHRGFTSAASPTKAAIQHMKAWLFGTAPGEVLSMGIPVPEGNPYGIKPGVVFSFPCNVDKEGKIHVVEGFKVNDWLREKLDFTEKDLFHEKEIALNHLAQGG* 第二行后面的字段基本沒什么作用,只要把第一個(gè)字段sequence寫上即可,注意,這一行一共10個(gè)字段用9個(gè)分號(hào)隔開。 第三行為將你要建立結(jié)構(gòu)的序列的氨基酸寫成單字母的形式,最后的 " * “ 符號(hào)表示序列的結(jié)束. 其次: 將PDB庫(kù)中的序列準(zhǔn)備好(modeller會(huì)經(jīng)常更新PDB庫(kù)中的序列,這些序列會(huì)經(jīng)常更新,你可以從modeller的官網(wǎng)上下載)下面是將PDB庫(kù)中的序列轉(zhuǎn)化為二進(jìn)制的文件格式,可以加快搜索具有高度相似的序列的速度. 轉(zhuǎn)換的腳本如下所示: from modeller import * log.verbose() env = environ() sdb = sequence_db(env) sdb.convert(seq_database_file='pdb_95.pir', seq_database_format='PIR', chains_list='ALL', minmax_db_seq_len=(30, 4000), clean_sequences=True, outfile='pdb_95.hdf5') 第四行 sequence_db()對(duì)象用于創(chuàng)建一個(gè)存放大量的蛋白序列的庫(kù)對(duì)象。 第五行調(diào)用對(duì)象的convert()方法,以PIR格式的方式讀入pdb_95.pir,去除殘基序列的數(shù)目小于30并且大于4000的序列,用minmx_db_seq_len參數(shù)指出,去除不標(biāo)準(zhǔn)的殘基用clean_sequences指出,最終文件以二進(jìn)制的形式寫到pdb_95.hdf5文件中。 第三:利用上一步中生成的二進(jìn)制文件進(jìn)行搜索,找到和未知序列相似的結(jié)構(gòu)序列。 from modeller import * log.verbose() env = environ() # Read in the sequence database in binary format sdb = sequence_db(env, seq_database_file='pdb_95.hdf5', seq_database_format='BINARY', chains_list='ALL') # Read in the target sequence in PIR alignment format aln = alignment(env) aln.append(file='TvLDH.ali', alignment_format='PIR', align_codes='ALL') # Convert the input sequence "alignment" into profile format prf = aln.to_profile() # Scan sequence database to pick up homologous sequences prf.build(sdb, matrix_offset=-450, rr_file='${LIB}/blosum62.sim.mat', gap_penalties_1d=(-500, -50), n_prof_iterations=1, check_profile=False, max_aln_evalue=0.01) # Write out the profile in text format prf.write(file='build_profile.prf', profile_format='TEXT') # Convert the profile back to alignment format aln = prf.to_alignment() #- Write out a PIR alignment file aln.write(file='build_profile.ali', alignment_format='PIR‘) *****在build_profile.prf文件中,最重要的列為第2,10,11,12列,第二列指出了PDB庫(kù)中的晶體結(jié)構(gòu)的代碼, 第11列指出了待建結(jié)構(gòu)與晶體結(jié)構(gòu)的序列相似度的百分?jǐn)?shù),第12列指明了疊加之后的e值。 第四:從build_profile.prf這個(gè)輸出文件中找到和待建序列的相似度高的模版,評(píng)價(jià)模版的結(jié)構(gòu)和序列的相似性。 from modeller import * env = environ() env.io.atom_files_directory = ['.', '../atom_files'] # Make a simple 1:1 alignment of 7 template structures aln = alignment(env)for (pdb, chain) in (('1b8p', 'A'), ('1y7t', 'A'), ('1civ', 'A'), ('5mdh', 'A'), ('7mdh', 'A'), ('3d5t', 'A'), ('1smk', 'A')): m = model(env, file=pdb, model_segment=('FIRST:'+chain, 'LAST:'+chain)) aln.append_model(m, atom_files=pdb, align_codes=pdb+chain) # Sequence alignment aln.malign() # Structure alignment aln.malign3d() # Report details of the sequence/structure alignment aln.compare_structures() aln.id_table(matrix_file='family.mat') env.dendrogram(matrix_file='family.mat', cluster_cut=-1.0) 對(duì)角線中的內(nèi)容為每個(gè)結(jié)構(gòu)的殘基數(shù)目,上三角為相同的殘基的數(shù)目,下三角為兩個(gè)結(jié)構(gòu)的序列相似度的百分?jǐn)?shù)。 我們選擇了1y7t作為模版結(jié)構(gòu),因?yàn)檫@個(gè)結(jié)構(gòu)的結(jié)晶分辨率為1.6埃以及它與待建結(jié)構(gòu)的序列的相似度為45%。 第五:將待建結(jié)構(gòu)與模版結(jié)構(gòu)進(jìn)行align, MODELLER利用這些align的結(jié)果來提取出構(gòu)建結(jié)構(gòu)時(shí)必要的限制。 最好的方法是利用align2d()的方法,盡管align2d()方法是基于一種動(dòng)態(tài)的算法,但是它不同于標(biāo)準(zhǔn)的序列-序列的align 方法,因?yàn)檫@種方法在進(jìn)行align的時(shí)候會(huì)考慮到模版的結(jié)構(gòu)信息。 from modeller import * env = environ() env.io.atom_files_directory = ['.', '../atom_files'] aln = alignment(env) # Read in the 1y7t template structure and add to alignment mdl = model(env, file='1y7t', model_segment=('FIRST:A','LAST:A')) aln.append_model(mdl, align_codes='1y7tA', atom_files='1y7t') # Add in the TvLDH sequence aln.append(file='../step1_search/TvLDH.ali', align_codes='TvLDH') # Sequence/structure alignment aln.align2d(max_gap_length=40) # Write out resulting alignment in both PIR and PAP formats aln.write(file='TvLDH-1y7tA.ali', alignment_format='PIR') aln.write(file='TvLDH-1y7tA.pap', alignment_format='PAP') 第六:創(chuàng)建比較模型 可以使用MODELLER中的automodel類,只需要告訴automodel alignment文件,使用哪個(gè)代碼以及要建立多少個(gè)模型。 from modeller import * from modeller.automodel import * env = environ() env.io.atom_files_directory = ['.', '../atom_files'] a = automodel(env,alnfile='../step3_align/TvLDH1y7tA.ali', knowns='1y7tA',sequence='TvLDH',assess_methods=assess.DOPE) a.starting_model = 1 a.ending_model = 5 a.make() 第七:評(píng)價(jià)所建的模型 從上面的步驟中找到最好的模型,評(píng)價(jià)的方法有很多種,最簡(jiǎn)單的方法是molecule PDF (molpdf)方法,標(biāo)準(zhǔn)的MODELLER評(píng)分函數(shù)。這個(gè)評(píng)分結(jié)果會(huì)在每個(gè)PDB開頭的REMARK中加入。其他的評(píng)價(jià)方法包括DOPE和GA341. 從上面產(chǎn)生的log文件中可以發(fā)現(xiàn),第一個(gè)PDB文件模型是最好的,因?yàn)镈OPE的值最小。 第八:Fit models into cryo-EM maps 通過將TvLDH的 cryo-EM數(shù)據(jù)導(dǎo)入來使產(chǎn)生的蛋白結(jié)構(gòu)與這些數(shù)據(jù)相吻合,通過使用MODELLER中的Mod-EM方法。 from modeller import * log.verbose() env = environ() struct='../step4_model/TvLDH.B99990001.pdb' map='TvLDH.10A.mrc' resolution=10.0 box_size=48 apix=1.88 x=-26.742; y=-9.5205; z=-10.375 #origin steps=20 # Read in cryo-EM density map den = density(env, file=map, em_density_format='MRC', voxel_size=apix, resolution=resolution, em_map_size=box_size, density_type='GAUSS', px=x,py=y,pz=z) # Fit the PDB file into the map by MC simulated annealing den.grid_search(em_density_format='MRC', num_structures=1, em_pdb_name=struct, chains_num=[1], start_type='CENTER', number_of_steps=steps, angular_step_size=30., temperature=100., best_docked_models=1, translate_type='RANDOM', em_fit_output_file='modem.log') |

銅蟲 (初入文壇)

銅蟲 (初入文壇)

銅蟲 (初入文壇)

新蟲 (著名寫手)
| 7 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 329求調(diào)劑 +8 | 星野? 2026-03-26 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 0703化學(xué) +14 | 妮妮ninicgb 2026-03-27 | 14/700 |
|
|
[基金申請(qǐng)] 面上5B能上會(huì)嗎? +7 | redcom 2026-03-29 | 7/350 |
|
|
[考研] 085601材料工程找調(diào)劑 +16 | oatmealR 2026-03-29 | 17/850 |
|
|
[考研] 085600,材料與化工321分求調(diào)劑 +10 | 大饞小子 2026-03-28 | 10/500 |
|
|
[考研] 299求調(diào)劑 +10 | 15188958825 2026-03-25 | 10/500 |
|
|
[考研] 一志愿鄭州大學(xué),080500學(xué)碩,總分317分求調(diào)劑 +8 | 舉個(gè)栗子oi 2026-03-24 | 9/450 |
|
|
[考研] 340求調(diào)劑 +6 | Amber00 2026-03-26 | 6/300 |
|
|
[考研] 本科新能源科學(xué)與工程,一志愿華理能動(dòng)285求調(diào)劑 +3 | AZMK 2026-03-27 | 5/250 |
|
|
[考研] 藥學(xué)105500求調(diào)劑 +3 | Ssun。。 2026-03-28 | 3/150 |
|
|
[考研] 081200-314 +3 | LILIQQ 2026-03-27 | 4/200 |
|
|
[考研] 286求調(diào)劑 +4 | 丟掉懶惰 2026-03-27 | 7/350 |
|
|
[考研] 330一志愿中國(guó)海洋大學(xué) 化學(xué)工程 085602 有讀博意愿 求調(diào)劑 +3 | wywy.. 2026-03-27 | 4/200 |
|
|
[考研] 086000調(diào)劑 +3 | 7901117076 2026-03-26 | 3/150 |
|
|
[考研] 安徽大學(xué)專碩生物與醫(yī)藥專業(yè)(086000)324分,英語已過四六級(jí),六級(jí)521,求調(diào)劑 +4 | 美味可樂雞翅 2026-03-26 | 4/200 |
|
|
[考研] 279 分 求調(diào)劑 +4 | 睡個(gè)好覺_16 2026-03-24 | 4/200 |
|
|
[考研] 348求調(diào)劑 +4 | 小懶蟲不懶了 2026-03-27 | 5/250 |
|
|
[考研] 298調(diào)劑 +3 | jiyingjie123 2026-03-27 | 3/150 |
|
|
[考研] 324求調(diào)劑 +5 | hanamiko 2026-03-26 | 5/250 |
|
|
[考研]
材料調(diào)劑
5+4
|
想要一壺桃花水 2026-03-25 | 10/500 |
|