def load_metrics_from_db(db_path, tx_mode, aln_mode):
"""
Loads the alignment metrics for the mRNA/CDS alignments of transMap/AugustusTM/TMR
"""
session = tools.sqlInterface.start_session(db_path)
metrics_table = tools.sqlInterface.tables[aln_mode][tx_mode]['metrics']
metrics_df = tools.sqlInterface.load_metrics(metrics_table, session)
# unstack flattens the long-form data structure
metrics_df = metrics_df.set_index(['AlignmentId', 'classifier']).unstack('classifier')
metrics_df.columns = [col[1] for col in metrics_df.columns]
metrics_df = metrics_df.reset_index()
cols = ['AlnCoverage', 'AlnGoodness', 'AlnIdentity', 'PercentUnknownBases']
metrics_df[cols] = metrics_df[cols].apply(pd.to_numeric)
metrics_df['OriginalIntrons'] = metrics_df['OriginalIntrons'].fillna('')
metrics_df['OriginalIntrons'] = [list(map(int, x)) if len(x[0]) > 0 else [] for x in
metrics_df['OriginalIntrons'].str.split(',').tolist()]
metrics_df['OriginalIntronsPercent'] = metrics_df['OriginalIntrons'].apply(calculate_vector_support, resolve_nan=1)
session.close()
return metrics_df
consensus.py 文件源码
python
阅读 27
收藏 0
点赞 0
评论 0
评论列表
文章目录