diff --git a/core/CDataManagerCache.json b/core/CDataManagerCache.json index eb5911e19..2dfd07a90 100644 --- a/core/CDataManagerCache.json +++ b/core/CDataManagerCache.json @@ -1409,9 +1409,9 @@ "clsName": "CCustomTaskParamListView" }, "CData": { - "class": "qtgui.CCP4CustomTaskManagerGuiCMiniMtzRequiredContentWidget", - "clsModule": "qtgui.CCP4CustomTaskManagerGui", - "clsName": "CMiniMtzRequiredContentWidget" + "class": "qtgui.CCP4ModelWidgetsCEnsembleView", + "clsModule": "qtgui.CCP4ModelWidgets", + "clsName": "CEnsembleView" }, "CDataFile": { "class": "qtgui.CCP4WidgetsCDataFileView", diff --git a/core/CachedLookups.json b/core/CachedLookups.json index 38bf77ab5..698f75ac5 100644 --- a/core/CachedLookups.json +++ b/core/CachedLookups.json @@ -120,6 +120,7 @@ "gesamt", "coordinate_selector", "add_fractional_coords", + "areaimol", "editbfac", "modelASUCheck", "pdbset_ui", @@ -604,6 +605,15 @@ ] } }, + "areaimol": { + "0.0.0": { + "MAINTAINER": "Nobody", + "class": "wrappers.areaimol.script.areaimol_reportareaimol_report", + "clsModule": "wrappers.areaimol.script.areaimol_report", + "clsName": "areaimol_report", + "modes": [] + } + }, "arp_warp_classic": { "0.0.0": { "MAINTAINER": "andrey.lebedev@stfc.ac.uk", @@ -2211,6 +2221,19 @@ "subTasks": [] } }, + "areaimol": { + "0.0": { + "DESCRIPTION": null, + "INTERRUPTLABEL": null, + "MAINTAINER": "Nobody", + "TASKTITLE": "Solvent accessible surface - Areaimol", + "class": "wrappers.areaimol.script.areaimolareaimol", + "clsModule": "wrappers.areaimol.script.areaimol", + "clsName": "areaimol", + "internal": false, + "subTasks": [] + } + }, "arp_warp_classic": { "0.0": { "DESCRIPTION": null, @@ -4058,6 +4081,7 @@ "AUSPEX": "qticons/AUSPEX.png", "AcedrgLink": "qticons/ccp4.png", "AlternativeImportXIA2": "qticons/AlternativeImportXIA2.png", + "Lidia": "qticons/ccp4.png", "LidiaAcedrg": "qticons/LidiaAcedrg.png", "LidiaAcedrgNew": "qticons/LidiaAcedrgNew.png", "MakeLink": "qticons/MakeLink.png", @@ -4078,16 +4102,21 @@ "TestObsConversions": "qticons/TestObsConversions.png", "ZZPipelineNameZZ": "qticons/ccp4.png", "ZZPluginNameZZ": "qticons/ccp4.png", + "acedrg": "qticons/ccp4.png", + "acedrgNew": "qticons/ccp4.png", "acorn": "qticons/acorn.png", "add_fractional_coords": "qticons/add_fractional_coords.png", "adding_stats_to_mmcif_i2": "qticons/adding_stats_to_mmcif_i2.png", "aimless_pipe": "qticons/aimless_pipe.png", "alpha_fold": "qticons/alpha_fold.png", "arcimboldo": "qticons/arcimboldo.png", + "areaimol": "qticons/ccp4.png", "arp_warp_classic": "qticons/arp_warp_classic.png", + "baverage": "qticons/ccp4.png", "bigpipes": "qticons/ccp4.png", "bioinformatics": "qticons/bioinformatics.png", "buccaneer_build_refine_mr": "qticons/buccaneer_build_refine_mr.png", + "buccaneer_mr": "qticons/ccp4.png", "buster": "qticons/buster.png", "ccp4mg_edit_model": "qticons/ccp4mg_edit_model.png", "ccp4mg_edit_nomrbump": "qticons/ccp4mg_edit_nomrbump.png", @@ -4098,6 +4127,7 @@ "clustalw": "qticons/clustalw.png", "cmapcoeff": "qticons/cmapcoeff.png", "comit": "qticons/ccp4.png", + "convert2mtz": "qticons/convert2mtz.png", "coordinate_selector": "qticons/coordinate_selector.png", "coot1": "qticons/coot1.png", "coot_find_waters": "qticons/coot_find_waters.png", @@ -4105,8 +4135,10 @@ "coot_rsr_morph": "qticons/coot_rsr_morph.png", "coot_script_lines": "qticons/coot_script_lines.png", "cpatterson": "qticons/cpatterson.png", + "cphasematch": "qticons/cphasematch.png", "crank2": "qticons/crank2.png", "crank2_comb_phdmmb": "qticons/ccp4.png", + "crank2_createfree": "qticons/ccp4.png", "crank2_dmfull": "qticons/ccp4.png", "crank2_faest": "qticons/ccp4.png", "crank2_handdet": "qticons/ccp4.png", @@ -4121,6 +4153,9 @@ "data_entry": "qticons/data_entry.png", "data_processing": "qticons/data_processing.png", "data_reduction": "qticons/data_reduction.png", + "demo": "qticons/ccp4.png", + "demo_copycell": "qticons/ccp4.png", + "demo_multi_mtzdump": "qticons/ccp4.png", "density_calculator": "qticons/density_calculator.png", "density_modification": "qticons/density_modification.png", "developer_tools": "qticons/developer_tools.png", @@ -4134,6 +4169,7 @@ "export": "qticons/export.png", "expt_data_utility": "qticons/expt_data_utility.png", "expt_phasing": "qticons/expt_phasing.png", + "fft": "qticons/ccp4.png", "findmyseq": "qticons/findmyseq.png", "freerflag": "qticons/freerflag.png", "gesamt": "qticons/gesamt.png", @@ -4144,6 +4180,7 @@ "import_mosflm": "qticons/import_mosflm.png", "import_serial": "qticons/ccp4.png", "import_serial_pipe": "qticons/ccp4.png", + "libcheck": "qticons/ccp4.png", "ligands": "qticons/ligands.png", "lorestr_i2": "qticons/lorestr_i2.png", "matthews": "qticons/matthews.png", @@ -4163,11 +4200,15 @@ "mrbump_basic": "qticons/mrbump_basic.png", "mrbump_model_prep": "qticons/ccp4.png", "mrparse": "qticons/mrparse.png", + "mtzdump": "qticons/ccp4.png", + "mtzheader": "qticons/ccp4.png", "mtzutils": "qticons/ccp4.png", "nautilus_build_refine": "qticons/nautilus_build_refine.png", "pairef": "qticons/pairef.png", "parrot": "qticons/parrot.png", + "pdb_extract_wrapper": "qticons/ccp4.png", "pdb_redo_api": "qticons/pdb_redo_api.png", + "pdbset": "qticons/ccp4.png", "pdbset_ui": "qticons/ccp4.png", "pdbview_edit": "qticons/pdbview_edit.png", "phaser_EP": "qticons/phaser_EP.png", @@ -4175,7 +4216,9 @@ "phaser_EP_LLG": "qticons/phaser_EP_LLG.png", "phaser_MR_AUTO": "qticons/phaser_MR_AUTO.png", "phaser_MR_RNP": "pipelines/phaser_pipeline/wrappers/phaser_MR_RNP/script/phaser_MR_RNP.png", + "phaser_analysis": "qticons/ccp4.png", "phaser_ensembler": "qticons/phaser_ensembler.png", + "phaser_mr": "qticons/ccp4.png", "phaser_phil": "qticons/ccp4.png", "phaser_pipeline": "qticons/phaser_pipeline.png", "phaser_rnp_pipeline": "qticons/phaser_rnp_pipeline.png", @@ -4190,8 +4233,11 @@ "pyphaser_mr": "qticons/ccp4.png", "qtpisa": "qticons/qtpisa.png", "refinement": "qticons/refinement.png", + "refmac": "qticons/ccp4.png", "scaleit": "qticons/scaleit.png", + "scalepack2mtz": "qticons/ccp4.png", "sculptor": "qticons/sculptor.png", + "servalcat": "qticons/ccp4.png", "servalcat_pipe": "qticons/servalcat_pipe.png", "sheetbend": "qticons/ccp4.png", "shelx": "qticons/shelx.png", @@ -4200,10 +4246,12 @@ "splitMtz": "qticons/splitMtz.png", "tableone": "qticons/tableone.png", "test": "qticons/ccp4.png", + "uniqueify": "qticons/ccp4.png", "validate_protein": "qticons/validate_protein.png", "validation": "qticons/validation.png", "workflow": "qticons/ccp4.png", "wrappers": "qticons/ccp4.png", + "x2mtz": "qticons/ccp4.png", "xia2_dials": "qticons/xia2_dials.png", "xia2_multiplex": "qticons/xia2_multiplex.png", "xia2_ssx_reduce": "qticons/xia2_ssx_reduce.png", @@ -4904,6 +4952,20 @@ "taskVersion": 0.1 } }, + "areaimol": { + "0.0.0": { + "DESCRIPTION": "Solvent accessible surface calculation the areaimol program", + "MAINTAINER": "Nobody", + "RANK": null, + "TASKTITLE": "Solvent accessible surface - Areaimol", + "class": "wrappers.areaimol.script.CTaskareaimolCTaskAreaimolUI", + "clsModule": "wrappers.areaimol.script.CTaskareaimol", + "clsName": "CTaskAreaimolUI", + "shortTitle": "AREAIMOL", + "taskName": "areaimol", + "taskVersion": 0.0 + } + }, "arp_warp_classic": { "0.0.0": { "DESCRIPTION": "Build model (ARP/wARP classic)", diff --git a/qticons/CachedPixmapPaths.json b/qticons/CachedPixmapPaths.json index 44e17be3d..03e87c522 100644 --- a/qticons/CachedPixmapPaths.json +++ b/qticons/CachedPixmapPaths.json @@ -1 +1 @@ -{"phaser_singleMR_96": "phaser_singleMR_96.png", "file_info": "file_info.png", "chltofom_96": "chltofom_96.png", "freerflag": "freerflag.png", "pause": "pause.png", "red-cross": "red-cross.png", "EnsemblePdbDataFile": "EnsemblePdbDataFile.png", "model_building": "model_building.png", "parrot": "parrot.png", "buster": "buster.png", "coot1": "coot1.png", "greenarrowsup": "greenarrowsup.png", "TestObsConversions": "TestObsConversions.png", "running": "running.png", "matthews_96": "matthews_96.png", "PdbDataFile": "PdbDataFile.png", "xia2_dials_96": "xia2_dials_96.png", "editbfac": "editbfac.png", "qtpisa": "qtpisa.png", "ShelxCECompareHands_96": "ShelxCECompareHands_96.png", "list_add": "list_add.png", "MakeLink_96": "MakeLink_96.png", "import_merged": "import_merged.png", "list_delete": "list_delete.png", "xia2_ssx_reduce_96": "xia2_ssx_reduce_96.png", "redarrowright": "redarrowright.png", "ccp4mg_general_96": "ccp4mg_general_96.png", "up_96": "up_96.png", "servalcat_pipe": "servalcat_pipe.png", "AlternativeImportXIA2_96": "AlternativeImportXIA2_96.png", "phaser_simple_96": "phaser_simple_96.png", "gears": "gears.png", "crank2_96": "crank2_96.png", "up": "up.png", "tab-close": "tab-close.png", "phaser_EP_AUTO": "phaser_EP_AUTO.png", "showi2run": "showi2run.png", "bioinformatics": "bioinformatics.png", "gesamt_96": "gesamt_96.png", "fileopen": "fileopen.png", "ccp4mg_edit_nomrbump_96": "ccp4mg_edit_nomrbump_96.png", "file": "file.png", "help_96": "help_96.png", "bullet_arrow_down": "bullet_arrow_down.png", "PrepareDeposit_96": "PrepareDeposit_96.png", "coordinate_selector_96": "coordinate_selector_96.png", "AsuDataFile_96": "AsuDataFile_96.png", "SeqDataFile": "SeqDataFile.png", "import_mosflm_96": "import_mosflm_96.png", "density_modification": "density_modification.png", "pdbview_edit": "pdbview_edit.png", "ProvideAsuContents_96": "ProvideAsuContents_96.png", "refln_data_analysis": "refln_data_analysis.png", "forward_96": "forward_96.png", "csymmatch_96": "csymmatch_96.png", "coot_find_waters": "coot_find_waters.png", "modelcraft": "modelcraft.png", "validation_96": "validation_96.png", "SIMBAD_96": "SIMBAD_96.png", "data_processing": "data_processing.png", "file_manager": "file_manager.png", "ProvideSequence_96": "ProvideSequence_96.png", "green-tick": "green-tick.png", "phaser_ensembler": "phaser_ensembler.png", "taskmenu_96": "taskmenu_96.png", "bioinformatics_96": "bioinformatics_96.png", "running_dark": "running_dark.png", "shelx_96": "shelx_96.png", "cell": "cell.png", "imosflm": "imosflm.png", "molrep_pipe": "molrep_pipe.png", "clone": "clone.png", "undone": "undone.png", "chainsaw_96": "chainsaw_96.png", "greenarrowsupshadow": "greenarrowsupshadow.png", "add_fractional_coords": "add_fractional_coords.png", "buccaneer_build_refine_EP_96": "buccaneer_build_refine_EP_96.png", "splitMtz_96": "splitMtz_96.png", "coot_script_lines": "coot_script_lines.png", "help-highlight_96": "help-highlight_96.png", "crank2": "crank2.png", "ccp4mg_edit_model_96": "ccp4mg_edit_model_96.png", "ProvideTLS_96": "ProvideTLS_96.png", "Mol2DataFile": "Mol2DataFile.png", "back": "back.png", "CootHistoryDataFile": "CootHistoryDataFile.png", "adding_stats_to_mmcif_i2": "adding_stats_to_mmcif_i2.png", "ProvideAsuContents": "ProvideAsuContents.png", "coordinate_selector": "coordinate_selector.png", "back_96": "back_96.png", "aimless_pipe": "aimless_pipe.png", "DictDataFile": "DictDataFile.png", "phaser_simple": "phaser_simple.png", "MakeProjectsAndDoLigandPipeline": "MakeProjectsAndDoLigandPipeline.png", "DataFile": "DataFile.png", "ccp4mg_edit_nomrbump": "ccp4mg_edit_nomrbump.png", "validate_protein_96": "validate_protein_96.png", "csymmatch": "csymmatch.png", "developer_tools_96": "developer_tools_96.png", "phaser_MR_AUTO_96": "phaser_MR_AUTO_96.png", "MakeProjectsAndDoLigandPipeline_96": "MakeProjectsAndDoLigandPipeline_96.png", "nautilus": "nautilus.png", "AMPLE_96": "AMPLE_96.png", "clone_96": "clone_96.png", "PhaserSolDataFile": "PhaserSolDataFile.png", "prosmart_refmac": "prosmart_refmac.png", "view_forward": "view_forward.png", "ShelxCD_96": "ShelxCD_96.png", "list_delete_red": "list_delete_red.png", "listLine": "listLine.png", "newtab_96": "newtab_96.png", "ctruncate": "ctruncate.png", "matthews": "matthews.png", "arcimboldo_96": "arcimboldo_96.png", "clustalw": "clustalw.png", "buster_96": "buster_96.png", "splitMtz": "splitMtz.png", "ShelxCD": "ShelxCD.png", "forward": "forward.png", "edstats_96": "edstats_96.png", "MiniMtzDataFile": "MiniMtzDataFile.png", "ShelxCE_96": "ShelxCE_96.png", "pdb_redo_api": "pdb_redo_api.png", "LidiaAcedrg_96": "LidiaAcedrg_96.png", "phaser_EP": "phaser_EP.png", "xia2_xds_96": "xia2_xds_96.png", "xia2_xds": "xia2_xds.png", "MDLMolDataFile": "MDLMolDataFile.png", "unsatisfactory": "unsatisfactory.png", "MakeLink": "MakeLink.png", "List": "List.png", "model_building_96": "model_building_96.png", "tableone": "tableone.png", "youtube": "youtube.png", "import_processed": "import_processed.png", "validate_protein": "validate_protein.png", "Mol2DataFile_96": "Mol2DataFile_96.png", "freerflag_96": "freerflag_96.png", "toc-plus": "toc-plus.png", "search-plus": "search-plus.png", "dials_image": "dials_image.png", "ccp4_96": "ccp4_96.png", "dials_rlattice_96": "dials_rlattice_96.png", "ccp4": "ccp4.png", "bullet_arrow_right": "bullet_arrow_right.png", "pisapipe": "pisapipe.png", "lorestr_i2_96": "lorestr_i2_96.png", "new_project": "new_project.png", "gesamt": "gesamt.png", "AsuDataFile": "AsuDataFile.png", "ccp4mg_general": "ccp4mg_general.png", "ccp4i2": "ccp4i2.png", "convert2mtz": "convert2mtz.png", "export_arrow_new_96": "export_arrow_new_96.png", "mrparse": "mrparse.png", "ShelxCE": "ShelxCE.png", "convert2mtz_96": "convert2mtz_96.png", "AlternativeImportXIA2": "AlternativeImportXIA2.png", "download_96": "download_96.png", "adding_stats_to_mmcif_i2_96": "adding_stats_to_mmcif_i2_96.png", "coot_script_lines_96": "coot_script_lines_96.png", "qtpisa_96": "qtpisa_96.png", "acorn": "acorn.png", "LidiaAcedrgNew_96": "LidiaAcedrgNew_96.png", "simple_xia2": "simple_xia2.png", "pdbview_edit_96": "pdbview_edit_96.png", "MTZDataFile_96": "MTZDataFile_96.png", "SubstituteLigand": "SubstituteLigand.png", "dustbin": "dustbin.png", "showlogfile_96": "showlogfile_96.png", "molrep_den_96": "molrep_den_96.png", "pointless_reindexToMatch": "pointless_reindexToMatch.png", "SceneDataFile": "SceneDataFile.png", "ctruncate_96": "ctruncate_96.png", "sculptor_96": "sculptor_96.png", "prosmart_refmac_96": "prosmart_refmac_96.png", "imosflm_96": "imosflm_96.png", "buccaneer_build_refine_mr_96": "buccaneer_build_refine_mr_96.png", "fileopen_96": "fileopen_96.png", "coot_rebuild_96": "coot_rebuild_96.png", "data_entry_96": "data_entry_96.png", "book": "book.png", "density_calculator": "density_calculator.png", "zoom_96": "zoom_96.png", "SIMBAD": "SIMBAD.png", "mrparse_96": "mrparse_96.png", "SubstituteLigand_96": "SubstituteLigand_96.png", "MDLMolDataFile_96": "MDLMolDataFile_96.png", "dials_image_96": "dials_image_96.png", "MapDataFile": "MapDataFile.png", "help": "help.png", "dui": "dui.png", "acorn_96": "acorn_96.png", "data_processing_96": "data_processing_96.png", "LidiaAcedrg": "LidiaAcedrg.png", "AMPLE": "AMPLE.png", "fragon_96": "fragon_96.png", "privateer": "privateer.png", "ProvideAlignment_96": "ProvideAlignment_96.png", "sculptor": "sculptor.png", "toc-minus": "toc-minus.png", "nautilus_build_refine": "nautilus_build_refine.png", "expt_data_utility": "expt_data_utility.png", "export": "export.png", "ProvideTLS": "ProvideTLS.png", "import_xia2_96": "import_xia2_96.png", "down_96": "down_96.png", "zanuda_96": "zanuda_96.png", "molrep_selfrot_96": "molrep_selfrot_96.png", "file_96": "file_96.png", "aimless_96": "aimless_96.png", "expt_data_utility_96": "expt_data_utility_96.png", "help-no-highlight_96": "help-no-highlight_96.png", "findmyseq": "findmyseq.png", "phaser_ensembler_96": "phaser_ensembler_96.png", "xia2_dials": "xia2_dials.png", "importRefnData": "importRefnData.png", "i2Dimple_96": "i2Dimple_96.png", "phaser_EP_LLG_96": "phaser_EP_LLG_96.png", "newtab": "newtab.png", "mergeMtz": "mergeMtz.png", "privateer_96": "privateer_96.png", "import_merged_96": "import_merged_96.png", "scaleit": "scaleit.png", "book_96": "book_96.png", "coot1_96": "coot1_96.png", "developer_tools": "developer_tools.png", "importRefnData_96": "importRefnData_96.png", "AUSPEX": "AUSPEX.png", "phaser_rnp_pipeline_96": "phaser_rnp_pipeline_96.png", "rosette": "rosette.png", "SyncToDjango_96": "SyncToDjango_96.png", "ligands_96": "ligands_96.png", "export_arrow_new": "export_arrow_new.png", "thought": "thought.png", "molrep_selfrot": "molrep_selfrot.png", "reload": "reload.png", "help-highlight": "help-highlight.png", "job": "job.png", "phaser_pipeline": "phaser_pipeline.png", "biblio": "biblio.png", "tab-close-highlight": "tab-close-highlight.png", "clustalw_96": "clustalw_96.png", "MakeMonster_96": "MakeMonster_96.png", "database": "database.png", "xia2_multiplex_96": "xia2_multiplex_96.png", "arp_warp_classic": "arp_warp_classic.png", "chltofom": "chltofom.png", "ligands": "ligands.png", "file_manager2": "file_manager2.png", "molecular_replacement": "molecular_replacement.png", "search": "search.png", "lorestr_i2": "lorestr_i2.png", "phaser_EP_LLG": "phaser_EP_LLG.png", "ObsDataFile": "ObsDataFile.png", "chainsaw": "chainsaw.png", "blank": "blank.png", "alpha_fold": "alpha_fold.png", "mrbump_basic": "mrbump_basic.png", "slicendice": "slicendice.png", "error_star": "error_star.png", "arcimboldo": "arcimboldo.png", "SeqAlignDataFile": "SeqAlignDataFile.png", "xia2_ssx_reduce": "xia2_ssx_reduce.png", "help-no-highlight": "help-no-highlight.png", "MakeMonster": "MakeMonster.png", "dials_rlattice": "dials_rlattice.png", "ShowList": "ShowList.png", "editbfac_96": "editbfac_96.png", "import_mosflm": "import_mosflm.png", "import_xia2": "import_xia2.png", "undo_96": "undo_96.png", "ShelxCECompareHands": "ShelxCECompareHands.png", "PhsDataFile": "PhsDataFile.png", "cphasematch": "cphasematch.png", "dui_96": "dui_96.png", "data_entry": "data_entry.png", "import_processed_96": "import_processed_96.png", "phaser_EP_AUTO_96": "phaser_EP_AUTO_96.png", "servalcat_pipe_96": "servalcat_pipe_96.png", "List_grey": "List_grey.png", "aimless": "aimless.png", "list_delete_grey": "list_delete_grey.png", "phaser_singleMR": "phaser_singleMR.png", "i2Dimple": "i2Dimple.png", "fragon": "fragon.png", "shelx": "shelx.png", "model_data_utility_96": "model_data_utility_96.png", "TestObsConversions_96": "TestObsConversions_96.png", "UnmergedDataFile": "UnmergedDataFile.png", "refinement_96": "refinement_96.png", "edstats": "edstats.png", "cmapcoeff_96": "cmapcoeff_96.png", "project": "project.png", "phaser_rnp_pipeline": "phaser_rnp_pipeline.png", "biblio_96": "biblio_96.png", "view_forward_96": "view_forward_96.png", "question": "question.png", "pairef_96": "pairef_96.png", "morda_i2": "morda_i2.png", "phaser_MR_AUTO": "phaser_MR_AUTO.png", "tableone_96": "tableone_96.png", "showlogfile": "showlogfile.png", "down": "down.png", "slicendice_96": "slicendice_96.png", "morda_i2_96": "morda_i2_96.png", "job_interrupted": "job_interrupted.png", "SyncToDjango": "SyncToDjango.png", "phaser_pipeline_96": "phaser_pipeline_96.png", "pisapipe_96": "pisapipe_96.png", "refinement": "refinement.png", "import_arrow_new_96": "import_arrow_new_96.png", "reload_96": "reload_96.png", "undo": "undo.png", "data_reduction": "data_reduction.png", "findmyseq_96": "findmyseq_96.png", "RefmacKeywordFile": "RefmacKeywordFile.png", "sad": "sad.png", "ProvideSequence": "ProvideSequence.png", "list_add_grey": "list_add_grey.png", "gears2": "gears2.png", "export_96": "export_96.png", "zanuda": "zanuda.png", "molecular_replacement_96": "molecular_replacement_96.png", "list_add_red": "list_add_red.png", "simple_xia2_96": "simple_xia2_96.png", "expt_phasing_96": "expt_phasing_96.png", "Annotation": "Annotation.png", "PrepareDeposit": "PrepareDeposit.png", "greendot": "greendot.png", "download": "download.png", "import_arrow": "import_arrow.png", "PhaserRFileDataFile": "PhaserRFileDataFile.png", "backgroundJobTitle": "backgroundJobTitle.png", "molrep_den": "molrep_den.png", "zoom": "zoom.png", "data_reduction_96": "data_reduction_96.png", "cpatterson": "cpatterson.png", "density_modification_96": "density_modification_96.png", "ResidueRange": "ResidueRange.png", "shelxeMR_96": "shelxeMR_96.png", "validation": "validation.png", "pointless_reindexToMatch_96": "pointless_reindexToMatch_96.png", "taskmenu": "taskmenu.png", "redarrowrightshadow": "redarrowrightshadow.png", "pairef": "pairef.png", "shelxeMR": "shelxeMR.png", "buccaneer_build_refine_mr": "buccaneer_build_refine_mr.png", "MTZDataFile": "MTZDataFile.png", "coot_rsr_morph": "coot_rsr_morph.png", "expt_phasing": "expt_phasing.png", "LidiaAcedrgNew": "LidiaAcedrgNew.png", "FreeRDataFile": "FreeRDataFile.png", "refln_data_analysis_96": "refln_data_analysis_96.png", "coot_find_waters_96": "coot_find_waters_96.png", "cphasematch_96": "cphasematch_96.png", "parrot_96": "parrot_96.png", "molrep_pipe_96": "molrep_pipe_96.png", "MapCoeffsDataFile": "MapCoeffsDataFile.png", "buccaneer_build_refine_EP": "buccaneer_build_refine_EP.png", "coot_rebuild": "coot_rebuild.png", "import_arrow_new": "import_arrow_new.png", "ProvideAlignment": "ProvideAlignment.png", "model_data_utility": "model_data_utility.png", "ccp4mg_edit_model": "ccp4mg_edit_model.png", "mergeMtz_96": "mergeMtz_96.png", "cmapcoeff": "cmapcoeff.png", "new_project_96": "new_project_96.png", "aimless_pipe_96": "aimless_pipe_96.png", "xia2_multiplex": "xia2_multiplex.png"} \ No newline at end of file +{"parrot": "parrot.png", "list_delete_grey": "list_delete_grey.png", "LidiaAcedrgNew": "LidiaAcedrgNew.png", "pdbview_edit": "pdbview_edit.png", "mrparse_96": "mrparse_96.png", "dui": "dui.png", "phaser_simple": "phaser_simple.png", "xia2_ssx_reduce": "xia2_ssx_reduce.png", "MakeProjectsAndDoLigandPipeline_96": "MakeProjectsAndDoLigandPipeline_96.png", "help_96": "help_96.png", "undo_96": "undo_96.png", "fileopen": "fileopen.png", "showi2run": "showi2run.png", "rosette": "rosette.png", "ProvideAlignment_96": "ProvideAlignment_96.png", "buccaneer_build_refine_mr_96": "buccaneer_build_refine_mr_96.png", "imosflm_96": "imosflm_96.png", "phaser_EP": "phaser_EP.png", "coordinate_selector": "coordinate_selector.png", "data_reduction_96": "data_reduction_96.png", "AsuDataFile_96": "AsuDataFile_96.png", "gears2": "gears2.png", "export_arrow_new": "export_arrow_new.png", "nautilus": "nautilus.png", "new_project_96": "new_project_96.png", "greenarrowsupshadow": "greenarrowsupshadow.png", "slicendice_96": "slicendice_96.png", "model_building": "model_building.png", "coot_find_waters_96": "coot_find_waters_96.png", "ProvideAsuContents_96": "ProvideAsuContents_96.png", "mergeMtz_96": "mergeMtz_96.png", "splitMtz_96": "splitMtz_96.png", "gears": "gears.png", "MakeMonster": "MakeMonster.png", "fileopen_96": "fileopen_96.png", "buccaneer_build_refine_EP_96": "buccaneer_build_refine_EP_96.png", "ShowList": "ShowList.png", "MakeMonster_96": "MakeMonster_96.png", "book": "book.png", "coot1": "coot1.png", "taskmenu_96": "taskmenu_96.png", "ProvideTLS": "ProvideTLS.png", "density_modification": "density_modification.png", "phaser_EP_AUTO_96": "phaser_EP_AUTO_96.png", "FreeRDataFile": "FreeRDataFile.png", "SIMBAD": "SIMBAD.png", "pdb_redo_api": "pdb_redo_api.png", "download": "download.png", "file_info": "file_info.png", "shelxeMR": "shelxeMR.png", "phaser_ensembler_96": "phaser_ensembler_96.png", "new_project": "new_project.png", "ccp4mg_edit_nomrbump_96": "ccp4mg_edit_nomrbump_96.png", "morda_i2_96": "morda_i2_96.png", "i2Dimple": "i2Dimple.png", "UnmergedDataFile": "UnmergedDataFile.png", "ccp4mg_edit_nomrbump": "ccp4mg_edit_nomrbump.png", "xia2_ssx_reduce_96": "xia2_ssx_reduce_96.png", "shelx": "shelx.png", "help-highlight_96": "help-highlight_96.png", "scaleit": "scaleit.png", "dustbin": "dustbin.png", "simple_xia2_96": "simple_xia2_96.png", "MapCoeffsDataFile": "MapCoeffsDataFile.png", "MiniMtzDataFile": "MiniMtzDataFile.png", "privateer_96": "privateer_96.png", "AMPLE_96": "AMPLE_96.png", "pairef_96": "pairef_96.png", "sad": "sad.png", "tableone_96": "tableone_96.png", "zoom": "zoom.png", "dui_96": "dui_96.png", "validation_96": "validation_96.png", "MTZDataFile": "MTZDataFile.png", "developer_tools_96": "developer_tools_96.png", "phaser_EP_LLG": "phaser_EP_LLG.png", "import_merged": "import_merged.png", "MapDataFile": "MapDataFile.png", "ShelxCE_96": "ShelxCE_96.png", "expt_phasing": "expt_phasing.png", "sculptor_96": "sculptor_96.png", "buster_96": "buster_96.png", "mergeMtz": "mergeMtz.png", "matthews": "matthews.png", "ccp4mg_edit_model_96": "ccp4mg_edit_model_96.png", "imosflm": "imosflm.png", "file_96": "file_96.png", "question": "question.png", "up": "up.png", "import_arrow": "import_arrow.png", "coordinate_selector_96": "coordinate_selector_96.png", "toc-plus": "toc-plus.png", "molecular_replacement": "molecular_replacement.png", "chltofom": "chltofom.png", "PhsDataFile": "PhsDataFile.png", "cmapcoeff": "cmapcoeff.png", "blank": "blank.png", "greendot": "greendot.png", "molrep_selfrot": "molrep_selfrot.png", "xia2_multiplex": "xia2_multiplex.png", "help-no-highlight": "help-no-highlight.png", "bullet_arrow_down": "bullet_arrow_down.png", "pisapipe_96": "pisapipe_96.png", "model_building_96": "model_building_96.png", "showlogfile": "showlogfile.png", "dials_image": "dials_image.png", "file": "file.png", "ShelxCECompareHands_96": "ShelxCECompareHands_96.png", "SceneDataFile": "SceneDataFile.png", "servalcat_pipe": "servalcat_pipe.png", "database": "database.png", "chainsaw": "chainsaw.png", "ctruncate": "ctruncate.png", "DictDataFile": "DictDataFile.png", "MDLMolDataFile": "MDLMolDataFile.png", "ProvideSequence_96": "ProvideSequence_96.png", "coot1_96": "coot1_96.png", "chainsaw_96": "chainsaw_96.png", "freerflag_96": "freerflag_96.png", "shelxeMR_96": "shelxeMR_96.png", "down": "down.png", "export": "export.png", "adding_stats_to_mmcif_i2_96": "adding_stats_to_mmcif_i2_96.png", "tab-close": "tab-close.png", "PrepareDeposit_96": "PrepareDeposit_96.png", "refinement_96": "refinement_96.png", "tableone": "tableone.png", "phaser_rnp_pipeline": "phaser_rnp_pipeline.png", "ObsDataFile": "ObsDataFile.png", "import_arrow_new": "import_arrow_new.png", "PhaserRFileDataFile": "PhaserRFileDataFile.png", "clone_96": "clone_96.png", "bullet_arrow_right": "bullet_arrow_right.png", "greenarrowsup": "greenarrowsup.png", "refln_data_analysis_96": "refln_data_analysis_96.png", "file_manager": "file_manager.png", "zanuda": "zanuda.png", "acorn_96": "acorn_96.png", "convert2mtz_96": "convert2mtz_96.png", "buccaneer_build_refine_mr": "buccaneer_build_refine_mr.png", "SubstituteLigand": "SubstituteLigand.png", "ProvideAsuContents": "ProvideAsuContents.png", "ccp4_96": "ccp4_96.png", "ShelxCECompareHands": "ShelxCECompareHands.png", "qtpisa_96": "qtpisa_96.png", "thought": "thought.png", "undone": "undone.png", "expt_data_utility": "expt_data_utility.png", "error_star": "error_star.png", "splitMtz": "splitMtz.png", "coot_rsr_morph": "coot_rsr_morph.png", "SyncToDjango": "SyncToDjango.png", "density_calculator": "density_calculator.png", "import_mosflm_96": "import_mosflm_96.png", "data_entry": "data_entry.png", "AMPLE": "AMPLE.png", "aimless": "aimless.png", "lorestr_i2": "lorestr_i2.png", "privateer": "privateer.png", "ccp4i2": "ccp4i2.png", "phaser_MR_AUTO_96": "phaser_MR_AUTO_96.png", "List": "List.png", "import_xia2": "import_xia2.png", "model_data_utility_96": "model_data_utility_96.png", "arcimboldo": "arcimboldo.png", "dials_rlattice": "dials_rlattice.png", "phaser_singleMR": "phaser_singleMR.png", "ccp4mg_general": "ccp4mg_general.png", "List_grey": "List_grey.png", "search": "search.png", "clone": "clone.png", "LidiaAcedrgNew_96": "LidiaAcedrgNew_96.png", "cell": "cell.png", "molrep_den_96": "molrep_den_96.png", "Annotation": "Annotation.png", "mrparse": "mrparse.png", "aimless_96": "aimless_96.png", "listLine": "listLine.png", "ProvideTLS_96": "ProvideTLS_96.png", "project": "project.png", "coot_find_waters": "coot_find_waters.png", "phaser_singleMR_96": "phaser_singleMR_96.png", "edstats": "edstats.png", "edstats_96": "edstats_96.png", "prosmart_refmac_96": "prosmart_refmac_96.png", "list_delete": "list_delete.png", "toc-minus": "toc-minus.png", "qtpisa": "qtpisa.png", "expt_data_utility_96": "expt_data_utility_96.png", "modelcraft": "modelcraft.png", "arp_warp_classic": "arp_warp_classic.png", "adding_stats_to_mmcif_i2": "adding_stats_to_mmcif_i2.png", "import_processed_96": "import_processed_96.png", "importRefnData": "importRefnData.png", "Mol2DataFile": "Mol2DataFile.png", "refinement": "refinement.png", "arcimboldo_96": "arcimboldo_96.png", "help": "help.png", "forward": "forward.png", "simple_xia2": "simple_xia2.png", "export_arrow_new_96": "export_arrow_new_96.png", "matthews_96": "matthews_96.png", "Mol2DataFile_96": "Mol2DataFile_96.png", "book_96": "book_96.png", "biblio_96": "biblio_96.png", "molrep_selfrot_96": "molrep_selfrot_96.png", "down_96": "down_96.png", "phaser_EP_AUTO": "phaser_EP_AUTO.png", "prosmart_refmac": "prosmart_refmac.png", "cpatterson": "cpatterson.png", "sculptor": "sculptor.png", "freerflag": "freerflag.png", "pause": "pause.png", "nautilus_build_refine": "nautilus_build_refine.png", "pointless_reindexToMatch_96": "pointless_reindexToMatch_96.png", "MakeLink": "MakeLink.png", "zanuda_96": "zanuda_96.png", "ShelxCD_96": "ShelxCD_96.png", "phaser_simple_96": "phaser_simple_96.png", "bioinformatics": "bioinformatics.png", "molrep_pipe": "molrep_pipe.png", "taskmenu": "taskmenu.png", "import_arrow_new_96": "import_arrow_new_96.png", "AlternativeImportXIA2_96": "AlternativeImportXIA2_96.png", "coot_script_lines": "coot_script_lines.png", "cphasematch": "cphasematch.png", "AlternativeImportXIA2": "AlternativeImportXIA2.png", "buster": "buster.png", "list_delete_red": "list_delete_red.png", "PrepareDeposit": "PrepareDeposit.png", "DataFile": "DataFile.png", "LidiaAcedrg_96": "LidiaAcedrg_96.png", "help-no-highlight_96": "help-no-highlight_96.png", "gesamt_96": "gesamt_96.png", "phaser_ensembler": "phaser_ensembler.png", "import_xia2_96": "import_xia2_96.png", "convert2mtz": "convert2mtz.png", "MakeProjectsAndDoLigandPipeline": "MakeProjectsAndDoLigandPipeline.png", "mrbump_basic": "mrbump_basic.png", "MDLMolDataFile_96": "MDLMolDataFile_96.png", "dials_rlattice_96": "dials_rlattice_96.png", "LidiaAcedrg": "LidiaAcedrg.png", "undo": "undo.png", "SyncToDjango_96": "SyncToDjango_96.png", "crank2_96": "crank2_96.png", "morda_i2": "morda_i2.png", "PhaserSolDataFile": "PhaserSolDataFile.png", "editbfac": "editbfac.png", "ShelxCE": "ShelxCE.png", "back_96": "back_96.png", "RefmacKeywordFile": "RefmacKeywordFile.png", "list_add": "list_add.png", "add_fractional_coords": "add_fractional_coords.png", "molecular_replacement_96": "molecular_replacement_96.png", "import_merged_96": "import_merged_96.png", "cmapcoeff_96": "cmapcoeff_96.png", "molrep_den": "molrep_den.png", "shelx_96": "shelx_96.png", "ShelxCD": "ShelxCD.png", "ccp4mg_general_96": "ccp4mg_general_96.png", "green-tick": "green-tick.png", "findmyseq": "findmyseq.png", "density_modification_96": "density_modification_96.png", "export_96": "export_96.png", "unsatisfactory": "unsatisfactory.png", "phaser_pipeline": "phaser_pipeline.png", "fragon_96": "fragon_96.png", "AsuDataFile": "AsuDataFile.png", "data_processing_96": "data_processing_96.png", "biblio": "biblio.png", "redarrowrightshadow": "redarrowrightshadow.png", "gesamt": "gesamt.png", "findmyseq_96": "findmyseq_96.png", "download_96": "download_96.png", "servalcat_pipe_96": "servalcat_pipe_96.png", "phaser_pipeline_96": "phaser_pipeline_96.png", "list_add_grey": "list_add_grey.png", "lorestr_i2_96": "lorestr_i2_96.png", "import_processed": "import_processed.png", "ProvideSequence": "ProvideSequence.png", "import_mosflm": "import_mosflm.png", "validation": "validation.png", "ccp4mg_edit_model": "ccp4mg_edit_model.png", "file_manager2": "file_manager2.png", "youtube": "youtube.png", "aimless_pipe_96": "aimless_pipe_96.png", "importRefnData_96": "importRefnData_96.png", "SeqAlignDataFile": "SeqAlignDataFile.png", "coot_script_lines_96": "coot_script_lines_96.png", "molrep_pipe_96": "molrep_pipe_96.png", "SIMBAD_96": "SIMBAD_96.png", "xia2_dials_96": "xia2_dials_96.png", "phaser_EP_LLG_96": "phaser_EP_LLG_96.png", "SeqDataFile": "SeqDataFile.png", "redarrowright": "redarrowright.png", "running": "running.png", "view_forward": "view_forward.png", "pairef": "pairef.png", "xia2_xds_96": "xia2_xds_96.png", "job": "job.png", "MTZDataFile_96": "MTZDataFile_96.png", "validate_protein": "validate_protein.png", "acorn": "acorn.png", "pdbview_edit_96": "pdbview_edit_96.png", "alpha_fold": "alpha_fold.png", "aimless_pipe": "aimless_pipe.png", "job_interrupted": "job_interrupted.png", "data_processing": "data_processing.png", "ctruncate_96": "ctruncate_96.png", "zoom_96": "zoom_96.png", "coot_rebuild_96": "coot_rebuild_96.png", "pisapipe": "pisapipe.png", "phaser_MR_AUTO": "phaser_MR_AUTO.png", "model_data_utility": "model_data_utility.png", "clustalw_96": "clustalw_96.png", "pointless_reindexToMatch": "pointless_reindexToMatch.png", "xia2_xds": "xia2_xds.png", "TestObsConversions": "TestObsConversions.png", "list_add_red": "list_add_red.png", "data_reduction": "data_reduction.png", "view_forward_96": "view_forward_96.png", "fragon": "fragon.png", "running_dark": "running_dark.png", "showlogfile_96": "showlogfile_96.png", "xia2_dials": "xia2_dials.png", "newtab_96": "newtab_96.png", "tab-close-highlight": "tab-close-highlight.png", "phaser_rnp_pipeline_96": "phaser_rnp_pipeline_96.png", "expt_phasing_96": "expt_phasing_96.png", "cphasematch_96": "cphasematch_96.png", "ResidueRange": "ResidueRange.png", "slicendice": "slicendice.png", "CootHistoryDataFile": "CootHistoryDataFile.png", "TestObsConversions_96": "TestObsConversions_96.png", "coot_rebuild": "coot_rebuild.png", "i2Dimple_96": "i2Dimple_96.png", "validate_protein_96": "validate_protein_96.png", "search-plus": "search-plus.png", "back": "back.png", "data_entry_96": "data_entry_96.png", "editbfac_96": "editbfac_96.png", "dials_image_96": "dials_image_96.png", "crank2": "crank2.png", "red-cross": "red-cross.png", "xia2_multiplex_96": "xia2_multiplex_96.png", "MakeLink_96": "MakeLink_96.png", "csymmatch": "csymmatch.png", "backgroundJobTitle": "backgroundJobTitle.png", "EnsemblePdbDataFile": "EnsemblePdbDataFile.png", "ligands_96": "ligands_96.png", "bioinformatics_96": "bioinformatics_96.png", "newtab": "newtab.png", "developer_tools": "developer_tools.png", "parrot_96": "parrot_96.png", "reload_96": "reload_96.png", "chltofom_96": "chltofom_96.png", "ccp4": "ccp4.png", "refln_data_analysis": "refln_data_analysis.png", "ligands": "ligands.png", "forward_96": "forward_96.png", "buccaneer_build_refine_EP": "buccaneer_build_refine_EP.png", "reload": "reload.png", "help-highlight": "help-highlight.png", "clustalw": "clustalw.png", "SubstituteLigand_96": "SubstituteLigand_96.png", "PdbDataFile": "PdbDataFile.png", "up_96": "up_96.png", "AUSPEX": "AUSPEX.png", "ProvideAlignment": "ProvideAlignment.png", "csymmatch_96": "csymmatch_96.png"} \ No newline at end of file diff --git a/test/i2run/test_areaimol.py b/test/i2run/test_areaimol.py new file mode 100644 index 000000000..0c5dc9ed6 --- /dev/null +++ b/test/i2run/test_areaimol.py @@ -0,0 +1,30 @@ +from .urls import rcsb_pdb +from .utils import download, i2run +import gemmi + +def test_from_pdb_rcsb(): + with download(rcsb_pdb("5a3h")) as pdb_5a3h: + args = ["areaimol"] + args += ["--XYZIN", pdb_5a3h] + args += ["--OUTPUT_MODE", "ATOM"] + with i2run(args) as job: + mtz = gemmi.read_structure(str(job / "XYZOUT.pdb")) + +def test_imol_from_pdb_rcsb(): + with download(rcsb_pdb("5a3h")) as pdb_5a3h: + args = ["areaimol"] + args += ["--XYZIN", pdb_5a3h] + args += ["--DIFFMODE", "IMOL"] + args += ["--OUTPUT_MODE", "ATOM"] + with i2run(args) as job: + mtz = gemmi.read_structure(str(job / "XYZOUT.pdb")) + +def test_compare_from_pdb_rcsb(): + with download(rcsb_pdb("5a3h")) as pdb_5a3h, download(rcsb_pdb("8a3h")) as pdb_8a3h: + args = ["areaimol"] + args += ["--XYZIN", pdb_5a3h] + args += ["--XYZIN2", pdb_8a3h] + args += ["--DIFFMODE", "COMPARE"] + args += ["--OUTPUT_MODE", "ATOM"] + with i2run(args) as job: + mtz = gemmi.read_structure(str(job / "XYZOUT.pdb")) diff --git a/wrappers/areaimol/__init__.py b/wrappers/areaimol/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/wrappers/areaimol/script/CTaskareaimol.py b/wrappers/areaimol/script/CTaskareaimol.py new file mode 100644 index 000000000..cb823a89d --- /dev/null +++ b/wrappers/areaimol/script/CTaskareaimol.py @@ -0,0 +1,46 @@ +from PySide2 import QtGui, QtWidgets,QtCore +from qtgui import CCP4TaskWidget +from qtgui import CCP4Widgets + +class CTaskAreaimolUI(CCP4TaskWidget.CTaskWidget): + +# Subclass CTaskWidget to give specific task window + TASKNAME = 'areaimol' + TASKVERSION = 0.0 + TASKMODULE='model_data_utility' + TASKTITLE='Solvent accessible surface - Areaimol' + SHORTTASKTITLE='AREAIMOL' + WHATNEXT = [] + PROGRAMHELP = 'areaimol' + DESCRIPTION='Solvent accessible surface calculation the areaimol program' + + def updateXYZ2(self): + if self.container.controlParameters.DIFFMODE.isSet(): + if str(self.container.controlParameters.DIFFMODE) != "COMPARE": + self.container.inputData.XYZIN2.unSet() + + def drawContents(self): + + self.setProgramHelpFile('areaimol') + + folder = self.openFolder(folderFunction='inputData',title='Input Data',followFrom=False) + + self.createLine(['subtitle','Input']) + self.openSubFrame( frame=[True]) + + self.createLine( [ 'subtitle', 'Input Structure' ] ) + self.createLine( ['tip', 'This is the structure which the area will be calculated.', 'widget', 'XYZIN'] ) + self.createLine( ['tip', 'This keyword controls the program function, the data required, and how it is processed and analysed', 'widget', 'DIFFMODE'] ) + self.createLine( ['label', 'The symmetry of the molecule, e.g. P212121', 'widget', 'SYMMETRY'] , toggle=[ 'DIFFMODE', 'open' , ['IMOL'] ] ) + self.createLine( [ 'subtitle', 'Second structure to compare with' ] , toggle=[ 'DIFFMODE', 'open' , ['COMPARE'] ]) + self.createLine( ['tip', 'A second set of input coordinates, and is only used in DIFFMODE COMPARE.', 'widget', 'XYZIN2'] , toggle=[ 'DIFFMODE', 'open' , ['COMPARE'] ] ) + self.createLine( ['label', 'Output mode', 'widget', 'OUTPUT_MODE'], toggle=[ 'DIFFMODE', 'open' , ['OFF'] ] ) + self.createLine( ['label', 'Output mode', 'widget', 'OUTPUT_MODE_COMPARE'], toggle=[ 'DIFFMODE', 'open' , ['COMPARE','IMOL'] ] ) + self.createLine( ['label', 'Residue names to exclude (space separated)', 'widget', 'EXCLUDE'] ) + self.closeSubFrame() + + self.connectDataChanged('DIFFMODE', self.updateXYZ2) + + #self.createLine( [ 'subtitle', 'Keywords' ] ) + #self.createLine( ['tip', 'Script'] ) + #self.createLine( ['widget', '-guiMode','multiLine', 'EXTRA_AREAIMOL_KEYWORDS'] ) diff --git a/wrappers/areaimol/script/__init__.py b/wrappers/areaimol/script/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/wrappers/areaimol/script/areaimol.def.xml b/wrappers/areaimol/script/areaimol.def.xml new file mode 100644 index 000000000..52931a41c --- /dev/null +++ b/wrappers/areaimol/script/areaimol.def.xml @@ -0,0 +1,98 @@ + + + + DEF + + stuart + 10:06 29/Jan/26 + + 0.0.1 + + areaimol + Solvent accessible surface - Areaimol + + + + + + CPdbDataFile + + True + False + False + True + + + + CPdbDataFile + + True + True + False + True + + + + + + CString + + + Space separate list of residue names to exclude + + + + CString + + OFF + OFF,IMOL,COMPARE + Off (normal calculation),Intemolecular contact differences,Compare 2 structures + Differences mode + True + + + + CString + + ATOM + ATOM,RESIDUE,GXGRATIO + Area per atom,Area per residue,GXGRATIO (effectively normalised) + Output mode + True + + + + CString + + ATOM + ATOM,RESIDUE + Area per atom,Area per residue + Output mode + True + + + + CString + + END + + + + + CString + + True + + + + + + CPdbDataFile + + True + False + + + + + diff --git a/wrappers/areaimol/script/areaimol.medline.txt b/wrappers/areaimol/script/areaimol.medline.txt new file mode 100644 index 000000000..b04b5e54d --- /dev/null +++ b/wrappers/areaimol/script/areaimol.medline.txt @@ -0,0 +1,3 @@ +AU - P. Brick +AU - P. Briggs +AU - I. Tickle diff --git a/wrappers/areaimol/script/areaimol.py b/wrappers/areaimol/script/areaimol.py new file mode 100644 index 000000000..686da102c --- /dev/null +++ b/wrappers/areaimol/script/areaimol.py @@ -0,0 +1,146 @@ +import os +import tempfile +import pathlib + +import gemmi +from smartie import smartie + +from core.CCP4PluginScript import CPluginScript +from core import CCP4Utils + +class areaimol(CPluginScript): + + TASKTITLE='Solvent accessible surface - Areaimol' + TASKNAME = 'areaimol' + TASKMODULE= 'model_data_utility' + TASKCOMMAND = 'areaimol' + TASKVERSION= 0.0 + COMLINETEMPLATE = None + COMTEMPLATE = None + + def makeCommandAndScript(self): + + inp = self.container.inputData + out = self.container.outputData + + if inp.XYZIN.fullPath.isSet(): + xyzin_target_file = str( inp.XYZIN.fullPath ) + self.appendCommandLine( [ "XYZIN",xyzin_target_file ] ) + + if str(self.container.controlParameters.DIFFMODE) == "COMPARE" and inp.XYZIN2.fullPath.isSet(): + xyzin2_target_file = str( inp.XYZIN2.fullPath ) + self.appendCommandLine( [ "XYZIN2",xyzin2_target_file ] ) + + if out.XYZOUT.fullPath.isSet(): + xyzout_target_file = str( out.XYZOUT.fullPath ) + self.appendCommandLine( [ "XYZOUT",xyzout_target_file ] ) + + s = "" + if self.container.controlParameters.EXTRA_AREAIMOL_KEYWORDS.isSet(): + for kwLine in str(self.container.controlParameters.EXTRA_AREAIMOL_KEYWORDS).split('\n'): + kw = kwLine.lstrip().rstrip() + if len(kw)>0: + if str(kw)[0] != '#': + if kw == "END": + break + s += kw + "\n" + + print("Keyword script:",kw) + + self.appendCommandScript( s+"\nDIFFMODE " + str(self.container.controlParameters.DIFFMODE) + "\n" ) + if str(self.container.controlParameters.DIFFMODE) == "COMPARE" and inp.XYZIN2.fullPath.isSet(): + self.appendCommandScript( s+"\nMATCHUP NOCOORDS\n" ) + if str(self.container.controlParameters.DIFFMODE) == "IMOL" and str(self.container.controlParameters.SYMMETRY) != "": + self.appendCommandScript( s+"\nMODE NOHOH\n") + self.appendCommandScript( s+"\nSYMMETRY 1\n") + self.appendCommandScript( s+"\nSYMMETRY " + str(self.container.controlParameters.SYMMETRY) + "\n" ) + self.appendCommandScript( s+"\nTRANS 2\n") + + if str(self.container.controlParameters.DIFFMODE) == "OFF": + self.appendCommandScript( s+"\nOUTPUT "+str(self.container.controlParameters.OUTPUT_MODE)+"\n" ) + else: + self.appendCommandScript( s+"\nOUTPUT "+str(self.container.controlParameters.OUTPUT_MODE_COMPARE)+"\n" ) + + if self.container.controlParameters.EXCLUDE.isSet() and str(self.container.controlParameters.EXCLUDE) != "": + self.appendCommandScript( s+"EXCLUDE "+str(self.container.controlParameters.EXCLUDE)+"\n" ) + + self.appendCommandScript( s+"\nEND\n" ) + + return CPluginScript.SUCCEEDED + + def processOutputFiles(self): + from lxml import etree + import sys + import base64 + with open(self.makeFileName("PROGRAMXML"),"w") as programXMLFile: + xmlStructure = etree.Element("areaimol") + logText = etree.SubElement(xmlStructure,"LogText") + with open(self.makeFileName("LOG"),"rb") as logFile: + logText.text = base64.b64encode(logFile.read()) + try: + smartie_text = "" + smartie_logfile = smartie.parselog(self.makeFileName("LOG")) + smartieText = etree.SubElement(xmlStructure,"SummaryText") + for i in range(2,smartie_logfile.nsummaries()-1): + summary = smartie_logfile.summary(i).retrieve().split("\n") + smartie_text += ("\n".join(summary[1:-2])) + "\n" + smartieText.text = base64.b64encode(bytes(smartie_text,"utf-8")) + except: + print("Failed to extract summaries with smartie") + sys.stderr.write("Failed to extract summaries with smartie") + exc_type, exc_value,exc_tb = sys.exc_info()[:3] + sys.stderr.write(str(exc_type)+'\n') + sys.stderr.write(str(exc_value)+'\n') + print(str(exc_type)+'\n') + print(str(exc_value)+'\n') + + try: + serNo = 1 + sasValues = etree.SubElement(xmlStructure,"SASValues") + st = gemmi.read_structure(str(self.container.outputData.XYZOUT.fullPath)) + for model in st: + for chain in model: + for residue in chain: + for atom in residue: + sas = etree.SubElement(sasValues,"SAS") + sas_area = etree.SubElement(sas,"area") + sas_name = etree.SubElement(sas,"name") + sas_chain = etree.SubElement(sas,"chain") + sas_resname = etree.SubElement(sas,"resname") + sas_seqNum = etree.SubElement(sas,"seqNum") + sas_insCode = etree.SubElement(sas,"insCode") + sas_serNo = etree.SubElement(sas,"serNo") + sas_area.text = '{0:.2f}'.format(atom.b_iso) + sas_name.text = atom.name + sas_chain.text = chain.name + sas_resname.text = residue.name + sas_seqNum.text = str(residue.seqid.num) + sas_insCode.text = residue.seqid.icode + sas_serNo.text = str(serNo) + serNo += 1 + except: + print("Failed to write area values to program.xml") + sys.stderr.write("Failed to write area values to program.xml") + exc_type, exc_value,exc_tb = sys.exc_info()[:3] + sys.stderr.write(str(exc_type)+'\n') + sys.stderr.write(str(exc_value)+'\n') + print(str(exc_type)+'\n') + print(str(exc_value)+'\n') + + CCP4Utils.writeXML(programXMLFile,etree.tostring(xmlStructure)) + + if str(self.container.controlParameters.DIFFMODE) == "OFF": + if self.container.controlParameters.OUTPUT_MODE == "ATOM": + self.container.outputData.XYZOUT.annotation = "Coordinates with atom surface area in 'B-factor' column" + elif self.container.controlParameters.OUTPUT_MODE == "RESIDUE": + self.container.outputData.XYZOUT.annotation = "Coordinates with residue surface area in 'B-factor' column" + else: + self.container.outputData.XYZOUT.annotation = "Coordinates with GXGRATIO surface area in 'B-factor' column" + else: + if self.container.controlParameters.OUTPUT_MODE_COMPARE == "ATOM": + self.container.outputData.XYZOUT.annotation = "Coordinates with atom surface area in 'B-factor' column" + else: + self.container.outputData.XYZOUT.annotation = "Coordinates with residue surface area in 'B-factor' column" + + return CPluginScript.SUCCEEDED + diff --git a/wrappers/areaimol/script/areaimol_report.py b/wrappers/areaimol/script/areaimol_report.py new file mode 100644 index 000000000..238d8462a --- /dev/null +++ b/wrappers/areaimol/script/areaimol_report.py @@ -0,0 +1,59 @@ +from report.CCP4ReportParser import * +import sys +import base64 + +class areaimol_report(Report): + # Specify which gui task and/or pluginscript this applies to + TASKNAME = 'areaimol' + RUNNING = False + + def addGraph(self,parent,xmlnode,internalId="SummaryGraph",tag="SAS"): + if len(xmlnode.findall(tag))>0: + progressGraph = parent.addFlotGraph(xmlnode=xmlnode, title="SAS by atom",select=tag,style="height:250px; width:400px;float:left;border:0px;",outputXml=False,internalId=internalId) + progressGraph.addData(title="Atom", select="serNo") + progressGraph.addData(title="Area", select="area") + plot = progressGraph.addPlotObject() + plot.append('title','SAS by atom') + plot.append('plottype','xy') + plotLine = plot.append('plotline',xcol=1,ycol=2) + plotLine.append('colour','blue') + plotLine.append('symbolsize','0') + + def __init__(self, xmlnode=None, jobInfo={}, jobStatus=None, **kw): + Report.__init__( + self, xmlnode=xmlnode, jobInfo=jobInfo, jobStatus=jobStatus, **kw + ) + self.addDiv(style="clear:both;") + if jobStatus in ["Running", "Running remotely"]: + self.append("

The job is currently running.

") + + if jobStatus not in ["Running", "Running remotely"]: + try: + summaryText = "" + if len(self.xmlnode.findall(".//SummaryText"))>0: + xmlPath = './/SummaryText' + xmlNodes = self.xmlnode.findall(xmlPath) + for node in xmlNodes: + summaryText += base64.b64decode(node.text).decode() + if summaryText: + fold = self.addFold(label="Summary", initiallyOpen=True) + fold.addPre(text=summaryText) + except: + pass + + breakDiv = self.addDiv(style="clear:both;") + breakDiv.append('
') + fold = self.addFold(label="SAS by atom", initiallyOpen=True) + graphDiv = fold.addDiv(style='width:800px; height:270px;overflow:auto;') + reportNode = self.xmlnode.findall('.//SASValues')[0] + self.addGraph(graphDiv,reportNode,internalId="SummaryGraph",tag="SAS") + + if jobStatus in ['Unknown','Interrupted','Failed','Unsatisfactory']: + breakDiv = self.addDiv(style="clear:both;") + breakDiv.append('
') + fold = self.addFold(label="Areaimol log file") + if len(self.xmlnode.findall(".//LogText"))>0: + xmlPath = './/LogText' + xmlNodes = self.xmlnode.findall(xmlPath) + for node in xmlNodes: + fold.addPre(text=base64.b64decode(node.text).decode())