用户工具

站点工具


mathscore

简介

Mutant-Allele Tumor Heterogeneity (MATH) 是一种量化肿瘤异质性的方法,通过评估肿瘤中突变等位基因的多样性来衡量肿瘤的异质性程度。MATH 主要用于评估肿瘤内基因突变的变异性,即肿瘤细胞中突变等位基因频率的差异。

功能

计算肿瘤异质性评分 突变等位基因频率(Mutant Allele Frequency, MAF):首先计算每个突变基因的等位基因频率,即突变等位基因在肿瘤样本中的比例。 中位数绝对偏差(Median Absolute Deviation, MAD):计算所有突变等位基因频率的中位数绝对偏差。 中位数(Median, M):计算所有突变等位基因频率的中位数。 MATH 计算公式:MATH定义如下: [ {MATH} = \frac {MAD}}m \times 100 ] 其中,MAD 是突变等位基因频率的中位数绝对偏差,M 是突变等位基因频率的中位数。

数据准备

肿瘤样本和正常样本的测序数据:需要有来自同一个个体的肿瘤和匹配正常组织的高通量测序数据,通常是BAM格式的文件。

数据分析

1 示例路径

/TJPROJ6/AFS_RESEQ/Proj/hongxiang/05.AFS/MATHscore.py

2 分析脚本

import pandas as pd
import numpy as np
import sys

def calculate_math_scores(input_file, output_file):
    """
    
    参数:
    input_file (str): 输入 MAF 文件的路径。
    output_file (str): 输出文件的路径。
    """
    # 读取 MAF 文件
    maf_data = pd.read_csv(input_file, sep='\t', comment='#')

        required_columns = ['Tumor_Sample_Barcode', 't_alt_count', 't_ref_count']
    for col in required_columns:
        if col not in maf_data.columns:
            raise ValueError("MAF 文件中缺少必要的 '{}' 列。".format(col))

        math_scores = []

        grouped = maf_data.groupby('Tumor_Sample_Barcode')

    for sample, group in grouped:
                group = group.copy()  # Avoid SettingWithCopyWarning
        group.loc[:, 'VAF'] = group['t_alt_count'] / (group['t_alt_count'] + group['t_ref_count'])

        # 计算中位数和 MAD
        vaf_median = group['VAF'].median()
        mad = np.median(np.abs(group['VAF'] - vaf_median))

               math_score = 100 * mad / vaf_median

                math_scores.append((sample, math_score))

        with open(output_file, 'w') as f:
        f.write("samplename\tMATHscore\n")
        for sample, score in math_scores:
            f.write("{}\t{}\n".format(sample, score))

if __name__ == "__main__":
    if len(sys.argv) != 3:
        print("用法: python calculate_math_scores.py <输入MAF文件路径> <输出文件路径>")
    else:
        input_file_path = sys.argv[1]
        output_file_path = sys.argv[2]
        calculate_math_scores(input_file_path, output_file_path)

交付结果

samplename	MATHscore
O37	56.3829787234
O40	34.8913043478
O50	33.3333333333
O57	55.5555555556
O62	63.5778554038
O64	21.4364876385
OB36	50.0
OB58	73.9130434783
OL50	39.9408284024
T36	68.6720713033
T37	21.8195266272
T40	44.4444444444
T50	37.5714285714
T57	55.5555555556
T58	17.1396248357
T62	70.4081632653
T64	12.8241395568
mathscore.txt · 最后更改: 2025/01/02 01:48 由 hongxiang