dbimport.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:GenomicsSampleAPIs 作者: Intel-HLS 项目源码 文件源码
def registerReferenceSet(self, guid, assembly_id, source_accessions=None, description=None, references=OrderedDict()):
        """
        ReferenceSet registration for MAF occurs from an assembly config file. See hg19.json for example.
        ReferenceSet registration for VCF occurs from reading VCF contig tags in header. 
        Requires assembly ids and guids to be unique.
        """

        referenceSet = self.session.query(ReferenceSet).filter(
            or_(ReferenceSet.assembly_id == assembly_id, ReferenceSet.guid == guid))\
            .first()

        if referenceSet is None:

            try:
                referenceSet = ReferenceSet(
                    guid=guid, assembly_id=assembly_id, description=description)
                self.session.add(referenceSet)
                self.session.commit()

            except exc.DataError as e:
                self.session.rollback()
                raise ValueError("{0} : {1} ".format(str(e), guid))

            if len(references) > 0:
                # use pyvcf like ordered dict to avoiding having to specify
                # reference order manually
                refs = sortReferences(references)
                for ref in refs:
                    self.registerReference(
                        str(uuid.uuid4()), referenceSet.id, ref, refs[ref].length)

        return referenceSet
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号