ersilia-os / ersilia

The Ersilia Model Hub, a repository of AI/ML models for infectious and neglected disease research.
https://ersilia.io
GNU General Public License v3.0
225 stars 146 forks source link

✍️ Contribution period: Masroor Hussain Shah #611

Closed masroor07 closed 1 year ago

masroor07 commented 1 year ago

Week 1 - Get to know the community

Week 2 - Install and run an ML model

Week 3 - Propose new models

Week 4 - Prepare your final application

masroor07 commented 1 year ago

I am trying to setup Ersilia on my system using WSl 2 (Ubuntu). I have set up the environment, but trying to install Ersilia python package using "pip install -e .", my system crashes.

masroor07 commented 1 year ago

I tried to install ersilia on my system using WSl 2 (Ubuntu). I followed the commands but it did not works.

The total error message shows as below. I'm sorry to bother you, but I'd appreciate your help. Thank you for your hard works.

Obtaining file:///home/masroorshah/ersilia
  Preparing metadata (setup.py) ... done
Collecting bentoml@ git+https://github.com/ersilia-os/bentoml-ersilia.git
  Cloning https://github.com/ersilia-os/bentoml-ersilia.git to /tmp/pip-install-k2y0wew3/bentoml_1a165b7ec33547ffb70557169b405a9f
  Running command git clone --filter=blob:none --quiet https://github.com/ersilia-os/bentoml-ersilia.git /tmp/pip-install-k2y0wew3/bentoml_1a165b7ec33547ffb70557169b405a9f
  Resolved https://github.com/ersilia-os/bentoml-ersilia.git to commit a0f0040a1198e8f1704f0395e5d9ce328aaecf71
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f02d10>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11410>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11810>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11ad0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11e10>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
      ERROR: No matching distribution found for setuptools>=40.8.0
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
paulinebanye commented 1 year ago

I tried to install ersilia on my system using WSl 2 (Ubuntu). I followed the commands but it did not works.

The total error message shows as below. I'm sorry to bother you, but I'd appreciate your help. Thank you for your hard works.

Obtaining file:///home/masroorshah/ersilia
  Preparing metadata (setup.py) ... done
Collecting bentoml@ git+https://github.com/ersilia-os/bentoml-ersilia.git
  Cloning https://github.com/ersilia-os/bentoml-ersilia.git to /tmp/pip-install-k2y0wew3/bentoml_1a165b7ec33547ffb70557169b405a9f
  Running command git clone --filter=blob:none --quiet https://github.com/ersilia-os/bentoml-ersilia.git /tmp/pip-install-k2y0wew3/bentoml_1a165b7ec33547ffb70557169b405a9f
  Resolved https://github.com/ersilia-os/bentoml-ersilia.git to commit a0f0040a1198e8f1704f0395e5d9ce328aaecf71
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f02d10>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11410>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11810>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11ad0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11e10>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
      ERROR: No matching distribution found for setuptools>=40.8.0
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Hi, could you check your internet connection and try again?

masroor07 commented 1 year ago

I tried to install ersilia on my system using WSl 2 (Ubuntu). I followed the commands but it did not works. The total error message shows as below. I'm sorry to bother you, but I'd appreciate your help. Thank you for your hard works.

Obtaining file:///home/masroorshah/ersilia
  Preparing metadata (setup.py) ... done
Collecting bentoml@ git+https://github.com/ersilia-os/bentoml-ersilia.git
  Cloning https://github.com/ersilia-os/bentoml-ersilia.git to /tmp/pip-install-k2y0wew3/bentoml_1a165b7ec33547ffb70557169b405a9f
  Running command git clone --filter=blob:none --quiet https://github.com/ersilia-os/bentoml-ersilia.git /tmp/pip-install-k2y0wew3/bentoml_1a165b7ec33547ffb70557169b405a9f
  Resolved https://github.com/ersilia-os/bentoml-ersilia.git to commit a0f0040a1198e8f1704f0395e5d9ce328aaecf71
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f02d10>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11410>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11810>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11ad0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f2097f11e10>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
      ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
      ERROR: No matching distribution found for setuptools>=40.8.0
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Hi, could you check your internet connection and try again?

I just sorted this issue, but ain't able to fetch a model

masroor07 commented 1 year ago
⬇️  Fetching model eos3b5e: molecular-weight
Checking setup: 0.934s                                                                                                              
Preparing model: 11.815153121948242s                                                                                                
Getting model: 1.909874439239502s                                                                                                   
Packing model: 37.34964108467102s                                                                                                   
Checking if model needs to be integrated to a tool: 0.0018198490142822266s                                                          
 62%|████████████████████████████████████████████████████████████▋                                    | 5/8 [00:52<00:53, 17.69s/it]Traceback (most recent call last):
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connectionpool.py", line 710, in urlopen
    chunked=chunked,
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connection.py", line 424, in connect
    tls_in_tls=tls_in_tls,
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 450, in ssl_wrap_socket
    sock, context, tls_in_tls, server_hostname=server_hostname
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 493, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/ssl.py", line 423, in wrap_socket
    session=session
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/ssl.py", line 870, in _create
    self.do_handshake()
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/ssl.py", line 1139, in do_handshake
    self._sslobj.do_handshake()
ConnectionResetError: [Errno 104] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/requests/adapters.py", line 499, in send
    timeout=timeout,
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connectionpool.py", line 788, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connectionpool.py", line 710, in urlopen
    chunked=chunked,
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/connection.py", line 424, in connect
    tls_in_tls=tls_in_tls,
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 450, in ssl_wrap_socket
    sock, context, tls_in_tls, server_hostname=server_hostname
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 493, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/ssl.py", line 423, in wrap_socket
    session=session
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/ssl.py", line 870, in _create
    self.do_handshake()
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/ssl.py", line 1139, in do_handshake
    self._sslobj.do_handshake()
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/masroorshah/miniconda3/envs/ersilia/bin/ersilia", line 33, in <module>
    sys.exit(load_entry_point('ersilia', 'console_scripts', 'ersilia')())
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/bentoml/cli/click_utils.py", line 138, in wrapper
    return func(*args, **kwargs)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/bentoml/cli/click_utils.py", line 115, in wrapper
    return_value = func(*args, **kwargs)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/bentoml/cli/click_utils.py", line 99, in wrapper
    return func(*args, **kwargs)
  File "/home/masroorshah/ersilia/ersilia/cli/commands/fetch.py", line 43, in fetch
    _fetch(mf, model_id)
  File "/home/masroorshah/ersilia/ersilia/cli/commands/fetch.py", line 12, in _fetch
    mf.fetch(model_id)
  File "/home/masroorshah/ersilia/ersilia/hub/fetch/fetch.py", line 151, in fetch
    self._content()
  File "/home/masroorshah/ersilia/ersilia/hub/fetch/fetch.py", line 85, in _content
    cg = CardGetter(self.model_id, self.config_json)
  File "/home/masroorshah/ersilia/ersilia/hub/fetch/actions/content.py", line 14, in __init__
    self.mc = ModelCard(config_json=config_json)
  File "/home/masroorshah/ersilia/ersilia/hub/content/card.py", line 653, in __init__
    self.ac = AirtableCard(config_json=config_json)
  File "/home/masroorshah/ersilia/ersilia/hub/content/card.py", line 591, in __init__
    AirtableInterface.__init__(self, config_json=config_json)
  File "/home/masroorshah/ersilia/ersilia/db/hubdata/interfaces.py", line 13, in __init__
    self.api_key = self._get_read_only_airtable_api_key()
  File "/home/masroorshah/ersilia/ersilia/db/hubdata/interfaces.py", line 24, in _get_read_only_airtable_api_key
    r = requests.get(url)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/home/masroorshah/miniconda3/envs/ersilia/lib/python3.7/site-packages/requests/adapters.py", line 547, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
 62%|████████████████████████████████████████████████████████████▋                                    | 5/8 [00:53<00:32, 10.69s/it]
masroor07 commented 1 year ago

I am not able to load fetch the model. command: ersilia -v fetch eos3b5e

Error message:

('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
If this error message is not helpful, open an issue at:
 - https://github.com/ersilia-os/ersilia
Or feel free to reach out to us at:
 - hello[at]ersilia.io
leoank commented 1 year ago

Hey @masroor07, This still looks like a connection issue. ersilia downloads a lot of dependencies during model fetching. Your error shows a Connection Reset. Please try to find a good connection and retry. Let us know if the issue persist even after doing this.

masroor07 commented 1 year ago

Hey @masroor07, This still looks like a connection issue. ersilia downloads a lot of dependencies during model fetching. Your error shows a Connection Reset. Please try to find a good connection and retry. Let us know if the issue persist even after doing this.

Yeah, figured it out! Turns out it certainly was a connection error. I ran the command a couple of times before it finally fetched the model.

👍 Model eos3b5e fetched successfully!
(ersilia) masroorshah@DESKTOP-0P188GE:~/ersilia$ ersilia serve eos3b5e
🚀 Serving model eos3b5e: molecular-weight

I was able to get the molecular weight of the molecules by running the following command: ersilia -v api calculate -i "CCCC" Output:

{
    "input": {
        "key": "IJDNQMDRQITEOD-UHFFFAOYSA-N",
        "input": "CCCC",
        "text": "CCCC"
    },
    "output": {
        "mw": 58.123999999999995
    }
}
GemmaTuron commented 1 year ago

Hi @masroor07 !

Great start, thanks for a good reporting of the issue! Normally, as @leoank and @pauline-banye (thanks both for your support) pointed out, every time you see a connection error somewhere its due to internet issues, not related to the code

masroor07 commented 1 year ago

Hi @masroor07 !

Great start, thanks for a good reporting of the issue! Normally, as @leoank and @pauline-banye (thanks both for your support) pointed out, every time you see a connection error somewhere its due to internet issues, not related to the code

Alright ma'am! thank you for the review

masroor07 commented 1 year ago

Motivation statement:

I found about Outreachy and all the work it has been doing to support the people in diversity. Since then, I had been waiting for the opportunity to get to apply to Outreachy. After applying, I was so nervous, waiting for the initial Application's result to come out. And when it did, I straightaway started looking for organizations to contribute to. During the process, i came across Ersilia and all the work done by them to provide powerful data science tools to tackle various infectious in underdeveloped countries.

It felt overwhelming, but interesting and fascinating to me that I will be contributing to something that can help people from under presented group. It excites that I will be getting to interact with people from around the globe and possibly make new friends while learning.

I can also relate to the struggle that the infrastructure of Medical science industry faces in the underdeveloped areas and how Ersilia can help. Ersilia can expose the Medical industries in the underdeveloped countries to new possibilities and better diagnosis of patients.

I have been into various Techstacks like DevOps, Web development and Data analyzation, and am currently a pursuing a Bachelors degree in the field of Computer Science. I have also been interested in AI/ML and have tried learning about it from various online resources. I have worked on various data sets and performed analysis on them.

Ersilia seems like i am heading in the right direction to learn about data science, AI/ML and how I can be someone who can make a difference in the society and motivate many more people from the under-presented. It will also give me the right experience needed to learn more about AI/ML and expose me to Data science. I will try to maximize my data science learnings during the internship and keep working on Data science projects after the internship.

ZakiaYahya commented 1 year ago

Hey @masroor07, This still looks like a connection issue. ersilia downloads a lot of dependencies during model fetching. Your error shows a Connection Reset. Please try to find a good connection and retry. Let us know if the issue persist even after doing this.

i'm getting the same issue, run fetch command multiple times but getting the same error. i have switched to different network as well but no gain. How you able to run it by just running iut multiple times?? i'm doing that since yesterday but it didn't worked

masroor07 commented 1 year ago

Hey @masroor07, This still looks like a connection issue. ersilia downloads a lot of dependencies during model fetching. Your error shows a Connection Reset. Please try to find a good connection and retry. Let us know if the issue persist even after doing this.

i'm getting the same issue, run fetch command multiple times but getting the same error. i have switched to different network as well but no gain. How you able to run it by just running iut multiple times?? i'm doing that since yesterday but it didn't worked

Did you install all the dependencies alright? You can try connecting to a VPN and if you keep getting the same error again, just try after sometime. Hope that helps! In my case, it took me around 3-4 hours to set it up.

ZakiaYahya commented 1 year ago

Hey @masroor07, This still looks like a connection issue. ersilia downloads a lot of dependencies during model fetching. Your error shows a Connection Reset. Please try to find a good connection and retry. Let us know if the issue persist even after doing this.

i'm getting the same issue, run fetch command multiple times but getting the same error. i have switched to different network as well but no gain. How you able to run it by just running iut multiple times?? i'm doing that since yesterday but it didn't worked

Did you install all the dependencies alright? You can try connecting to a VPN and if you keep getting the same error again, just try after sometime. Hope that helps! In my case, it took me around 3-4 hours to set it up.

Yes, i have checked it by running ersilia --help and ersilia catalog commands and it runs successfully. @masroor07 Thanks, i'm trying it by tracking some errors.

masroor07 commented 1 year ago

Hey @masroor07, This still looks like a connection issue. ersilia downloads a lot of dependencies during model fetching. Your error shows a Connection Reset. Please try to find a good connection and retry. Let us know if the issue persist even after doing this.

i'm getting the same issue, run fetch command multiple times but getting the same error. i have switched to different network as well but no gain. How you able to run it by just running iut multiple times?? i'm doing that since yesterday but it didn't worked

Did you install all the dependencies alright? You can try connecting to a VPN and if you keep getting the same error again, just try after sometime. Hope that helps! In my case, it took me around 3-4 hours to set it up.

Yes, i have checked it by running ersilia --help and ersilia catalog commands and it runs successfully. @masroor07 Thanks, i'm trying it by tracking some errors.

Great! glad i could help

GemmaTuron commented 1 year ago

Hi @masroor07,

Please complete the initial outrachy application and we will be ready to continue with some more tasks!

masroor07 commented 1 year ago

Hi @masroor07,

Please complete the initial outrachy application and we will be ready to continue with some more tasks!

Hello @GemmaTuron Sure thing! I will finish my application as soon as possible! Thank you

masroor07 commented 1 year ago

Hi @masroor07,

Please complete the initial outrachy application and we will be ready to continue with some more tasks!

Hello @GemmaTuron, I just finished my initial Outreachy application and am ready to continue with more tasks.

Thank you

GemmaTuron commented 1 year ago

Hi @masroor07 please can you work on this: https://github.com/ersilia-os/eos1bba/issues/4

If the model is not working, try to figure out where is it failing

masroor07 commented 1 year ago

Hi @masroor07 please can you work on this: https://github.com/ersilia-os/eos1bba/issues/4

If the model is not working, try to figure out where is it failing

Alright Ma'am! On it

Thank you for the task

GemmaTuron commented 1 year ago

Just for context: This model has recently been incorporated by @karthikjetty , a Stanford intern at Ersilia. @karthikjetty please stay on top of this testing to make sure the model is working in different systems, and provide feedback when necessary.

Thanks for working together on this!

masroor07 commented 1 year ago

Just for context: This model has recently been incorporated by @karthikjetty , a Stanford intern at Ersilia. @karthikjetty please stay on top of this testing to make sure the model is working in different systems, and provide feedback when necessary.

Thanks for working together on this!

Sure thing! Will let you know if i face any difficulties!

masroor07 commented 1 year ago

Was able to fetch the model eos1bba. Took me a bunch of attempts to fetch the model though! Had to give it a few shots. I used ersilia fetch eos1bba to fetch the model from ersilia hub.

Fetching eos1bba done in time: 0:03:09.924061s
👍 Model eos1bba fetched successfully!

I was also able to view some additional details about the model using ersilia card

GemmaTuron commented 1 year ago

Hi @masroor07 !

great, please also test that actually doing predictions works, and paste the outputs in the issue of that model, as well as testing the google colab implementation. I've also assigned this model to another intern, Zakhia, if she finds issues please try to work together. In our pipeline, each new model incorporated is tested by at least two different people

masroor07 commented 1 year ago

Hi @masroor07 !

great, please also test that actually doing predictions works, and paste the outputs in the issue of that model, as well as testing the google colab implementation. I've also assigned this model to another intern, Zakhia, if she finds issues please try to work together. In our pipeline, each new model incorporated is tested by at least two different people

Alright! Will go through the model and try doing some prediction work. Thank you for the review

ZakiaYahya commented 1 year ago

Hi @GemmaTuron, I fetch and serve model eos1bba successfully on CLI as well as on Colab. But it gave me an error when i execute "run" api after sometime. Same error occurred both on CLI and Colab, The error is "TypeError: 'NoneType' object is not subscriptable". I'm attaching the log file here, eos1bba_log.log

@masroor07, did your run api executed successfully??

@carcablop any idea, how to resolve this??

Thanks.

karthikjetty commented 1 year ago

Hi @ZakiaYahya. Can you try running it again in about an hour? I was making some small changes to the model and realized I accidentally pushed some code I was using for debugging. Let me know what happens.

ZakiaYahya commented 1 year ago

Hi @ZakiaYahya. Can you try running it again in about an hour? I was making some small changes to the model and realized I accidentally pushed some code I was using for debugging. Let me know what happens.

Okay, @karthikjetty once you done just let me know. Thanks.

masroor07 commented 1 year ago

Hi @ZakiaYahya. Can you try running it again in about an hour? I was making some small changes to the model and realized I accidentally pushed some code I was using for debugging. Let me know what happens.

Hi @karthikjetty Any update ?

karthikjetty commented 1 year ago

Hi @masroor07 @ZakiaYahya! Thank you for testing the model! I'm still debugging what's going on! Thank you guys for being proactive. I'll let you guys know when it's ready to test again.

ZakiaYahya commented 1 year ago

Hi @masroor07 @ZakiaYahya! Thank you for testing the model! I'm still debugging what's going on! Thank you guys for being proactive. I'll let you guys know when it's ready to test a

Hi @masroor07 @ZakiaYahya! Thank you for testing the model! I'm still debugging what's going on! Thank you guys for being proactive. I'll let you guys know when it's ready to test again.

Hello @karthikjetty thanks for letting us know. Once you done with debugging, kindly let us know. Thanks.

masroor07 commented 1 year ago

Hi @masroor07 @ZakiaYahya! Thank you for testing the model! I'm still debugging what's going on! Thank you guys for being proactive. I'll let you guys know when it's ready to test again.

Alright! Thank you for the update

GemmaTuron commented 1 year ago

Hi @ZakiaYahya and @masroor07 ,

Thanks for the tests. I'm following up the conversation with @karthikjetty on the specific model issue. It does look like the conversion of the model to output is not well defined.

ZakiaYahya commented 1 year ago

Hi @ZakiaYahya and @masroor07 ,

Thanks for the tests. I'm following up the conversation with @karthikjetty on the specific model issue. It does look like the conversion of the model to output is not well defined.

Alright @GemmaTuron. Yes, it seems like model is having a problem during output conversion as fetch, serve and run api's are working perfectly fine.

masroor07 commented 1 year ago

Hi @ZakiaYahya and @masroor07 ,

Thanks for the tests. I'm following up the conversation with @karthikjetty on the specific model issue. It does look like the conversion of the model to output is not well defined.

Alright! will try to keep up with the updates and try testing the model once the necessary changes are made.

masroor07 commented 1 year ago

SELECTED MODEL: SMILES TO IUPAC After exploring all the models that were for WEEK 2: TASK 1, I have selected this model to work on. From day one of we have been working with SMILES (one of the many ways that is used to represent and name compounds). The reason why I chose this model is because it is core to a number of possible researches in the areas involving designing and synthesizing of new chemical compounds. After going through a few online resources, I could understand that a model like this helps save significant amounts of time and effort in various drug discovery projects. Understanding the application of a model like this can help me have an overall better understanding of things. Also, it will open me to exploring more about Neural networks and other concepts of Machine learning and Deep learning. I will also get to analyze data (chemical data), and improve my data analysis skills. I am also interested in having a better understanding of the implementation of things and this can prove crucial. With the wide number of applications, it is a good way to understand its various use cases in various domains.

masroor07 commented 1 year ago

SELECTED MODEL: SMILES TO IUPAC After exploring all the models that were for WEEK 2: TASK 1, I have selected this model to work on. From day one of we have been working with SMILES (one of the many ways that is used to represent and name compounds). The reason why I chose this model is because it is core to a number of possible researches in the areas involving designing and synthesizing of new chemical compounds. After going through a few online resources, I could understand that a model like this helps save significant amounts of time and effort in various drug discovery projects. Understanding the application of a model like this can help me have an overall better understanding of things. Also, it will open me to exploring more about Neural networks and other concepts of Machine learning and Deep learning. I will also get to analyze data (chemical data), and improve my data analysis skills. I am also interested in having a better understanding of the implementation of things and this can prove crucial. With the wide number of applications, it is a good way to understand its various use cases in various domains.

Hi @GemmaTuron,

Can I work on this model for Week 2?

masroor07 commented 1 year ago

Model Testing for: STOUT (SMILES to IUPAC)

Link to Github repository: https://github.com/Kohulan/Smiles-TO-iUpac-Translator

I cloned the repositories and installed all the dependencies for the model. After setting up the conda environment to run and test the model, I tried running the model using the sample code provied on the projects repository. It threw this error "JVM DLL not found". I generated a log file to debug the probelm:

Testing.txt

From the log file, it was quite obvious that the model needed JDK to be installed on the system. I had JDK installed on my windows, but not on my WSL. I installed JDK on my subsystem (UBUNTU), and was able to run the model.

I tried to run prediction for a few smiles and was able to get the desired output.

Output:

smile-iupac.csv

masroor07 commented 1 year ago

EML PREDICTIONS FOR STOUT MODEL

GemmaTuron commented 1 year ago

EML PREDICTIONS FOR STOUT MODEL

  • I was able to run predictions for the EML file for the STOUT model.
  • Created a simple .py and imported the method translate_forwardcto convert SMILES to IUPAC. Also, to covert IUPAC to SMILES, STOUT has a method called translate_reverse
  • Fetched the csv and converted it into a pandas dataframe to make it easy (eml_df = pd.read_csv('./eml_canonical.csv')).
  • Used the models translate_forward method to convert the smiles present in the eml file to their respective IUPAC standard names.
  • I performed predictions on the first five SMILES from the EML(considering that the dataset was large).
  • I tried running the predictions for the can_smiles column as well. Turns out, the model can process them as well and give their IUPAC standard names.
  • I stored the output into a csv. PREDICTION RESULTS: results.csv

Hi @masroor07 ,

Great start! Can you read a bit about what exactly are SMILES and why the canonical smiles can be read as well? What would be best to use generally?

masroor07 commented 1 year ago

I did read the about SMILES and Canonical smiles.

Note: Canonical form of a SMILE is obtained by canonicalization.

A canonical form is a representation such that every object has a unique representation (with canonicalization being the process through which a representation is put into its canonical form).

CONCLUSION:

REFERENCED DOCS

GemmaTuron commented 1 year ago

Hello @masroor07 ! Great explanations, thanks for your dedication. As an extra task for this week, might I ask you to try to run the ADME-NCATS models? We have had some issues with @pauline-banye with some of them and I'd like to know if these are persistent across users. Could you:

masroor07 commented 1 year ago

Hello @masroor07 ! Great explanations, thanks for your dedication. As an extra task for this week, might I ask you to try to run the ADME-NCATS models? We have had some issues with @pauline-banye with some of them and I'd like to know if these are persistent across users. Could you:

  • Follow the installation detailed in the adme-ncats repo (please, use the development branch, not main)
  • Downlowad the pretrained model PAMPA5
  • Test 5 molecules on the ADME-NCATS model as well as on the model implemented in Ersilia (eos81ew) and compare the results

Alright! Will get onto it as soon as possible

Thank you

masroor07 commented 1 year ago

Hi @pauline-banye, How long does it take to create the environment for the ADME-NCATS model? Seems like it takes a lot of time. Sorry for the inconvenience!

Thank you

GemmaTuron commented 1 year ago

Hi @masroor07

Which is the command you are using that gets stuck? The models must be downloaded manually btw

masroor07 commented 1 year ago

Hi @pauline-banye, How long does it take to create the environment for the ADME-NCATS model? Seems like it takes a lot of time. Sorry for the inconvenience!

Thank you

Hi @masroor07

Which is the command you are using that gets stuck? The models must be downloaded manually btw

It finally completed downloading all the the dependencies but app.py didn't seem to work! I received following error ImportError: cannot import name 'escape' from 'jinja2'. I simply uninstalled Flask and reinstalled Flask to solve the problem. I am now downloading the models for testing.

Thank you

karthikjetty commented 1 year ago

Hi @masroor07 and @ZakiaYahya. Try testing the model now and seeing if you get any errors. Thanks for the catch.

ZakiaYahya commented 1 year ago

Hello @karthikjetty, Thanks for letting us know. I'll try it and will let you know as soon as possible. Thanks.

ZakiaYahya commented 1 year ago

Hi @masroor07 and @ZakiaYahya. Try testing the model now and seeing if you get any errors. Thanks for the catch.

Hello @GemmaTuron AND @karthikjetty, the model is working fine now, you can check the output here

masroor07 commented 1 year ago

Hi @masroor07 and @ZakiaYahya. Try testing the model now and seeing if you get any errors. Thanks for the catch.

Alright!

Hi @masroor07 and @ZakiaYahya. Try testing the model now and seeing if you get any errors. Thanks for the catch.

Hello @GemmaTuron AND @karthikjetty, the model is working fine now, you can check the output here

Great! I will try running some predictions as well.