import pandas as pd import rpy2.robjects.packages as rpackages # import rpy2.robjects.pandas2ri as pandas2ri # from rpy2.robjects import pandas2ri, r import rpy2.robjects.pandas2ri as pandas2ri # maf_data = pd.read_csv('example.maf', sep='\t') maf_data = pd.read_csv('example.maf', sep='\t', comment='#') # 将pandas DataFrame转换为R的数据框 pandas2ri.activate() # r_maf_data = pandas2ri.py2ri(maf_data) # 将 pandas.DataFrame 转换为 R 中的数据框对象 def df_to_r_dataframe(df): r_dataframe = pandas2ri.py2ro(df) return r_dataframe print(df_to_r_dataframe(maf_data)) # 加载VariantAnnotation包 utils = rpackages.importr('utils') utils.chooseCRANmirror(ind=1) utils.install_packages('VariantAnnotation') variantannotation = rpackages.importr('VariantAnnotation') # 将R的数据框转换为VariantAnnotation类对象 maftools_input = variantannotation.data.frame_to_VariantAnnotation(r_maf_data) print(22, maftools_input)