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

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

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

行和列的位置都在以下三個(gè)列表中的一列中,則對(duì)應(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]

代碼實(shí)現(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))
  # 遍歷矩陣每個(gè)元素
  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!*************")

  # 隨機(jī)測(cè)試幾組
  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實(shí)現(xiàn)mask矩陣示例(根據(jù)列表所給元素)的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)mask矩陣 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Python高級(jí)特性之閉包與裝飾器實(shí)例詳解

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

    Python 圖像處理 Pillow 庫(kù)詳情

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

    Python?__all__變量用法示例詳解

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

最新評(píng)論

友谊县| 迭部县| 岐山县| 雷州市| 永定县| 兴仁县| 北票市| 吉安市| 东阿县| 宝兴县| 杭州市| 稷山县| 夏河县| 拉萨市| 玉树县| 香格里拉县| 封开县| 曲阜市| 莱芜市| 南开区| 武隆县| 原阳县| 呼伦贝尔市| 高邮市| 大竹县| 农安县| 台山市| 吴旗县| 潍坊市| 涪陵区| 繁峙县| 冷水江市| 阜新市| 定陶县| 毕节市| 元江| 贵溪市| 城口县| 荣昌县| 岚皋县| 新晃|