python拆分pubchem SDF文件


從pubchem下載的sdf文件是一個壓縮格式,一個sdf里面有多個化學物質,需要拆分開單獨保存,

先將大的sdf拆分成一個個單獨的sdf小文件,然后再讀取每一行小文件的第一行獲取CID編號

# coding=utf-8

def splitSDF():
    file_name = "48600001_48625000.sdf"
    # 讀取的文件內容保存在列表里
    file_str_list = []
    # 設置文件索引
    index = 0
    # import pdb
    # pdb.set_trace()
    with open(file_name, 'r+') as f:
        for ln in f:
            if ln != "$$$$\n":
                file_str_list.append(ln)
            else:
                # 將對應的內容按照索引寫入文件
                index = index + 1
                with open('{0}.sdf'.format(index), 'w+') as wt:
                    for ds in file_str_list:
                        wt.write(ds)
                file_str_list = []


if __name__ == '__main__':
    splitSDF()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM