LPDI-EPFL / masif

MaSIF- Molecular surface interaction fingerprints. Geometric deep learning to decipher patterns in molecular surfaces.
Apache License 2.0
596 stars 157 forks source link

multivalue in apbs #52

Open huanggewudi opened 1 year ago

huanggewudi commented 1 year ago

I cant find : export MULTIVALUE_BIN=/path/to/apbs/APBS-1.5-linux64/share/apbs/tools/bin/multivalue

i do: export MULTIVALUE_BIN=/home/ubuntu/miniconda3/envs/masif/share/apbs/tools/mesh/multivalue.c multivalue is a C program, when i run it , OSError: [Errno 8] Exec format error

huanggewudi commented 1 year ago

I try to add #! /usr/bin/env python3 to multivalue.c

and run: args = [ multivalue_bin, filename_base + ".csv", filename_base + ".dx", filename_base + "_out.csv", ] p2 = Popen(args, stdout=PIPE, stderr=PIPE, cwd=directory) stdout, stderr = p2.communicate()

but i cant get "filename_base_out.csv"

huanggewudi commented 1 year ago

I reinstall anohter apbs(1.5) and do export MULTIVALUE_BIN=/home/ubuntu/miniconda3/envs/masif/share/apbs/tools/bin/multivalue like this airticle but when I run ./data_prepare_one.sh 1MBNA :

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/1MBN_A_out.csv'

it seems multivalue dont work to get /tmp/1MBN_A_out.csv image

pearl-rabbit commented 1 year ago

Have you solved this problem? I also encountered this problem.

huanggewudi commented 1 year ago

apt-get install libncurses5 try this 

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年2月17日(星期五) 晚上7:18 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [LPDI-EPFL/masif] multivalue in apbs (Issue #52)

Have you solved this problem? I also encountered this problem.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

huanggewudi commented 1 year ago

我跑完了配体数据准备部分,加个联系方式?有问题可以讨论

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年2月17日(星期五) 晚上7:18 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [LPDI-EPFL/masif] multivalue in apbs (Issue #52)

Have you solved this problem? I also encountered this problem.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

HShokaku commented 1 year ago

我跑完了配体数据准备部分,加个联系方式?有问题可以讨论 ------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年2月17日(星期五) 晚上7:18 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [LPDI-EPFL/masif] multivalue in apbs (Issue #52) Have you solved this problem? I also encountered this problem. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

你好,我遇到了同样的问题,请问方便加个联系方式讨论一下嘛?

huanggewudi commented 1 year ago

q578141471

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年10月23日(星期一) 晚上10:15 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [LPDI-EPFL/masif] multivalue in apbs (Issue #52)

我跑完了配体数据准备部分,加个联系方式?有问题可以讨论 … ------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年2月17日(星期五) 晚上7:18 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [LPDI-EPFL/masif] multivalue in apbs (Issue #52) Have you solved this problem? I also encountered this problem. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

你好,我遇到了同样的问题,请问方便加个联系方式讨论一下嘛?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

qywMichelle commented 10 months ago

I reinstall anohter apbs(1.5) and do export MULTIVALUE_BIN=/home/ubuntu/miniconda3/envs/masif/share/apbs/tools/bin/multivalue like this airticle but when I run ./data_prepare_one.sh 1MBNA :

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/1MBN_A_out.csv'

it seems multivalue dont work to get /tmp/1MBN_A_out.csv image

I do also meet this problem,when I use this function,most of the pdds work , but a few pdbs can't find _out.csv,have you solved it?may you share it ? bless for you

huanggewudi commented 10 months ago

maybe some pdb cant use apbs to caculate to get xxx_out.csv, you could try to install the latest apbs,i think. I dont use masif after this issue.

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2024年1月27日(星期六) 中午11:21 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [LPDI-EPFL/masif] multivalue in apbs (Issue #52)

I reinstall anohter apbs(1.5) and do export MULTIVALUE_BIN=/home/ubuntu/miniconda3/envs/masif/share/apbs/tools/bin/multivalue like this airticle but when I run ./data_prepare_one.sh 1MBNA :

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/1MBN_A_out.csv'

it seems multivalue dont work to get /tmp/1MBN_A_out.csv

I do also meet this problem,when I use this function,most of the pdds work , but a few pdbs can't find _out.csv,have you solved it?may you share it ? bless for you

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

qywMichelle commented 10 months ago

maybe some pdb cant use apbs to caculate to get xxx_out.csv, you could try to install the latest apbs,i think. I dont use masif after this issue. ------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2024年1月27日(星期六) 中午11:21 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [LPDI-EPFL/masif] multivalue in apbs (Issue #52) I reinstall anohter apbs(1.5) and do export MULTIVALUE_BIN=/home/ubuntu/miniconda3/envs/masif/share/apbs/tools/bin/multivalue like this airticle but when I run ./data_prepare_one.sh 1MBNA : FileNotFoundError: [Errno 2] No such file or directory: '/tmp/1MBN_A_out.csv' it seems multivalue dont work to get /tmp/1MBN_A_out.csv I do also meet this problem,when I use this function,most of the pdds work , but a few pdbs can't find _out.csv,have you solved it?may you share it ? bless for you — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

thanks a lot , i also think it due to unique pdb,because other pdbs can run properly ! Hope you a good new year

BJWiley233 commented 8 months ago

You need to make sure that both pdb2pqr and apbs are actually running, else there will not be any files for multivalue to run on. First try to see what the commands are doing inside computeAPBS function in the file masif/source/triangulation/computeAPBS.py. Here is an example to do so you can then look at the files inside the /tmp directory.

def computeAPBS(vertices, pdb_file, tmp_file_base):
    """
        Calls APBS, pdb2pqr, and multivalue and returns the charges per vertex
    """
    fields = tmp_file_base.split("/")[0:-1]
    directory = "/".join(fields) + "/"
    print("Directory", directory)
    filename_base = tmp_file_base.split("/")[-1]
    pdbname = pdb_file.split("/")[-1]
    print(fields, directory, filename_base, pdbname)
    args = [
        pdb2pqr_bin,
        "--ff=PARSE",
        "--whitespace",
        "--noopt",
        "--apbs-input",
        filename_base + ".in",
        directory+pdbname,
        filename_base,
    ]
    print(args)
    p2 = Popen(args, stdout=PIPE, stderr=PIPE, cwd=directory)
    stdout, stderr = p2.communicate()
    print("APBS .in", filename_base, os.getcwd())
    args = [apbs_bin, filename_base + ".in"]
    print("APBS .in", args)
    p2 = Popen(args, stdout=PIPE, stderr=PIPE, cwd=directory)
    print(p2)
    stdout, stderr = p2.communicate()

    vertfile = open(directory + "/" + filename_base + ".csv", "w")
    for vert in vertices:
        vertfile.write("{},{},{}\n".format(vert[0], vert[1], vert[2]))
    vertfile.close()

    args = [
        multivalue_bin,
        filename_base + ".csv",
        filename_base + ".dx",
        filename_base + "_out.csv",
    ]
    p2 = Popen(args, stdout=PIPE, stderr=PIPE, cwd=directory)
    stdout, stderr = p2.communicate()

    # Read the charge file
    chargefile = open(tmp_file_base + "_out.csv")
    charges = numpy.array([0.0] * len(vertices))
    for ix, line in enumerate(chargefile.readlines()):
        charges[ix] = float(line.split(",")[3])

    remove_fn = os.path.join(directory, filename_base)
    # os.remove(remove_fn)
    # os.remove(remove_fn+'.csv')
    # os.remove(remove_fn+'.dx')
    # os.remove(remove_fn+'.in')
    # os.remove(remove_fn+'-input.p')
    # os.remove(remove_fn+'_out.csv')

    return charges

I comment out the os.remove lines. You should be able to see for instance if you try for a single pdb file, 5TTH_AB.pdb:

$ ls -lt /tmp/5TTH*
-rw-rw-r-- 1 coyote coyote   2798084 Mar 23 20:19 /tmp/5TTH_AB.ply
-rw-rw-r-- 1 coyote coyote   1347986 Mar 23 20:19 /tmp/5TTH_AB_out.csv
-rw-rw-r-- 1 coyote coyote    881687 Mar 23 20:19 /tmp/5TTH_AB.csv
-rw-rw-r-- 1 coyote coyote 265175175 Mar 23 20:19 /tmp/5TTH_AB.dx
-rw-rw-r-- 1 coyote coyote       424 Mar 23 20:18 /tmp/5TTH_AB.in
-rw-rw-r-- 1 coyote coyote   1532170 Mar 23 20:18 /tmp/5TTH_AB
-rw-rw-r-- 1 coyote coyote      7694 Mar 23 20:18 /tmp/5TTH_AB.log
-rw-rw-r-- 1 coyote coyote   1677114 Mar 23 20:18 /tmp/5TTH_AB.pdb
-rw-rw-r-- 1 coyote coyote   1725101 Mar 23 20:18 /tmp/5TTH.pdb
BJWiley233 commented 8 months ago

Ah now I remember. With the newer pdb2pqr tools it's not enough to get an APBS input file (*.in) file just by using the command --apbs-input but you actually need to give it the name of the APBS input file for APBS to run on. So you need to add the file name in the pdb2pqr args such as change:

args = [
        pdb2pqr_bin,
        "--ff=parse",
        "--whitespace",
        "--noopt",
        "--apbs-input",
        pdbname,
        filename_base,
    ]

to this:

args = [
        pdb2pqr_bin,
        "--ff=PARSE",
        "--whitespace",
        "--noopt",
        "--apbs-input",
        filename_base + ".in",
        directory+pdbname,
        filename_base,
    ]
BJWiley233 commented 8 months ago

Also I am going to try to utilize the pre-processing of Masif to run some machine learning on molecular gas tunneling in dioxygenases. Similar to what CAVER3.0 does but utilizing MD trajectories with many oxygen molecules (also CO2 as N2). If anyone has any interest in this let me know and I will fork Masif with my updated code so far. I plan on trying to also utilize pytorch_geometric. This is part of my PhD thesis which I am just starting.

huanggewudi commented 8 months ago

Also I am going to try to utilize the pre-processing of Masif to run some machine learning on molecular gas tunneling in dioxygenases. Similar to what CAVER3.0 does but utilizing MD trajectories with many oxygen molecules (also CO2 as N2). If anyone has any interest in this let me know and I will fork Masif with my updated code so far. I plan on trying to also utilize pytorch_geometric. This is part of my PhD thesis which I am just starting.

Thank you for your answer. I solved this problem by installing the latest version of apbs, but I no longer use masif. I am currently studying protein ligand binding affinity prediction based on graph neural networks. Similar to the article holoprot, I also use pyg. I am only a Chinese master's student, and I don't know enough about the biological knowledge you mentioned. I learn more based on other people's deep learning codes, so I know the people in the direction you mentioned too well.

BJWiley233 commented 8 months ago

Very cool. You will learn the biology in time if you choose to continue your career in computation drug design. I'll keep in touch in case I have any questions regarding holoprot and graph pre-processing.

rjrushi0803 commented 5 months ago

Also I am going to try to utilize the pre-processing of Masif to run some machine learning on molecular gas tunneling in dioxygenases. Similar to what CAVER3.0 does but utilizing MD trajectories with many oxygen molecules (also CO2 as N2). If anyone has any interest in this let me know and I will fork Masif with my updated code so far. I plan on trying to also utilize pytorch_geometric. This is part of my PhD thesis which I am just starting.

Can you plz shere your working code file of MaSIF as I am getting lot of issues in this file I am Using MaSIF for my M.Tech Thesis, It would be a great help if you help me thank you