Я использовал следующий скрипт для генерации вывода
#import necessary packages
import pandas as pd
#read the files
df=pd.read_table("abc.txt", sep="\t")
df2=pd.read_table("xyz.txt", sep="\t")
#make groups
gt30 = df.groupby(['#START','#END'])['#DEPTH'].apply(lambda x: x[x>=30].count()).rename('gt30')
gt40 = df.groupby(['#START','#END'])['#DEPTH'].apply(lambda x: x[x>=40].count()).rename('gt40')
gt50 = df.groupby(['#START','#END'])['#DEPTH'].apply(lambda x: x[x>=50].count()).rename('gt50')
#append groups
df2.merge(gt30, on='#START').merge(gt40, on='#START').merge(gt50, on='#START')
и вывод выглядит следующим образом
CHR #START #END #GENE #MEAN #gt30 #gt40 #gt50
chr1 11106936 11107192 MTOR 24.4648438 74 0 0
chr1 11107388 11107655 MTOR 17.1910114 27 0 0
chr1 11108018 11108369 MTOR 29.2108269 140 82 0
chr1 11109097 11109459 MTOR 12.6104975 0 0 0
chr1 15872788 15873080 SPEN 36.9075356 162 109 100
chr1 15873083 15873203 SPEN 33.25 64 42 24
chr1 15874162 15874419 SPEN 26.0272369 73 0 0
chr1 15876191 15876757 SPEN 41.5477028 429 378 229
chr2 99551491 99551743 AFF3 41.4325409 191 149 75
chr2 99554298 99554464 AFF3 214.3433685 166 166 166
chr2 99554649 99554839 AFF3 59.5315781 155 143 134
chr2 99558760 99559106 AFF3 44.6445084 265 199 162
chr2 99560255 99560503 AFF3 25.0040321 116 48 0
chr2 99565418 99565659 AFF3 33.5684662 137 94 38
output
Теперь я хочу чтобы добавить все "#GENE" вместе и создать новый файл следующим образом
#CHR #START #END #GENE #MEAN #gt30 #gt40 #gt50
chr1 11106936 11109459 MTOR 83.4771796 241 82 0
chr1 15872788 15876757 SPEN 36.9075356 728 529 353
это делается путем добавления столбцов для "# MEAN, # gt30, # gt40, # gt50" # START без изменений, и # END изменено последнее значение # GENE в столбце # END .