コード例 #1
0
    def __init__(self, *args, **kwargs):  # pylint: disable=unused-argument
        self._raiseExceptions = kwargs.get("raiseExceptions", False)
        self._siteId = kwargs.get("siteId", getSiteId())
        self._serverId = kwargs.get("serverId", None)

        self.__cI = ConfigInfo(siteId=getSiteId())
        #
        cD = self.__cI.get(self._serverId, {})
        self._hostName = cD.get("HOST_NAME", None)
        self._userName = cD.get("HOST_USERNAME", None)
        self._password = cD.get("HOST_PASSWORD", None)
        self._hostPort = int(cD.get("HOST_PORT", 22))
        self._protocol = cD.get("HOST_PROTOCOL", None)
        self._rootPath = cD.get("HOST_ROOT_PATH", None)
        self._keyFilePath = cD.get("HOST_KEY_FILE_PATH", None)
        self._keyFileType = cD.get("HOST_KEY_FILE_TYPE", None)
コード例 #2
0
    def __init__(self, log=sys.stderr, verbose=False):
        """ """
        self.__lfh = log
        self.__verbose = verbose
        self.__debug = True
        self.__siteId = getSiteId()
        cI = ConfigInfo()
        cIcommon = ConfigInfoAppCommon(self.__siteId)
        self.__schemaPath = cIcommon.get_site_da_internal_schema_path()
        self.__dbHost = cI.get("SITE_DB_HOST_NAME")
        self.__dbUser = cI.get("SITE_DB_USER_NAME")
        self.__dbPw = cI.get("SITE_DB_PASSWORD")
        self.__dbPort = str(cI.get("SITE_DB_PORT_NUMBER"))
        self.__dbSocket = cI.get("SITE_DB_SOCKET")
        self.__archivePath = cI.get("SITE_ARCHIVE_STORAGE_PATH")

        self.__dbName = "da_internal"
        self.__workPath = os.path.join(self.__archivePath, "archive")
        self.__mysql = "mysql "
        self.__dbLoader = cIcommon.get_db_loader_path()

        self.__mapping = self.__schemaPath

        self.__workDir = "dbdata"
        self._dbCon = None
コード例 #3
0
    def setUp(self):
        #
        self.__verbose = True
        self.__siteId = getSiteId(defaultSiteId=None)

        self.__startTime = time.time()
        logger.debug("Starting %s at %s" % (self.id(), time.strftime("%Y %m %d %H:%M:%S", time.localtime())))
コード例 #4
0
    def __setup(self, defSiteId=None, sessionId=None):
        """Simulate the web application environment for managing session storage of  temporaty data files."""
        self.__siteId = getSiteId(defaultSiteId=defSiteId)
        #
        self.__cI = ConfigInfo(self.__siteId)
        self.__topPath = self.__cI.get("SITE_WEB_APPS_TOP_PATH")
        self.__topSessionPath = self.__cI.get(
            "SITE_WEB_APPS_TOP_SESSIONS_PATH")
        #
        self.__reqObj = InputRequest({},
                                     verbose=self.__verbose,
                                     log=self.__lfh)
        self.__reqObj.setValue("TopSessionPath", self.__topSessionPath)
        self.__reqObj.setValue("TopPath", self.__topPath)
        self.__reqObj.setValue("WWPDB_SITE_ID", self.__siteId)
        #
        self.__reqObj.setValue("SITE_DA_INTERNAL_DB_USER",
                               os.environ["SITE_DA_INTERNAL_DB_USER"])
        self.__reqObj.setValue("SITE_DA_INTERNAL_DB_PASSWORD",
                               os.environ["SITE_DA_INTERNAL_DB_PASSWORD"])

        os.environ["WWPDB_SITE_ID"] = self.__siteId
        if sessionId is not None:
            self.__reqObj.setValue("sessionid", sessionId)

        # retained due to side effects
        _sessionObj = self.__reqObj.newSessionObj()  # noqa: F841
        self.__reqObj.printIt(ofh=self.__lfh)
コード例 #5
0
 def __init__(self):
     self.__site_id = getSiteId()
     self.__cI = ConfigInfo(siteId=self.__site_id)
     self.__packagePath = self.__cI.get('SITE_PACKAGES_PATH')
     self.node_path = os.path.join(self.__packagePath, 'node', 'bin',
                                   'node')
     self.volume_server_pack = self.__cI.get('VOLUME_SERVER_PACK')
     self.volume_server_query = self.__cI.get('VOLUME_SERVER_QUERY')
コード例 #6
0
 def setUp(self):
     self.__tmpPath = TESTOUTPUT
     #
     self.__siteId = getSiteId(defaultSiteId=None)
     logger.info("\nTesting with site environment for:  %s\n", self.__siteId)
     #
     self.__testFilePath = os.path.join(TOPDIR, "wwpdb", "mock-data", "dp-utils")
     self.__testFileCif = "1xbb.cif"
コード例 #7
0
 def setUp(self):
     #
     self.__verbose = True
     self.__lfh = sys.stdout
     self.__testFile1 = "./tests/D_1000200183_model-annotate_P1.cif.V1"
     self.__testFile2 = "./tests/D_1000200183_model-release_P1.cif.V1"
     self.__siteId = getSiteId(defaultSiteId="WWPDB_DEPLOY_TEST")
     self.__sessionPath = "."
コード例 #8
0
    def setUp(self):
        self.__siteId = getSiteId(defaultSiteId=None)
        logger.info("\nTesting with site environment for:  %s\n",
                    self.__siteId)
        #
        #
        self.__tmpPath = TESTOUTPUT
        self.__testFilePath = os.path.join(TOPDIR, "wwpdb", "mock-data",
                                           "dp-utils")
        # self.__testFileCif = '1xbb.cif'

        self.__testFileAnnotSS = "4deq.cif"
        self.__testFileAnnotSSTop = "topology.txt"
        #
        self.__testFileAnnotLink = "3rij.cif"
        self.__testFileAnnotCisPeptide = "5hoh.cif"

        self.__testFileAnnotSolvent = "4ec0.cif"
        self.__testFileAnnotValidate = "3rij.cif"
        self.__testFileAnnotNA = "1o3q.cif"
        self.__testFileAnnotSite = "1xbb.cif"
        self.__testIdAnnotSite = "1xbb"
        #
        self.__testFileAnnotSiteAlt = "4p00.cif"
        self.__testIdAnnotSiteAlt = "4P00"

        # OK JDW
        self.__testFileAnnotRcsb = "3of4.cif"
        #
        # self.__testFilePdbPisa = '1xbb.pdb'
        # self.__testFileCifPisa = '1xbb.cif'
        #
        # self.__testFileStarCs = "2MMZ-cs.str"
        # self.__testFileCsRelatedCif = "cor_16703_test.cif"
        #
        self.__testFileValidateXyz = "1cbs.cif"
        self.__testFileValidateSf = "1cbs-sf.cif"
        # self.__testValidateIdList = ["1cbs", "3of4", "3oqp"]
        #

        self.__testFileMtzBad = "mtz-bad.mtz"
        self.__testFileMtzGood = "mtz-good.mtz"

        self.__testFileMtzRunaway = "bad-runaway.mtz"
        # self.__testFileXyzRunaway = "bad-runaway.cif"

        self.__testMapNormal = "normal.map"
        self.__testMapSpider = "testmap.spi"
        # OK JDW
        self.__testFilePrdSearch = "D_1200000237_model_P1.cif.V1"

        self.__testValidateXrayIdList = ["1cbs"]
        self.__testValidateNmrIdList = ["2MM4", "2MMZ"]

        self.__testDccModelId = "4wpo"

        self.__testSpecialPosition = "5uee.cif"
        self.__testDepAssembly = "1cbs.cif"
コード例 #9
0
 def setUp(self):
     self.__lfh = sys.stderr
     self.__verbose = True
     # Get siteId from the environment -
     self.__siteId = getSiteId()
     self.__cI = ConfigInfo(siteId=self.__siteId)
     # In test mode, no deletions are performed -
     self.__testMode = True
     #
     #  An data set ID list must be set --
     self.__idListPath = "RELEASED.LIST"
     #
     self.__milestoneL = []
     self.__milestoneL.append(None)
     self.__milestoneL.extend(self.__cI.get("CONTENT_MILESTONE_LIST"))
     self.__cTBD = self.__cI.get("CONTENT_TYPE_BASE_DICTIONARY")
     self.__cTD = self.__cI.get("CONTENT_TYPE_DICTIONARY")
     self.__cTL = sorted(self.__cTBD.keys())
     # Example list of candidate content types for purging  -- this is based on system V15x for X-ray content types
     self.__cTypesOtherL = [
         "assembly-assign",
         "assembly-model",
         "assembly-model-xyz",
         "assembly-report",
         "chem-comp-assign",
         "chem-comp-assign-details",
         "chem-comp-assign-final",
         "chem-comp-depositor-info",
         "chem-comp-link",
         "component-image",
         "dcc-report",
         "dict-check-report",
         "dict-check-report-r4",
         "format-check-report",
         "geometry-check-report",
         "merge-xyz-report",
         "misc-check-report",
         "notes-from-annotator",
         "polymer-linkage-distances",
         "polymer-linkage-report",
         "secondary-structure-topology",
         "seq-align-data",
         "seq-assign",
         "seq-data-stats",
         "seqdb-match",
         "sequence-fasta",
         "sf-convert-report",
         "site-assign",
         "special-position-report",
         "validation-data",
         "validation-report",
         "validation-report-depositor",
         "validation-report-full",
         "validation-report-slider",
     ]
     #
     # Test snapshot directory required for recovery tests -
     self.__snapShotPath = "/net/wwpdb_da_data_archive/.snapshot/nightly.1/data"
コード例 #10
0
    def setUp(self):
        self.__siteId = getSiteId(defaultSiteId=None)
        logger.info("\nTesting with site environment for:  %s\n" % self.__siteId)
        #
        self.__cI = ConfigInfo(self.__siteId)
        #
        self.__tmpPath = TESTOUTPUT
        self.__testFilePath = os.path.join(TOPDIR, 'wwpdb', 'mock-data', 'dp-utils')
        self.__testFileCif = '1xbb.cif'

        self.__testFileAnnotSS = '4deq.cif'
        self.__testFileAnnotSSTop = 'topology.txt'
        #
        self.__testFileAnnotLink = '3rij.cif'
        self.__testFileAnnotCisPeptide = '5hoh.cif'

        self.__testFileAnnotSolvent = '4ec0.cif'
        self.__testFileAnnotValidate = '3rij.cif'
        self.__testFileAnnotNA = '1o3q.cif'
        self.__testFileAnnotSite = '1xbb.cif'
        self.__testIdAnnotSite = '1xbb'
        #
        self.__testFileAnnotSiteAlt = '4p00.cif'
        self.__testIdAnnotSiteAlt = '4P00'

        ## OK JDW
        self.__testFileAnnotRcsb = '3of4.cif'
        #
        self.__testFilePdbPisa = '1xbb.pdb'
        self.__testFileCifPisa = '1xbb.cif'
        #
        self.__testFileStarCs = "2MMZ-cs.str"
        self.__testFileCsRelatedCif = "cor_16703_test.cif"
        #
        self.__testFileValidateXyz = "1cbs.cif"
        self.__testFileValidateSf = "1cbs-sf.cif"
        self.__testValidateIdList = ["1cbs", "3of4", "3oqp"]
        #

        self.__testFileMtzBad = "mtz-bad.mtz"
        self.__testFileMtzGood = "mtz-good.mtz"

        self.__testFileMtzRunaway = "bad-runaway.mtz"
        self.__testFileXyzRunaway = "bad-runaway.cif"

        self.__testMapNormal = "normal.map"
        self.__testMapSpider = "testmap.spi"
        ## OK JDW
        self.__testFilePrdSearch = 'D_1200000237_model_P1.cif.V1'

        self.__testValidateXrayIdList = ['1cbs']
        self.__testValidateNmrIdList = ['2MM4', '2MMZ']

        self.__testDccModelId = '4wpo'

        self.__testSpecialPosition = '5uee.cif'
        self.__testDepAssembly = "1cbs.cif"
コード例 #11
0
def get_model_file(depid, version_id, mileStone=None, siteId=None):
    if siteId is None:
        siteId = getSiteId()
    pi = PathInfo(siteId, sessionPath=".", verbose=True, log=sys.stderr)
    mmcif = pi.getModelPdbxFilePath(dataSetId=depid,
                                    fileSource="archive",
                                    versionId=version_id,
                                    mileStone=mileStone)
    logging.debug("mmcif file path: %s", mmcif)
    return mmcif
コード例 #12
0
    def testWrapper(self):
        """Tests wrapper"""
        modelfile = os.path.join(mockTopPath, 'dp-utils', '1cbs.cif')
        sffile = os.path.join(mockTopPath, 'dp-utils', '1cbs-sf.cif')
        foout = os.path.join(TESTOUTPUT, '1cbs-fo.cif')
        twofoout = os.path.join(TESTOUTPUT, '1cbs-2fo.cif')
        pdf = os.path.join(TESTOUTPUT, '1cbs-val.pdf')
        fullpdf = os.path.join(TESTOUTPUT, '1cbs-full-val.pdf')
        xml = os.path.join(TESTOUTPUT, '1cbs-val.xml')
        svg = os.path.join(TESTOUTPUT, '1cbs-val.svg')
        png = os.path.join(TESTOUTPUT, '1cbs-val.png')
        oflog = os.path.join(TESTOUTPUT, '1cbs-val.log')

        #ofpdf, ofxml, offullpdf, ofpng, ofsvg, ofmtz
        if os.path.exists(foout):
            os.unlink(foout)
        if os.path.exists(twofoout):
            os.unlink(twofoout)

        import sys
        sys.stderr.write("CKP1\n")
        siteid = getSiteId()
        sys.stderr.write("SITEID %s\n" % siteid)

        vw = ValidationWrapper(tmpPath=TESTOUTPUT, siteId=getSiteId())
        vw.imp(modelfile)
        vw.addInput(name="sf_file_path", value=sffile)

        vw.addInput(name='step_list', value='mogul,percentiles,writexml,writepdf,eds')

        vw.addInput(name='run_dir', value=os.path.join(TESTOUTPUT, 'validation_run'))
        vw.addInput(name="request_annotation_context", value="yes")
        vw.addInput(name="always_clear_calcs", value="yes")

        vw.op("annot-wwpdb-validate-all-sf")

        vw.expLog(oflog)
        ret = vw.expList(dstPathList=[pdf, xml, fullpdf, png, svg, foout, twofoout])

        self.assertTrue(ret, "Writing SF file")
        self.assertTrue(os.path.exists(foout))
        self.assertTrue(os.path.exists(twofoout))
コード例 #13
0
 def setUp(self):
     self.__tmpPath = TESTOUTPUT
     #
     self.__siteId = getSiteId(defaultSiteId=None)
     logger.info("\nTesting with site environment for:  %s\n" %
                 self.__siteId)
     #
     self.__cI = ConfigInfo(self.__siteId)
     self.__testFilePath = os.path.join(TOPDIR, 'wwpdb', 'mock-data',
                                        'dp-utils')
     self.__testFileCif = '1xbb.cif'
コード例 #14
0
ファイル: PathInfo.py プロジェクト: wwPDB/py-wwpdb_io
 def __init__(self, siteId=None, sessionPath=".", verbose=False, log=None):
     """"""
     self.__verbose = verbose
     self.__lfh = log
     #
     self.__debug = False  # pylint: disable=unused-private-member
     self.__siteId = siteId if siteId is not None else getSiteId(defaultSiteId=siteId)
     self.__sessionPath = sessionPath
     self.__sessionDownloadPath = None
     if self.__sessionPath is not None:
         self.__sessionDownloadPath = os.path.join(self.__sessionPath, "downloads")
     #
     self.__cI = ConfigInfo(siteId=self.__siteId, verbose=self.__verbose, log=self.__lfh)
コード例 #15
0
 def __init__(self, schemaDefObj, verbose=False, log=sys.stderr):
     self.__verbose = verbose
     self.__lfh = log
     self.__debug = False
     #
     self.__siteId = getSiteId(defaultSiteId="WWPDB_DEPLOY_MACOSX")
     self.__cI = ConfigInfo(self.__siteId)
     #
     self.__sd = schemaDefObj
     self.__databaseName = self.__sd.getDatabaseName()
     self.__dbCon = None
     self.__defaultD = {}
     self.__attributeParameterMap = {}
     self.__attributeConstraintParameterMap = {}
コード例 #16
0
    def setUp(self):

        self.__siteId = getSiteId(defaultSiteId="WWPDB_DEPLOY_TEST")
        logger.info("\nTesting with site environment for:  %s", self.__siteId)
        #
        self.__tmpPath = TESTOUTPUT
        #
        self.__testFilePath = os.path.join(TOPDIR, "wwpdb", "mock-data",
                                           "dp-utils")
        self.__testFileFastaP = os.path.join(self.__testFilePath, "1KIP.fasta")
        self.__testFileFastaN = os.path.join(self.__testFilePath, "2WDK.fasta")
        #
        logger.info("\nTest fasta protein file path %s", self.__testFileFastaP)
        logger.info("\nTest fasta RNA     file path %s", self.__testFileFastaN)
コード例 #17
0
 def setUp(self):
     # Pick up site information from the environment or failover to the development site id.
     self.__siteId = getSiteId(defaultSiteId=None)
     logger.info("\nTesting with site environment for:  %s\n" % self.__siteId)
     #
     self.__cI = ConfigInfo(self.__siteId)
     self.__testFilePath = os.path.join(TOPDIR, 'wwpdb', 'mock-data', 'dp-utils')
     self.__tmpPath = TESTOUTPUT
     #
     self.__testFilePdbPisa = '3rer.pdb'
     self.__testFileCifPisa = '3rer.cif'
     #
     logger.info("\nTest file path %s\n" % (self.__testFilePath))
     logger.info("\nCIF  file path %s\n" % (self.__testFileCifPisa))
コード例 #18
0
 def setUp(self):
     # Pick up site information from the environment or failover to the development site id.
     self.__siteId = getSiteId(defaultSiteId=None)
     logger.info("\nTesting with site environment for:  %s\n",
                 self.__siteId)
     #
     self.__testFilePath = os.path.join(TOPDIR, "wwpdb", "mock-data",
                                        "dp-utils")
     self.__tmpPath = TESTOUTPUT
     #
     self.__testFilePdbPisa = "3rer.pdb"
     self.__testFileCifPisa = "3rer.cif"
     #
     logger.info("\nTest file path %s\n", self.__testFilePath)
     logger.info("\nCIF  file path %s\n", self.__testFileCifPisa)
コード例 #19
0
    def setUp(self):
        self.__siteId = getSiteId(defaultSiteId=None)
        logger.info("\nTesting with site environment for:  %s\n", self.__siteId)
        #
        self.__tmpPath = TESTOUTPUT
        self.__testFilePath = os.path.join(TOPDIR, "wwpdb", "mock-data", "dp-utils")
        #
        self.__testFileValidateXyz = "1cbs.cif"
        self.__testFileValidateSf = "1cbs-sf.cif"

        self.__testValidateIdList = ["1cbs", "3of4", "3oqp"]
        #
        self.__testFileMtzBad = "mtz-bad.mtz"
        self.__testFileMtzGood = "mtz-good.mtz"

        self.__testFileMtzRunaway = "bad-runaway.mtz"
コード例 #20
0
 def setUp(self):
     self.__lfh = sys.stderr
     self.__verbose = True
     # Pick up site information from the environment or failover to the development site id.
     self.__siteId = getSiteId(defaultSiteId=None)
     logger.info("\nTesting with site environment for:  %s\n",
                 self.__siteId)
     #
     self.__testFilePath = os.path.join(TOPDIR, "wwpdb", "mock-data",
                                        "dp-utils")
     self.__tmpPath = TESTOUTPUT
     #
     self.__testFileStarCs = "2MMZ-cs.str"
     self.__testFileNmrModel = "2MMZ.cif"
     self.__testFileNmrModelAlt = "1MM0.cif"
     self.__testConcatCS = "2mmz-cs-file-full-2.cif"
コード例 #21
0
 def __init__(self, verbose=False, log=sys.stderr):  # pylint: disable=unused-argument
     self.__verbose = verbose
     self.__debug = True
     self.__cI = ConfigInfo(siteId=None, verbose=self.__verbose)
     self.__cIDepUI = ConfigInfoAppDepUI(siteId=getSiteId())
     # Default data set id range assignments
     self.__depIdAssignments = self.__cI.get(
         "SITE_DATASET_ID_ASSIGNMENT_DICTIONARY")
     self.__depTestIdAssignments = self.__cI.get(
         "SITE_DATASET_TEST_ID_ASSIGNMENT_DICTIONARY")
     self.__siteBackupD = self.__cI.get("SITE_BACKUP_DICT", default={})
     self.__dsLocD = None
     #
     self.__lockDirPath = self.__cI.get(
         "SITE_SERVICE_REGISTRATION_LOCKDIR_PATH", "/tmp")
     lockutils.set_defaults(self.__lockDirPath)
コード例 #22
0
    def setUp(self):
        self.__lfh = sys.stderr
        self.__verbose = True
        # Pick up site information from the environment or failover to the development site id.
        self.__siteId = getSiteId(defaultSiteId=None)
        logger.info("\nTesting with site environment for:  %s\n" % self.__siteId)
        #
        self.__cI = ConfigInfo(self.__siteId)

        self.__testFilePath = os.path.join(TOPDIR, 'wwpdb', 'mock-data', 'dp-utils')
        self.__tmpPath = TESTOUTPUT
        #
        self.__testFileStarCs = '2MMZ-cs.str'
        self.__testFileNmrModel = '2MMZ.cif'
        self.__testFileNmrModelAlt = '1MM0.cif'
        self.__testFileNmrMr = '2MMZ.mr'
        self.__testConcatCS = '2mmz-cs-file-full-2.cif'
コード例 #23
0
    def setUp(self):

        self.__siteId = getSiteId(defaultSiteId='WWPDB_DEPLOY_TEST')
        logger.info("\nTesting with site environment for:  %s\n" %
                    self.__siteId)
        #
        self.__cI = ConfigInfo(self.__siteId)
        self.__tmpPath = TESTOUTPUT
        #
        self.__testFilePath = os.path.join(TOPDIR, 'wwpdb', 'mock-data',
                                           'dp-utils')
        self.__testFileFastaP = os.path.join(self.__testFilePath, '1KIP.fasta')
        self.__testFileFastaN = os.path.join(self.__testFilePath, '2WDK.fasta')
        #
        logger.info("\nTest fasta protein file path %s\n" %
                    (self.__testFileFastaP))
        logger.info("\nTest fasta RNA     file path %s\n" %
                    (self.__testFileFastaN))
コード例 #24
0
    def setUp(self):
        self.__siteId = getSiteId(defaultSiteId=None)
        logger.info("\nTesting with site environment for:  %s\n" %
                    self.__siteId)
        #
        self.__cI = ConfigInfo(self.__siteId)
        #
        self.__tmpPath = TESTOUTPUT
        self.__testFilePath = os.path.join(TOPDIR, 'wwpdb', 'mock-data',
                                           'dp-utils')

        self.__testMapSpider = "testmap.spi"
        #
        # Brian's protein dna complex 3IYD
        self.__testMapEmd = 'emd_5127.map'
        self.__testMapNormal = self.__testMapEmd
        # XML header
        self.__testXMLHeader = 'emd_8137_v2.xml'
コード例 #25
0
 def setUp(self):
     self.__lfh = sys.stderr
     self.__verbose = False
     #
     self.__serverId = "BACKUP_SERVER_RDI2"
     self.__cI = ConfigInfo(siteId=getSiteId(),
                            verbose=self.__verbose,
                            log=self.__lfh)
     cD = self.__cI.get(self.__serverId, {})
     self.__hostName = cD.get("HOST_NAME")
     self.__userName = cD.get("HOST_USERNAME")
     self.__hostPort = int(cD.get("HOST_PORT"))
     # self.__protocol = cD.get("HOST_PROTOCOL")
     self.__rootPath = cD.get("HOST_ROOT_PATH")
     self.__keyFilePath = cD.get("HOST_KEY_FILE_PATH")
     self.__keyFileType = cD.get("HOST_KEY_FILE_TYPE")
     #
     self.__testLocalFilePath = "./data/TEST-FILE.DAT"
     self.__testLocalOutputFilePath = "./JUNK.JUNK"
     #
     self.__startTime = time.time()
     logger.debug("Starting %s at %s", self.id(),
                  time.strftime("%Y %m %d %H:%M:%S", time.localtime()))
コード例 #26
0
 def __init__(self,
              command,
              job_name,
              log_dir,
              timeout=5600,
              memory_limit=0,
              number_of_processors=1,
              add_site_config=False,
              add_site_config_database=False):
     self.command = self.escape_substitution(command)
     if timeout:
         self.timeout = timeout
     else:
         self.timeout = 5600
     self.memory_limit = memory_limit
     self.number_of_processors = number_of_processors
     self.job_name = job_name
     self.log_dir = log_dir
     self.memory_used = 0
     self.memory_unit = 'MB'
     self.bsub_exit_status = 0
     self.siteId = getSiteId()
     self.cI = ConfigInfo(self.siteId)
     self.bsub_source_command = self.cI.get('BSUB_SOURCE')
     self.bsub_run_command = self.cI.get('BSUB_COMMAND')
     self.pdbe_cluster_queue = self.cI.get('PDBE_CLUSTER_QUEUE')
     self.pdbe_memory_limit = 100000
     self.bsub_login_node = self.cI.get('BSUB_LOGIN_NODE')
     self.bsub_timeout = self.cI.get('BSUB_TIMEOUT')
     self.bsub_retry_delay = self.cI.get('BSUB_RETRY_DELAY')
     self.bsub_log_file = os.path.join(self.log_dir, self.job_name + '.log')
     self.bsub_out_file = os.path.join(self.log_dir, self.job_name + '.out')
     self.add_site_config = add_site_config
     self.add_site_config_database = add_site_config_database
     self.out = None
     self.err = None
コード例 #27
0
 def testGetSiteId(self):
     self.assertEqual(getSiteId(), "WWPDB_DEPLOY_TEST")
コード例 #28
0
def main():
    # adding a conservative permission mask for this
    # os.umask(0o022)
    #
    siteId = getSiteId(defaultSiteId=None)
    cI = ConfigInfo(siteId)

    #    topPath = cI.get('SITE_WEB_APPS_TOP_PATH')
    topSessionPath = cI.get("SITE_WEB_APPS_TOP_SESSIONS_PATH")

    #
    myFullHostName = platform.uname()[1]
    myHostName = str(myFullHostName.split(".")[0]).lower()
    #
    wsLogDirPath = os.path.join(topSessionPath, "ws-logs")

    #  Setup logging  --
    now = time.strftime("%Y-%m-%d", time.localtime())

    usage = "usage: %prog [options]"
    parser = OptionParser(usage)
    parser.add_option("--start",
                      default=False,
                      action="store_true",
                      dest="startOp",
                      help="Start consumer client process")
    parser.add_option("--stop",
                      default=False,
                      action="store_true",
                      dest="stopOp",
                      help="Stop consumer client process")
    parser.add_option("--restart",
                      default=False,
                      action="store_true",
                      dest="restartOp",
                      help="Restart consumer client process")
    parser.add_option("--status",
                      default=False,
                      action="store_true",
                      dest="statusOp",
                      help="Report consumer client process status")

    # parser.add_option("-v", "--verbose", default=False, action="store_true", dest="verbose", help="Enable verbose output")
    parser.add_option("--debug",
                      default=1,
                      type="int",
                      dest="debugLevel",
                      help="Debug level (default=1) [0-3]")
    parser.add_option("--instance",
                      default=1,
                      type="int",
                      dest="instanceNo",
                      help="Instance number [1-n]")
    #
    (options, _args) = parser.parse_args()
    #
    pidFilePath = os.path.join(
        wsLogDirPath, myHostName + "_" + str(options.instanceNo) + ".pid")
    stdoutFilePath = os.path.join(
        wsLogDirPath,
        myHostName + "_" + str(options.instanceNo) + "_stdout.log")
    stderrFilePath = os.path.join(
        wsLogDirPath,
        myHostName + "_" + str(options.instanceNo) + "_stderr.log")
    wfLogFilePath = os.path.join(
        wsLogDirPath,
        myHostName + "_" + str(options.instanceNo) + "_" + now + ".log")
    #
    logger = logging.getLogger(name="root")  # pylint: disable=redefined-outer-name
    logging.captureWarnings(True)
    formatter = logging.Formatter(
        "%(asctime)s [%(levelname)s]-%(module)s.%(funcName)s: %(message)s")
    handler = logging.FileHandler(wfLogFilePath)
    handler.setFormatter(formatter)
    logger.addHandler(handler)
    #
    lt = time.strftime("%Y %m %d %H:%M:%S", time.localtime())
    #
    if options.debugLevel > 2:
        logger.setLevel(logging.DEBUG)
    elif options.debugLevel > 0:
        logger.setLevel(logging.INFO)
    else:
        logger.setLevel(logging.ERROR)
    #
    #
    myDP = MyDetachedProcess(pidFile=pidFilePath,
                             stdout=stdoutFilePath,
                             stderr=stderrFilePath,
                             wrkDir=wsLogDirPath)

    if options.startOp:
        sys.stdout.write(
            "+DetachedMessageConsumer() starting consumer service at %s\n" %
            lt)
        logger.info(
            "DetachedMessageConsumer() starting consumer service at %s", lt)
        myDP.start()
    elif options.stopOp:
        sys.stdout.write(
            "+DetachedMessageConsumer() stopping consumer service at %s\n" %
            lt)
        logger.info(
            "DetachedMessageConsumer() stopping consumer service at %s", lt)
        myDP.stop()
    elif options.restartOp:
        sys.stdout.write(
            "+DetachedMessageConsumer() restarting consumer service at %s\n" %
            lt)
        logger.info(
            "DetachedMessageConsumer() restarting consumer service at %s", lt)
        myDP.restart()
    elif options.statusOp:
        sys.stdout.write(
            "+DetachedMessageConsumer() reporting status for consumer service at %s\n"
            % lt)
        sys.stdout.write(myDP.status())
    else:
        pass
コード例 #29
0
    def setUp(self):
        self.__lfh = sys.stderr
        # Pick up site information from the environment or failover to the development site id.
        self.__siteId = getSiteId(defaultSiteId='WWPDB_DEPLOY_TEST')
        self.__lfh.write("\nTesting with site environment for:  %s\n" %
                         self.__siteId)
        #
        self.FILE_ROOT = os.path.dirname(os.path.realpath(__file__))
        self.__cI = ConfigInfo(self.__siteId)
        self.__siteWebAppsSessionsPath = self.__cI.get(
            'SITE_WEB_APPS_SESSIONS_PATH')
        self.__tmpPath = tempfile.mkdtemp(dir=self.__siteWebAppsSessionsPath)

        self.__testFilePath = os.path.join(self.FILE_ROOT, 'data')
        self.__testFileAnnotSS = 'rcsb070236.cif'
        self.__testFileAnnotSSTop = 'topology.txt'
        #
        self.__testFileAnnotLink = '3rij.cif'
        self.__testFileAnnotCisPeptide = '5hoh.cif'
        self.__testFileAnnotSolvent = 'D_900002_model_P1.cif'
        self.__testFileAnnotValidate = '3rij.cif'
        self.__testFileAnnotNA = '1o3q.cif'
        self.__testFileAnnotSite = '1xbb.cif'
        self.__testIdAnnotSite = '1xbb'
        #
        self.__testFileAnnotSiteAlt = 'D_1000200391_model_P1.cif.V27'
        self.__testIdAnnotSiteAlt = 'D_1000200391'

        #
        self.__testFileAnnotRcsb = 'rcsb033781.cif'
        self.__testFileAnnotRcsbEps = 'rcsb013067.cifeps'
        #
        self.__testFilePdbPisa = self.__cI.get('DP_TEST_FILE_PDB_PISA')
        self.__testFileCifPisa = self.__cI.get('DP_TEST_FILE_CIF_PISA')
        #
        self.__testFileStarCs = "star_16703_test_2.str"
        self.__testFileCsRelatedCif = "cor_16703_test.cif"
        #
        self.__testFileValidateXyz = "1cbs.cif"
        self.__testFileValidateSf = "1cbs-sf.cif"
        self.__testValidateIdList = ["1cbs", "3of4", "3oqp"]
        self.__testArchiveIdList = [("D_900002", "4EC0"), ("D_600000", "4F3R")]
        #
        self.__testFileCifSeq = "RCSB095269_model_P1.cif.V1"
        self.__testFileSeqAssign = "RCSB095269_seq-assign_P1.cif.V1"

        self.__testFileMtzBad = "mtz-bad.mtz"
        self.__testFileMtzGood = "mtz-good.mtz"

        self.__testFileMtzRunaway = "bad-runaway.mtz"
        self.__testFileXyzRunaway = "bad-runaway.cif"

        self.__testMapNormal = "normal.map"
        self.__testMapSpider = "testmap.spi"
        self.__testMapLarge = "large.map"

        # self.__testFilePrdSearch       = '3RUN.cif'
        self.__testFilePrdSearch = 'D_1200000237_model_P1.cif.V1'

        self.__testValidateXrayIdList = ['1cbs', '4hea', '4u4r']
        self.__testValidateNmrIdList = ['2MM4', '2MMZ']

        self.__testValidateXrayNeutronModel = 'D_1200007116_model-upload_P1.cif.V1'
        self.__testValidateXrayNeutronSF = 'D_1200007116_sf-upload_P1.cif.V1'
        #self.__testValidateXrayLargeIdList = ['4u4r']
        #self.__testValidateNmrIdList = ['2MM4']
        #self.__testValidateNmrLargeIdList = ['2MMZ']

        self.__testDccModelId = '4wpo'

        self.__testSpecialPosition = 'D_1000225739_model_P1.cif.V4'
        self.__testDepAssembly = "testassem.cif"
コード例 #30
0
 def testImport(self):
     vw = ValidationWrapper(tmpPath=TESTOUTPUT, siteId=getSiteId())