**文書の過去の版を表示しています。**
20210804
MitoFishDBに2つ以上ヒットしている、ntデータベースのデータの確認
pandasを主に使用。以下のリンクを参考にした。
pandasのデータフレームに対してループ処理:https://note.nkmk.me/python-pandas-dataframe-for-iteration/
pandasのデータフレームに対してIndexを振り直す:https://note.nkmk.me/python-pandas-reset-index/
pandasのデータフレームをソート:https://note.nkmk.me/python-pandas-sort-values-sort-index/
/home/ito.takumi/work/mitosearch/test_data/compare にて、script/db_err.py を実行。compare_data/ID_compare.diff.txt を出力。
script/db_err.py
import sys import pandas as pd def main(): srrID = sys.argv[1] inputFilePath = "compare_data/" + srrID + "_compare_matrix.filtered.tsv" outputFilePath = "compare_data/" + srrID + "_compare.diff.txt" out_f = open(outputFilePath,"w") try: df = pd.read_table(inputFilePath) df_copy = df.copy() df_copy = df_copy.drop(df.columns[0],axis=1) for columnName, item in df_copy.iteritems(): try: column_sorted = item.sort_values(ascending=False) column_sorted_resetIndex = column_sorted.reset_index(drop=True) top_hit = column_sorted_resetIndex[0] second_hit = column_sorted_resetIndex[1] if second_hit == 0: pass else: row = srrID + "\t" + columnName + "\t" + str(top_hit) + "\t" + str(second_hit) out_f.write(row + "\n") except: pass except: pass out_f.close() if __name__ == "__main__": main()
出力結果をマージし、対応関係を洗い出したものがこちら。 https://geccutokyoacjp-my.sharepoint.com/:f:/g/personal/ito-takumi496_g_ecc_u-tokyo_ac_jp/EknKZpEshD9BpEMJ-1GZDZ0Bz7wn4yVV9BWTGEa98qH7sA?e=EcGxSi