Giter VIP home page Giter VIP logo

pyscreener's People

Contributors

bundaberg-joey avatar davidegraff avatar mikemhenry avatar rafalbachorz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyscreener's Issues

How to cite Pyscreener?

Hello - we are finishing the paper where we exstensively used Pyscreener, please advice how to cite properly Pyscreener?

Kind regards,
Rafał

[JOSS review] Installation instructions

Companion of openjournals/joss-reviews/issues/3950

The install instructions are not very clear to me, but after following it step-by-step I tried to check it with:

$ pyscreener-check SCREEN_TYPE METADATA_TEMPLATE

Which seem like a nice feature, but its not clear what are the SCREEN_TYPE and METADATA_TEMPLATE and also there is no usage:

$ pyscreener-check -h    
Traceback (most recent call last):
  File "/Users/rodrigo/software/anaconda3/envs/pyscreener_env/bin/pyscreener-check", line 8, in <module>
    sys.exit(check())
  File "/Users/rodrigo/repos/pyscreener/pyscreener/main.py", line 13, in check
    ps.check_env(sys.argv[1], json.loads(sys.argv[2]))
IndexError: list index out of range

Could you please clarify this step?

An additional note is that to install the packages you need to first add the conda-forge channel with $ conda config --append channels conda-forge

bug in pyscreener-1.2.1

in ps/main.py line 113 " results = virtual_screen.all_results()" should change to " results = virtual_screen.results()"

since in ps/docking/screen.py the class "DockingVirtualScreen" had changed "all_results()" to "results()"

molpal should change as well.

Failed to install pdbfixer

Hi

git version: git version 2.31.GIT
pip version: pip 21.3.1 from /home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip (python 3.8)

I followed the README instruction to install pdbfixer, didnt work for some reason. problem of git?

(molpal) [ama@gpu04 Development]$ pip install git+https://github.com/openmm/pdbfixer.git
Collecting git+https://github.com/openmm/pdbfixer.git
  Cloning https://github.com/openmm/pdbfixer.git to /tmp/pip-req-build-hd4dk6vf
ERROR: Exception:
Traceback (most recent call last):
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 164, in exc_logging_wrapper
    status = run_func(*args)
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 338, in run
    requirement_set = resolver.resolve(
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 73, in resolve
    collected = self.factory.collect_root_requirements(root_reqs)
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 468, in collect_root_requirements
    req = self._make_requirement_from_install_req(
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 430, in _make_requirement_from_install_req
    cand = self._make_candidate_from_link(
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 201, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 281, in __init__
    super().__init__(
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__
    self.dist = self._prepare()
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 225, in _prepare
    dist = self._prepare_distribution()
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 292, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 482, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 527, in _prepare_linked_requirement
    local_file = unpack_url(
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 190, in unpack_url
    unpack_vcs_link(link, location)
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 65, in unpack_vcs_link
    vcs_backend.unpack(location, url=hide_url(link.url))
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py", line 598, in unpack
    self.obtain(location, url=url)
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py", line 512, in obtain
    self.fetch_new(dest, url, rev_options)
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/vcs/git.py", line 259, in fetch_new
    if self.get_git_version() >= (2, 17):
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/vcs/git.py", line 99, in get_git_version
    return tuple(int(c) for c in match.groups())
  File "/home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages/pip/_internal/vcs/git.py", line 99, in <genexpr>
    return tuple(int(c) for c in match.groups())
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

Also tried git clone to local then install. Looks like some dependency issue??

(molpal) [ama@gpu04 Development]$ pip install -e pdbfixer
Obtaining file:///home/UK/ama/Development/pdbfixer
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in /home/UK/ama/.conda/envs/molpal/lib/python3.8/site-packages (from pdbfixer==1.8.1) (1.21.2)
ERROR: Could not find a version that satisfies the requirement openmm>=7.1 (from pdbfixer) (from versions: 0.1, 0.2)
ERROR: No matching distribution found for openmm>=7.1

[JOSS review] Community guidelines

Companion of openjournals/joss-reviews/issues/3950

Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

The repository already contains a CODE_OF_CONDUCT.md but would also be beneficial to have a CONTRIBUTING.md detailing how to contribute to the repository, also there should be issue templates for feature requests/bugs/questions.

handle errors during virtual screen?

i am using ps to do vs, (scores = vs(virtual_lib)),

however, when vs meets some molecular that can't be processed correctly (e.g., rdkit can't generate conformer), the vs process will crash rather than pass/handle those molecular.

I am wandering is there any error handle procedure in ps?

thanks

potential bugs in run_pyscreener_distributed_example.batch

Hi

I think there are 2 potential bugs in run_pyscreener_distributed_example.batch( run_molpal.batch as well) I found with this script ray can not leverage all the resources on a cluster node.

  1. in line 7 "#SBATCH --ntasks-per-node 4". I think "--ntasks-per-node" should always = 1.
    quote: "this will be used to guarantee that each Ray worker runtime will obtain the proper resources" see https://docs.ray.io/en/latest/cluster/slurm.html.

  2. in line 31 and 41, you start ray cluster with " --num-cpus $SLURM_CPUS_ON_NODE ".
    However, this can only let ray use part of cpus in a node. for instance, say you ask 1 node and set "-c = 4" and "--ntasks-per-node 4", ray can only use 4*4=16 cpus eventhough you have 32 cpus in the node. ($SLURM_CPUS_ON_NODE will return 16 instead 32).

suggested config:
######################################################################

#!/bin/bash

#SBATCH --partition=???
#SBATCH --job-name=???
#SBATCH -o %x_%j.out
#SBATCH -e %x_%j.err

### This script works for any number of nodes, Ray will find and manage all resources
#SBATCH --nodes=10
#SBATCH --exclusive
### Give all resources to a single Ray task, ray can manage the resources internally
#SBATCH --ntasks-per-node=1

# Load modules or your own conda environment here
# module load pytorch/v1.4.0-gpu
# conda activate ${CONDA_ENV}
source activate pyscreener

# ===== DO NOT CHANGE THINGS HERE UNLESS YOU KNOW WHAT YOU ARE DOING =====
# This script is a modification to the implementation suggest by gregSchwartz18 here:
# https://github.com/ray-project/ray/issues/826#issuecomment-522116599
redis_password=$(uuidgen)
export redis_password

nodes=$(scontrol show hostnames "$SLURM_JOB_NODELIST") # Getting the node names
nodes_array=($nodes)

node_1=${nodes_array[0]}
ip=$(srun --nodes=1 --ntasks=1 -w "$node_1" hostname --ip-address) # making redis-address

# if we detect a space character in the head node IP, we'll
# convert it to an ipv4 address. This step is optional.
if [[ "$ip" == *" "* ]]; then
  IFS=' ' read -ra ADDR <<< "$ip"
  if [[ ${#ADDR[0]} -gt 16 ]]; then
    ip=${ADDR[1]}
  else
    ip=${ADDR[0]}
  fi
  echo "IPV6 address detected. We split the IPV4 address as $ip"
fi

port=6379
ip_head=$ip:$port
export ip_head
echo "IP Head: $ip_head"

echo "STARTING HEAD at $node_1"
srun --nodes=1 --ntasks=1 -w "$node_1" \
  ray start --head --node-ip-address="$ip" --port=$port --redis-password="$redis_password" --block &
sleep 30

worker_num=$((SLURM_JOB_NUM_NODES - 1)) #number of nodes other than the head node
for ((i = 1; i <= worker_num; i++)); do
  node_i=${nodes_array[$i]}
  echo "STARTING WORKER $i at $node_i"
  srun --nodes=1 --ntasks=1 -w "$node_i" ray start --address "$ip_head" --redis-password="$redis_password" --block &
  sleep 5
done

# ===== Call your code below =====
pyscreener --config vina_dock.ini --ncpu 2

########################################

[FEATURE]: retrieve files for given molecules

Is your feature request related to a problem? Please describe.
Some users have noted that they would like a method by which to programmatically retrieve the in/out files corresponding to a specific compound. They can currently do this themselves by calling VirtualScreen.collect_all() and manually mapping the names of each compound to the collected files and unzipping only those. This is cumbersome.

Desired solution/workflow

# vs: VirtualScreen
# smis: List[str]
y = vs(smis)
best_cpd = smis[np.argmax(y)]
pose_file = vs.get_poses(best_cpd)

Thoughts

  • could return the poses as an array of shape p x n x 3, but that would require additional and some custom PDBQT parsing code (MDanalysis doesn't parse multiple models from a single pdbqt from my understanding)
  • logically a function of the VirtualScreen?
  • should support single or batch retrieval, batch-specific code to come later

[JOSS review] Installation Instruction Simplification

I was able to follow the instructions and run the integration tests 🎉
The details on installing different docking backends was 👌
I do think the installation instructions could be simplified by installing everything from conda-forge:

conda create -n NAME -c conda-forge python=3.8 pip openbabel openmm rdkit pdbfixer

Then the extra step to install pdbfixer from source isn't necessary.

This is a secondary (but related) question:

Are you interested in getting this package on conda-forge? Then end users would only need to (in addtion to installing the backend of thier choice) do:

conda install -c conda-forge pyscreener

cc openjournals/joss-reviews#3950

Error during docking

Hi,

When I run the command "python run.py --config test_configs/test_autobox.ini", I got the following error, can you help me on it? Thanks

File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/vina.py", line 110, in call
return self.dock(*args, **kwargs)
File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/base.py", line 187, in dock
recordsss = self.dock_ensemble(*smis_or_files, **kwargs)
File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/base.py", line 261, in dock_ensemble
ligands = self.prepare_ligands(*smis_or_files, **kwargs)
File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/base.py", line 358, in prepare_ligands
for i, source in enumerate(sources)
File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/base.py", line 358, in
for i, source in enumerate(sources)
File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/base.py", line 370, in _prepare_ligands
return self.prepare_from_csv(source, **kwargs)
File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/base.py", line 509, in prepare_from_csv
start=start, nconvert=nconvert)
File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/base.py", line 428, in prepare_from_smis
self.ncpu, True) as client:
File "/net/sunlab/psunlab1/molecular_data/graphnn/pyscreener/pyscreener/docking/base.py", line 748, in Pool
return Pool(max_workers=num_workers)
UnboundLocalError: local variable 'Pool' referenced before assignment

bug in pyscreener-1.2.0

below is the emg, i have no idea what is it, any idea?

####################################################################
Traceback (most recent call last):
File "/work/home/aixplorerbio_wz/ylk/molpal-main/run.py", line 71, in
main()
File "/work/home/aixplorerbio_wz/ylk/molpal-main/run.py", line 51, in main
explorer = Explorer(path, **params)
File "/work/home/aixplorerbio_wz/ylk/molpal-main/molpal/explorer.py", line 148, in init
self.objective = objectives.objective(**kwargs)
File "/work/home/aixplorerbio_wz/ylk/molpal-main/molpal/objectives/init.py", line 9, in objective
return DockingObjective(objective_config, **kwargs)
File "/work/home/aixplorerbio_wz/ylk/molpal-main/molpal/objectives/docking.py", line 51, in init
self.virtual_screen = ps.virtual_screen(
File "/work/home/aixplorerbio_wz/miniconda3/envs/molpal/lib/python3.8/site-packages/pyscreener/docking/init.py", line 88, in virtual_screen
return DockingVirtualScreen(get_runner(software), *args, **kwargs)
TypeError: init() takes from 6 to 16 positional arguments but 18 were given

running time

Dear authors,

Thanks for your great project! However, when I use pyscreener, the running time for each molecule is 30 seconds in average. Do you have any suggestions for accelerating the process?

[FEATURE]: integrate fpocket (or other pocket/cavity software) to locate candidate box(es)

Is your feature request related to a problem? Please describe.
There's no problem right now. There's a slight inconvenience about locating the pocket/cavity for Vina. So, pyscreener can integrate this feature so that providing the box can be automated as well

Use-cases/examples of this new feature
The user will provide just a pdb file and smiles formatted ligand and start the docking without worrying about the x,y,z center or size of the box.

Desired solution/workflow
There's autobox example in config samples, however it determines the box location and size by using the ligand in the PDB file (HETATM). This won't work if there's no ligand in PDB file. So, users should provide any PDB file (protein only) and location of the box should be calculated automatically. I suggest fpocket as an option. Since fpocket generates many pockets, best one should be considered for x,y,z center and size extraction.

[JOSS review] Example usage

Companion of openjournals/joss-reviews/issues/3950

Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).

Some exemple usage is provided in the paper and also in the README.md, but would be good to have it as a script in a new examples/ folder. This is very helpful for users as a starting point to setup their own experiments and a quick way to experiment with the software capabilities.

Examples about how to use the docking oracle.

Hi,

I'm new to molecule docking and not familiar with the data format mentioned in README. Can you provide some sample data and command line or script to help me understand how to use your package? Thanks

Pool variable

When I test the installation by:

python3 run.py --config test_configs/test_autobox.ini

I am receving an output below. What can be the problem?

Thanks in advance,


  •  ____  __  ____________________  ___  ____  ___  _____  *
    
  • / __ \/ / / / ___/ ___/ ___/ _ \/ _ \/ __ \/ _ \/ ___/  *
    
  • / // / // (__ ) /__/ / / __/ __/ / / / __/ / *
  • / ./_, //___// _/_// //___// *
  • // /___/ *

Welcome to Pyscreener!

Pyscreener will be run with the following arguments:
buffer: 5.0
center: [-18.0, 13.5, -17.0]
config: test_configs/test_autobox.ini
copy_all: False
distributed: False
docked_ligand_file: testing_inputs/5WIU_with_ligand.pdb
enclose_spheres: True
ensemble_score_mode: best
extra: None
ligands: ['testing_inputs/test_ligands.csv']
mode: docking
n_cluster: 10
name: test_autobox
nconvert: None
ncpu: 1
num_workers: -1
pH: 7.0
pdbids: None
postprocessing_options: none
preprocessing_options: none
receptors: ['testing_inputs/5WIU.pdb']
repeat_score_mode: best
repeats: 1
root: .
score_mode: best
size: [14.0, 12.0, 15.0]
software: qvina
start: 0
title_line: True
use_3d: False
use_largest: False
verbose: 0
viz_mode: text

Preprocessing ...
Done!
Preparing and screening inputs ...
adding gasteiger charges to peptide
Sorry, there are no Gasteiger parameters available for atom 5WIU:A:GLN280:OE1
Sorry, there are no Gasteiger parameters available for atom 5WIU:A:GLN290:OE1
Warning: hydrogens, ['HG', 'HG', 'HG1', 'HG1', 'HG', 'HH', 'HG', 'HG', 'HG', 'H', 'HH', 'H21H', 'HG', 'HD21', 'HH', 'HG', 'HG1', 'HG1', 'HG1', 'HZ3', 'HZ3', 'HG', 'HE22', 'HG1', 'HG1', 'H21H', 'HH', 'HE21', 'HH', 'HG1', 'HG', 'HG1', 'HH', 'HG', 'HG1', 'H21H'] , with no bonds!
Traceback (most recent call last):
File "run.py", line 78, in
main()
File "run.py", line 42, in main
**params)
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/vina.py", line 110, in call
return self.dock(*args, **kwargs)
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 187, in dock
recordsss = self.dock_ensemble(*smis_or_files, **kwargs)
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 261, in dock_ensemble
ligands = self.prepare_ligands(*smis_or_files, **kwargs)
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 358, in prepare_ligands
for i, source in enumerate(sources)
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 358, in
for i, source in enumerate(sources)
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 370, in _prepare_ligands
return self.prepare_from_csv(source, **kwargs)
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 509, in prepare_from_csv
start=start, nconvert=nconvert)
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 428, in prepare_from_smis
self.ncpu, True) as client:
File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 748, in Pool
return Pool(max_workers=num_workers)
UnboundLocalError: local variable 'Pool' referenced before assignment

[JOSS review] Criptic error running example

When running the provided example:

# example/benzene_5wiu.py
import pyscreener as ps
import ray
ray.init()

metadata = ps.build_metadata("vina")
virtual_screen = ps.virtual_screen("vina", ["integration-tests/inputs/5WIU.pdb"], (-18.2, 14.4, -16.1), (15.4, 13.9, 14.5), metadata, ncpu=8)

scores = virtual_screen("c1ccccc1")
scores
$ python example/benzene_5wiu.py 
2022-01-12 14:20:06,884 INFO services.py:1338 -- View the Ray dashboard at http://127.0.0.1:8265
Traceback (most recent call last):
  File "example/benzene_5wiu.py", line 9, in <module>
    scores = virtual_screen("c1ccccc1")
  File "/Users/rodrigo/repos/pyscreener/pyscreener/docking/screen.py", line 169, in __call__
    planned_simulationsss = self.plan(sources, smiles)
  File "/Users/rodrigo/repos/pyscreener/pyscreener/docking/screen.py", line 243, in plan
    planned_simulationsss = [
  File "/Users/rodrigo/repos/pyscreener/pyscreener/docking/screen.py", line 244, in <listcomp>
    [
  File "/Users/rodrigo/repos/pyscreener/pyscreener/docking/screen.py", line 245, in <listcomp>
    [
  File "/Users/rodrigo/repos/pyscreener/pyscreener/docking/screen.py", line 246, in <listcomp>
    replace(
  File "/Users/rodrigo/software/anaconda3/envs/pyscreener_env/lib/python3.8/dataclasses.py", line 1264, in replace
    raise TypeError("replace() should be called on dataclass instances")
TypeError: replace() should be called on dataclass instances
(prepare_receptors pid=47498) Traceback (most recent call last):
(prepare_receptors pid=47498)   File "/Users/rodrigo/ADFRsuite-1.0/CCSBpckgs/AutoDockTools/Utilities24/prepare_receptor4.py", line 9, in <module>
(prepare_receptors pid=47498)     from MolKit import Read
(prepare_receptors pid=47498) ImportError: No module named MolKit
(prepare_receptors pid=47498) 
(prepare_receptors pid=47498) ERROR: failed to convert "integration-tests/inputs/5WIU.pdb"

Question about running error

Dear Authors,

I installed pyscreener in conda env.

When I run the command "python run.py --config test_configs/test_vina.ini",
I got the error message like:

ERROR: failed to convert "testing_inputs/5WIU.pdb"
Traceback (most recent call last):
File "", line 1, in
File "/home/njgoo/Data1/program/pyscreener/pyscreener/docking/init.py", line 8, in screener
return Vina(software=software, **kwargs)
File "/home/njgoo/Data1/program/pyscreener/pyscreener/docking/vina.py", line 102, in init
super().init(receptors=receptors, pdbids=pdbids,
File "/home/njgoo/Data1/program/pyscreener/pyscreener/docking/base.py", line 102, in init
self.receptors = receptors
File "/home/njgoo/Data1/program/pyscreener/pyscreener/docking/base.py", line 203, in receptors
raise RuntimeError('Preparation failed for all receptors!')
RuntimeError: Preparation failed for all receptors!

Could you provide information for solving the error?
I also added external software path to PATH in bach_profile.

Thank you!

json.decoder.JSONDecodeError

After install pyscreener, I tried pyscreener-check SCREEN_TYPE METADATA_TEMPLATE command but encountered the following problems:

Traceback (most recent call last): File "/data/yangziyi/anaconda3/envs/Relation/bin/pyscreener-check", line 8, in <module> sys.exit(check()) File "/data/yangziyi/anaconda3/envs/Relation/lib/python3.8/site-packages/pyscreener/main.py", line 13, in check ps.check_env(sys.argv[1], json.loads(sys.argv[2])) File "/data/yangziyi/anaconda3/envs/Relation/lib/python3.8/json/__init__.py", line 357, in loads return _default_decoder.decode(s) File "/data/yangziyi/anaconda3/envs/Relation/lib/python3.8/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/data/yangziyi/anaconda3/envs/Relation/lib/python3.8/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.