{"id":17255155,"url":"https://github.com/unixjunkie/pharmer","last_synced_at":"2025-04-14T05:41:45.505Z","repository":{"id":144782606,"uuid":"153556776","full_name":"UnixJunkie/pharmer","owner":"UnixJunkie","description":"mirror of https://svn.code.sf.net/p/pharmer/code/trunk","archived":false,"fork":false,"pushed_at":"2022-10-03T10:22:12.000Z","size":279,"stargazers_count":5,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T19:39:41.022Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UnixJunkie.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-18T03:14:19.000Z","updated_at":"2025-03-22T15:05:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"398ec511-4c72-4cfe-a826-7090ed46ea01","html_url":"https://github.com/UnixJunkie/pharmer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fpharmer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fpharmer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fpharmer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnixJunkie%2Fpharmer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UnixJunkie","download_url":"https://codeload.github.com/UnixJunkie/pharmer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248830424,"owners_count":21168272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T07:10:50.144Z","updated_at":"2025-04-14T05:41:45.485Z","avatar_url":"https://github.com/UnixJunkie.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Pharmer: Efficient and Exact 3D Pharmacophore Search\nCopyright (C) 2011  David Ryan Koes and the University of Pittsburgh\n\nLICENSE\n\nThis program is free software; you can redistribute it and/or\nmodify it under the terms of the GNU General Public License\nas published by the Free Software Foundation; either version 2\nof the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program; if not, write to the Free Software\nFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n\n\nBUILDING\n\nCurrently, the easiest way to build pharmer is to checkout the source code\nusing Eclipse and build it with the automatically generated make files.\nThe contribution of a standard autoconf/make build system would be greatly\nappreciated.\n\nThere are several dependencies on third party libraries:\nBoost (currently building against version 1.45)\nhttp://www.boost.org/\n\nJsonCpp\nhttp://jsoncpp.sourceforge.net/\n\nFastCGI\nhttp://www.fastcgi.com\n\ncgicc\nhttp://www.gnu.org/software/cgicc/\n\ntcmalloc (google performance tools)\nhttp://code.google.com/p/google-perftools/\n\nOpenBabel\nhttp://openbabel.org/\n\n\nUSING\n\nThe --help option will provide the following:\n\nUSAGE: pharmer [options] --cmd command [pharma, dbcreate, dbsearch, server]\n\nOPTIONS:\n  -bloom-large=\u003cuint\u003e  - Number of bits for coarse discretization fingerprint.\n  -bloom-small=\u003cuint\u003e  - Number of bits for fine discretization fingerprint.\n  -cmd=\u003cstring\u003e        - command [pharma, dbcreate, dbsearch, server]\n  -dbdir=\u003cstring\u003e      - database directory(s)\n  -extra-info          - Output additional molecular properties.  Slower.\n  -file-partition      - Partion database slices based on files\n  -help                - Display available options (--help-hidden for more)\n  -in=\u003cstring\u003e         - input file(s)\n  -logdir=\u003cstring\u003e     - log directory for server\n  -max-hits=\u003cn\u003e        - return at most n results\n  -max-orient=\u003cn\u003e      - return at most n orientations of each conformation\n  -max-rmsd=\u003cnumber\u003e   - maximum allowed RMSD; default max allowed by query\n  -max-weight=\u003cuint\u003e   - maximum allowed molecular weight\n  -nthreads=\u003cn\u003e        - utilize n threads; default 1\n  -out=\u003cstring\u003e        - output file\n  -pharmaspec=\u003cstring\u003e - pharmacophore specification\n  -port=\u003cuint\u003e         - port for server to listen on\n  -print               - print results\n  -q                   - quiet; suppress informational messages\n  -reduceconfs=\u003cn\u003e     - return at most n conformations for each molecule\n  -separate-weight     - Segregate database based on molecular weight\n  -show-query          - print query points\n  -sort-rmsd           - Sort results by RMSD.\n  -unweighted-rmsd     - Compute minimal RMSD without radius weights\n\nTo IDENTIFY the pharmacophore features of a molecule ex.pdb:\n pharmer pharma -in ex.pdb\n pharmer pharma -in ex.pdb -out out.sdf\n pharmer pharma -in ex.pdb -out out.json\nFor interactive, graphical editting of pharmacophore features, try\nhttp://zincpharmer.csb.pitt.edu\nThe saved session file is a json file that can be used as input for Pharmer.\n\nTo CREATE a database DB from library.sdf:\n pharmer dbcreate -dbdir DB -in library.sdf\nIf you have multiple disk drives, you can improve performance by striping the\ndatabase across the drives:\n pharmer dbcreate -dbdir /drive1/DB -dbdir /drive2/DB -in library.sdf\nIf you pre-split the input file things will go faster:\n pharmer dbcreate -dbdir /drive1/DB -dbdir /drive2/DB -file-partition -in library1.sdf -in library2.sdf\n\nTo SEARCH a database:\n pharmer dbsearch -dbdir DB -in query.json\n pharmer dbsearch -dbdir DB -in query.sdf\n pharmer dbsearch -dbdir DB -in query.ph4\n\nBUGS (Not Really)\n\nWhen working with large datasets spread across multiple hard drives,\nyou will likely run into a number of limits that will result in \nsegmentation faults (type 6 or 11).  These changes need to be in place\nbefore building the database, or it will silently create incomplete \ndatabases that crash when you search them.\n\nMake sure nofile is set high enough (1000000) in /etc/security/limits.conf\n\nMake sure vm.max_map_count is set high enough - add the following to /etc/sysctl.conf\nvm.max_map_count=1000000\n\nMake sure you build against libcurl4-openssl-dev, not gnutls, or you\nwill get fortify_fail errors.\n\nContinuing with curl bugs, DNS timeouts can cause a longjmp error:\nhttp://stackoverflow.com/questions/9191668/error-longjmp-causes-uninitialized-stack-frame\nto resolve these rebuild curl with --enable-ares\n\nYou can ignore all the curl issues entirely if you build with -DSKIP_REGISTERZINC\nwhich is probably what you want unless you are using the full ZINC database.\n\nSome versions of eigen3 will trigger an assert, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG, at compile time.\nThis can be ignored in the latest versions of eigen3 with -DEIGEN_DISABLE_STACK_SIZE_ASSERT\nIf your version hasn't had this patch applied (which is currently true with Ubuntu 14.04),\nthen you will have to modify Eigen/src/Core/DenseStorage.h appropriately.\n\nCurrently, on Ubuntu 14.04, g++ 4.8 experiences an internal compiler error.\nUse g++-4.6 to get around this.\n\nBUGS (Really)\n\nSend any bug reports to dkoes@pitt.edu with a complete test case.\n\nCITING\n\nPlease use the citation from http://pubs.acs.org/doi/abs/10.1021/ci200097m\n\nDEFAULT PHARMACOPHORE DEFINITIONS\nAromatic 18 0 1.1 1 0.1 \na1aaaaa1\na1aaaa1\n\nHydrogenDonor 1 1 0.5 1 0.1 \n[#7!H0\u0026!$(N-[SX4](=O)(=O)[CX4](F)(F)F)]\n[#8!H0\u0026!$([OH][C,S,P]=O)]\n[#16!H0]\n\nHydrogenAcceptor 89 2 0.5 1 0.1 \n[#7\u0026!$([nX3])\u0026!$([NX3]-*=[!#6])\u0026!$([NX3]-[a])\u0026!$([NX4])\u0026!$(N=C([C,N])N)]\n[$([O])\u0026!$([OX2](C)C=O)\u0026!$(*(~a)~a)]\n\nPositiveIon 7 3 0.75 0 0.1 \n[+,+2,+3,+4]\n[$(CC)](=N)N\n[$(C(N)(N)=N)]\n[$(n1cc[nH]c1)]\n\nNegativeIon 8 4 0.75 0 0.1 \n[-,-2,-3,-4]\nC(=O)[O-,OH,OX1]\n[$([S,P](=O)[O-,OH,OX1])]\nc1[nH1]nnn1\nc1nn[nH1]n1\nC(=O)N[OH1,O-,OX1]\nC(=O)N[OH1,O-]\nCO(=N[OH1,O-])\n[$(N-[SX4](=O)(=O)[CX4](F)(F)F)]\n\nHydrophobic 6 5 1 0 2 \na1aaaaa1\na1aaaa1\n[$([CH3X4,CH2X3,CH1X2,F,Cl,Br,I])\u0026!$(**[CH3X4,CH2X3,CH1X2,F,Cl,Br,I])]\n[$(*([CH3X4,CH2X3,CH1X2,F,Cl,Br,I])[CH3X4,CH2X3,CH1X2,F,Cl,Br,I])\u0026!$(*([CH3X4,CH2X3,CH1X2,F,Cl,Br,I])([CH3X4,CH2X3,CH1X2,F,Cl,Br,I])[CH3X4,CH2X3,CH1X2,F,Cl,Br,I])]([CH3X4,CH2X3,CH1X2,F,Cl,Br,I])[CH3X4,CH2X3,CH1X2,F,Cl,Br,I]\n*([CH3X4,CH2X3,CH1X2,F,Cl,Br,I])([CH3X4,CH2X3,CH1X2,F,Cl,Br,I])[CH3X4,CH2X3,CH1X2,F,Cl,Br,I]\n[C\u0026r3]1~[C\u0026r3]~[C\u0026r3]1\n[C\u0026r4]1~[C\u0026r4]~[C\u0026r4]~[C\u0026r4]1\n[C\u0026r5]1~[C\u0026r5]~[C\u0026r5]~[C\u0026r5]~[C\u0026r5]1\n[C\u0026r6]1~[C\u0026r6]~[C\u0026r6]~[C\u0026r6]~[C\u0026r6]~[C\u0026r6]1\n[C\u0026r7]1~[C\u0026r7]~[C\u0026r7]~[C\u0026r7]~[C\u0026r7]~[C\u0026r7]~[C\u0026r7]1\n[C\u0026r8]1~[C\u0026r8]~[C\u0026r8]~[C\u0026r8]~[C\u0026r8]~[C\u0026r8]~[C\u0026r8]~[C\u0026r8]1\n[CH2X4,CH1X3,CH0X2]~[CH3X4,CH2X3,CH1X2,F,Cl,Br,I]\n[$([CH2X4,CH1X3,CH0X2]~[$([!#1]);!$([CH2X4,CH1X3,CH0X2])])]~[CH2X4,CH1X3,CH0X2]~[CH2X4,CH1X3,CH0X2]\n[$([CH2X4,CH1X3,CH0X2]~[CH2X4,CH1X3,CH0X2]~[$([CH2X4,CH1X3,CH0X2]~[$([!#1]);!$([CH2X4,CH1X3,CH0X2])])])]~[CH2X4,CH1X3,CH0X2]~[CH2X4,CH1X3,CH0X2]~[CH2X4,CH1X3,CH0X2]\n[$([S]~[#6])\u0026!$(S~[!#6])]\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funixjunkie%2Fpharmer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funixjunkie%2Fpharmer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funixjunkie%2Fpharmer/lists"}