最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)mask矩陣示例(根據(jù)列表所給元素)

 更新時間:2020年07月30日 08:33:21   作者:troublemaker、  
這篇文章主要介紹了python實現(xiàn)mask矩陣示例(根據(jù)列表所給元素),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

行和列的位置都在以下三個列表中的一列中,則對應(yīng)位置為1,其余位置全為0

​ ——[7-56,239-327,438-454,522-556,574-586]

​ ——[57-85,96-112,221-238]

​ ——[113-220,328-437,455-521,557-573]

代碼實現(xiàn)

def generateMaskBasedOnDom(dom_path, length):
  """
  :param dom_path: this is a file path, which contains the following information:
  [7-56,239-327,438-454,522-556,574-586][57-85,96-112,221-238][113-220,328-437,455-521,557-573]
  each [...] means one domain
  :param length: this is the length of this protein
  :return: the mask matrix with size length x length, 1 means inner domain residue pair, otherwise 0
  """
  # 讀取文件
  with open(dom_path, "r", encoding="utf-8") as file:
    contents = file.readlines()

  # 獲得mask位置數(shù)據(jù)
  list0 = []
  list1 = []
  list2 = []
  for list_idx, content in enumerate(contents):
    num_range_list = content.strip()[1:-1].split(",")
    for num_range in num_range_list:
      start_num = int(num_range.split("-")[0])
      end_num = int(num_range.split("-")[1])
      for num in range(start_num, end_num+1):
        if list_idx == 0:
          list0.append(num)
        elif list_idx == 1:
          list1.append(num)
        else:
          list2.append(num)

  mask = np.zeros((length, length))
  # 遍歷矩陣每個元素
  for row in range(mask.shape[0]):
    for col in range(mask.shape[1]):
      if (row in list0 and col in list0) or (row in list1 and col in list1) or (row in list2 and col in list2):
        mask[row][col] = 1

  return mask

if __name__ == "__main__":

  # if no dom file ,please get dom file first
  with open("dom.txt", "w", encoding="utf-8") as f:
    f.write("[7-56,239-327,438-454,522-556,574-586]" + "\n" + "[57-85,96-112,221-238]" + "\n" + "[113-220,328-437,455-521,557-573]")

  file_path = "./dom.txt"
  protein_length = 1000  # mask_matrix size
  mask_matrix = generateMaskBasedOnDom(file_path, protein_length)
  print("*************Generate Mask Matrix Successful!*************")

  # 隨機測試幾組
  print(mask_matrix[7][56]) # 1
  print(mask_matrix[7][239]) # 1
  print(mask_matrix[8][57])  # 0
  print(mask_matrix[57][95]) # 0
  print(mask_matrix[113][573]) # 1

到此這篇關(guān)于python實現(xiàn)mask矩陣示例(根據(jù)列表所給元素)的文章就介紹到這了,更多相關(guān)python實現(xiàn)mask矩陣 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在vscode中配置python環(huán)境過程解析

    在vscode中配置python環(huán)境過程解析

    這篇文章主要介紹了在vscode中配置python環(huán)境過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • python實現(xiàn)排序算法解析

    python實現(xiàn)排序算法解析

    這篇文章主要為大家詳細介紹了python實現(xiàn)排序算法的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 如何修改Jupyter工作路徑(已安裝Anaconda)

    如何修改Jupyter工作路徑(已安裝Anaconda)

    這篇文章主要介紹了如何修改Jupyter工作路徑問題(已安裝Anaconda),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • django框架使用views.py的函數(shù)對表進行增刪改查內(nèi)容操作詳解【models.py中表的創(chuàng)建、views.py中函數(shù)的使用,基于對象的跨表查詢】

    django框架使用views.py的函數(shù)對表進行增刪改查內(nèi)容操作詳解【models.py中表的創(chuàng)建、views.py中

    這篇文章主要介紹了django框架使用views.py的函數(shù)對表進行增刪改查內(nèi)容操作,結(jié)合實例形式詳細分析了models.py中表的創(chuàng)建、views.py中函數(shù)的使用,基于對象的跨表查詢等相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2019-12-12
  • Python使用Selenium實現(xiàn)模擬登錄的示例代碼

    Python使用Selenium實現(xiàn)模擬登錄的示例代碼

    Selenium(本文基于python3.8)是一個功能強大的自動化測試工具,它可以用于模擬用戶在瀏覽器中的行為,比如點擊、輸入、滾動等等,本教程將詳細介紹如何使用Python編寫一個模擬登錄地爬蟲,使用XPath等多種元素匹配方法,需要的朋友可以參考下
    2023-08-08
  • Python?ChineseCalendar包主要類和方法詳解

    Python?ChineseCalendar包主要類和方法詳解

    ChineseCalendar?是一個?Python?包,用于獲取中國傳統(tǒng)日歷信息。這個包提供了中國農(nóng)歷、二十四節(jié)氣、傳統(tǒng)節(jié)日、黃歷等信息,這篇文章主要介紹了Python?ChineseCalendar包簡介,需要的朋友可以參考下
    2023-03-03
  • 創(chuàng)建虛擬環(huán)境打包py文件的實現(xiàn)步驟

    創(chuàng)建虛擬環(huán)境打包py文件的實現(xiàn)步驟

    使用虛擬環(huán)境,可以為每個項目創(chuàng)建一個獨立的Python環(huán)境,每個環(huán)境都有自己的庫和版本,從而避免了依賴沖突,本文主要介紹了創(chuàng)建虛擬環(huán)境打包py文件的實現(xiàn)步驟,感興趣的可以了解一下
    2024-04-04
  • Python高級特性之閉包與裝飾器實例詳解

    Python高級特性之閉包與裝飾器實例詳解

    這篇文章主要介紹了Python高級特性之閉包與裝飾器,結(jié)合實例形式詳細分析了Python閉包與裝飾器的相關(guān)原理、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-11-11
  • Python 圖像處理 Pillow 庫詳情

    Python 圖像處理 Pillow 庫詳情

    這篇文章主要介紹了Python 圖像處理 Pillow 庫,圖像處理是常用的技術(shù),python 擁有豐富的第三方擴展庫,Pillow 是 Python3 最常用的圖像處理庫,目前最高版本5.2.0。Python2 使用Pil庫,兩者是使用方法差不多,區(qū)別在于類的引用不同。下面來看看文章的詳細內(nèi)容
    2021-11-11
  • Python?__all__變量用法示例詳解

    Python?__all__變量用法示例詳解

    這篇文章主要介紹了Python?__all__變量用法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04

最新評論

丰顺县| 靖西县| 阜宁县| 利川市| 拉孜县| 杨浦区| 太仓市| 新邵县| 怀化市| 陵川县| 元谋县| 庆元县| 天水市| 沛县| 屏山县| 吴堡县| 罗定市| 侯马市| 易门县| 河东区| 二连浩特市| 邛崃市| 涪陵区| 二连浩特市| 精河县| 大庆市| 邢台县| 灵台县| 天全县| 高阳县| 三穗县| 衡阳市| 赤峰市| 阿坝县| 庄浪县| 枣强县| 霍林郭勒市| 建湖县| 甘谷县| 瓦房店市| 敦煌市|