scout/adapter/mongo/panel.py
def load_omim_panel(self, api_key, institute=None):
        """Create and load the OMIM-AUTO panel"""
        existing_panel = self.gene_panel(panel_id='OMIM-AUTO')
        if not existing_panel:
            LOG.warning("OMIM-AUTO does not exists in database")
            LOG.info('Creating a first version')
            version = 1.0

        if existing_panel:
            version = float(math.floor(existing_panel['version']) + 1)

        LOG.info("Setting version to %s", version)

        try:
            mim_files = fetch_mim_files(api_key=api_key, genemap2=True, mim2genes=True)
        except Exception as err:
            raise err

        date_string = None
        # Get the correct date when omim files where released
        for line in mim_files['genemap2']:
            if 'Generated' in line:
                date_string = line.split(':')[-1].lstrip().rstrip()
        date_obj = get_date(date_string)

        if existing_panel:
            if existing_panel['date'] == date_obj:
                LOG.warning("There is no new version of OMIM")
                return

        panel_data = {}
        panel_data['path'] = None
        panel_data['type'] = 'clinical'
        panel_data['date'] = date_obj
        panel_data['panel_id'] = 'OMIM-AUTO'
        panel_data['institute'] = institute or 'cust002'
        panel_data['version'] = version
        panel_data['display_name'] = 'OMIM-AUTO'
        panel_data['genes'] = []

        alias_genes = self.genes_by_alias()

        genes = get_omim_panel_genes(
            genemap2_lines = mim_files['genemap2'],
            mim2gene_lines = mim_files['mim2genes'],
            alias_genes = alias_genes,
        )

        for gene in genes:
            panel_data['genes'].append(gene)

        panel_obj = build_panel(panel_data, self)

        if existing_panel:

            new_genes = self.compare_mim_panels(existing_panel, panel_obj)
            if new_genes:
                self.update_mim_version(new_genes, panel_obj, old_version=existing_panel['version'])
            else:
                LOG.info("The new version of omim does not differ from the old one")
                LOG.info("No update is added")
                return

        self.add_gene_panel(panel_obj)
def load_omim_panel(self, api_key, institute=None):
        existing_panel = self.gene_panel(panel_id='OMIM-AUTO')
        if not existing_panel:
            LOG.warning("OMIM-AUTO does not exists in database")
            LOG.info('Creating a first version')
            version = 1.0

        if existing_panel:
            version = float(math.floor(existing_panel['version']) + 1)

        LOG.info("Setting version to %s", version)

        try:
            mim_files = fetch_mim_files(api_key=api_key, genemap2=True, mim2genes=True)
        except Exception as err:
            raise err

        date_string = None
        # Get the correct date when omim files where released
        for line in mim_files['genemap2']:
            if 'Generated' in line:
                date_string = line.split(':')[-1].lstrip().rstrip()
        date_obj = get_date(date_string)

        if existing_panel:
            if existing_panel['date'] == date_obj:
                LOG.warning("There is no new version of OMIM")
                return

        panel_data = {}
        panel_data['path'] = None
        panel_data['type'] = 'clinical'
        panel_data['date'] = date_obj
        panel_data['panel_id'] = 'OMIM-AUTO'
        panel_data['institute'] = institute or 'cust002'
        panel_data['version'] = version
        panel_data['display_name'] = 'OMIM-AUTO'
        panel_data['genes'] = []

        alias_genes = self.genes_by_alias()

        genes = get_omim_panel_genes(
            genemap2_lines = mim_files['genemap2'],
            mim2gene_lines = mim_files['mim2genes'],
            alias_genes = alias_genes,
        )

        for gene in genes:
            panel_data['genes'].append(gene)

        panel_obj = build_panel(panel_data, self)

        if existing_panel:

            new_genes = self.compare_mim_panels(existing_panel, panel_obj)
            if new_genes:
                self.update_mim_version(new_genes, panel_obj, old_version=existing_panel['version'])
            else:
                LOG.info("The new version of omim does not differ from the old one")
                LOG.info("No update is added")
                return

        self.add_gene_panel(panel_obj)
def load_omim_panel ( self , api_key , institute = None ) : existing_panel = self . gene_panel ( panel_id = 'OMIM-AUTO' ) if not existing_panel : LOG . warning ( "OMIM-AUTO does not exists in database" ) LOG . info ( 'Creating a first version' ) version = 1.0 if existing_panel : version = float ( math . floor ( existing_panel [ 'version' ] ) + 1 ) LOG . info ( "Setting version to %s" , version ) try : mim_files = fetch_mim_files ( api_key = api_key , genemap2 = True , mim2genes = True ) except Exception as err : raise err date_string = None # Get the correct date when omim files where released for line in mim_files [ 'genemap2' ] : if 'Generated' in line : date_string = line . split ( ':' ) [ - 1 ] . lstrip ( ) . rstrip ( ) date_obj = get_date ( date_string ) if existing_panel : if existing_panel [ 'date' ] == date_obj : LOG . warning ( "There is no new version of OMIM" ) return panel_data = { } panel_data [ 'path' ] = None panel_data [ 'type' ] = 'clinical' panel_data [ 'date' ] = date_obj panel_data [ 'panel_id' ] = 'OMIM-AUTO' panel_data [ 'institute' ] = institute or 'cust002' panel_data [ 'version' ] = version panel_data [ 'display_name' ] = 'OMIM-AUTO' panel_data [ 'genes' ] = [ ] alias_genes = self . genes_by_alias ( ) genes = get_omim_panel_genes ( genemap2_lines = mim_files [ 'genemap2' ] , mim2gene_lines = mim_files [ 'mim2genes' ] , alias_genes = alias_genes , ) for gene in genes : panel_data [ 'genes' ] . append ( gene ) panel_obj = build_panel ( panel_data , self ) if existing_panel : new_genes = self . compare_mim_panels ( existing_panel , panel_obj ) if new_genes : self . update_mim_version ( new_genes , panel_obj , old_version = existing_panel [ 'version' ] ) else : LOG . info ( "The new version of omim does not differ from the old one" ) LOG . info ( "No update is added" ) return self . add_gene_panel ( panel_obj )
Create and load the OMIM-AUTO panel
Create and load the OMIM - AUTO panel