Source code for frustratometer.map.map

import pandas as pd
from ..utils import _path
import os

[docs] def get_pfamID(pdb_file, chain): """ Returns PFAM and Uniprot IDs Parameters ---------- pdb_file : str pdb file name chain : str Select chain from pdb Returns ------- pfamID : str PFAM family ID """ # TODO fix function # TODO appdirs? pdbID=os.path.basename(pdb_file)[:4] df = pd.read_csv(f'{_path}/data/pdb_chain_pfam.csv', header=1) if sum((df['PDB'] == pdbID.lower()) & (df['CHAIN'] == chain.upper())) != 0: #Assumes one domain for the PDB pfamID = df.loc[(df['PDB'] == pdbID.lower()) & (df['CHAIN'] == chain.upper())]["PFAM_ID"].values[0] else: print('PFAM ID is unavailable') pfamID = 'null' return pfamID
# def get_pfam_map(pdbID, chain): # # TODO fix function # import pandas as pd # df = pd.read_table('%s/pdb_pfam_map.txt' % basedir, header=0) # if sum((df['PDB_ID'] == pdbID.upper()) & (df['CHAIN_ID'] == chain.upper())) != 0: # start = df.loc[(df['PDB_ID'] == pdbID.upper()) & (df['CHAIN_ID'] == chain.upper())]["PdbResNumStart"].values[0] # end = df.loc[(df['PDB_ID'] == pdbID.upper()) & (df['CHAIN_ID'] == chain.upper())]["PdbResNumEnd"].values[0] # else: # print('data not found') # pfamID = 'null' # return int(start), int(end)