{"id":18003026,"url":"https://github.com/zmactep/sdr_tools","last_synced_at":"2025-04-04T09:20:35.387Z","repository":{"id":33785448,"uuid":"37459076","full_name":"zmactep/sdr_tools","owner":"zmactep","description":"classical folding algorithm implemented in Scala","archived":false,"fork":false,"pushed_at":"2016-05-17T20:17:44.000Z","size":13809,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T19:53:34.922Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zmactep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-15T10:38:05.000Z","updated_at":"2018-06-03T04:44:56.000Z","dependencies_parsed_at":"2022-09-08T17:21:35.325Z","dependency_job_id":null,"html_url":"https://github.com/zmactep/sdr_tools","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmactep%2Fsdr_tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmactep%2Fsdr_tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmactep%2Fsdr_tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmactep%2Fsdr_tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zmactep","download_url":"https://codeload.github.com/zmactep/sdr_tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247149489,"owners_count":20891954,"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-29T23:25:10.186Z","updated_at":"2025-04-04T09:20:35.365Z","avatar_url":"https://github.com/zmactep.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sdr_tools\n\n* Master branch: [![Build Status](https://travis-ci.org/biocad/sdr_tools.svg?branch=master)](https://travis-ci.org/biocad/sdr_tools?branch=master)\n* Experimental branch: [![Build Status](https://travis-ci.org/biocad/sdr_tools.svg?branch=experimental)](https://travis-ci.org/biocad/sdr_tools?branch=experimental)\n\nDisclaimer\n===========\n\nI DON'T HAVE ANY IDEA WHAT TYPES OF PROTEINS THIS IMPLEMENTATION SHOULD BE USED FOR, THAT'S WHY I SOLELY RELY ON ARTICLES (which apply folding to globular proteins - for details see readme.md in `scala_code` subfolder). ALSO I HAVE NO IDEA ABOUT HOW MANY CHAINS THEY HAVE (currently there is 1 chain) OR AVERAGE CHAIN LENGTH (that's why `SimplifiedAminoacid` class is made as simple as possible). Other details are selected because of articles used.\n\nIn future everything might have changed - i.e. if I implement alascan, I'll probably handle  proteins with many chains.\n\nIt would be good if you add your remarks/bugreports to [Issues](https://github.com/biocad/sdr_tools/issues). Any type of code review will also be appreciated.\n\nDescription\n============\nThis repo originally was supposed to contain code for finding specificity determining regions (in Scala). But now it contains classical folding algorithm implementation+qhull implementation. Original idea was given by my scientific advisor and it is still unclear, the name of the repo left unchanged.\n\nCurrently this repo is not actively maintained.\n\nThere is still much to do - to move from folding to alascan, to refactor code, etc. Some TODOs can be found in scala_code/README.md in `experimental` branch. Some of them will never appear in `master` branch, they are pure experimental. It isn't my main pet project any more, that's why these changes won't appear tomorrow.\n\nSome kind of current Scala classes diagram can be found [here](http://lttl.r15.railsrumble.com/repo/biocad/sdr_tools). It shows aggregation and composition relations between classes (that little scala project parser app is my experiment also, it's unfinished and was made to save this (I mean, THIS) project from code smells - it actually helped with local God class. I hope it'll help you to understand this project's structure better).\n\n\nsome common, high-level TODOs\n-----------------------------\n\nI decided to make something for my own, evil purposes - probably I will implement these in `experimental` branch only and won't merge them to `master` branch (not too fast, because nobody needs it except me):\n\n- [ ] in Julia: make scripts for parameters generation from PDB sources. Currently these parameters are taken from MCDP dataset, converted to JSON.\n\n- [ ] in Scala: make visualizer. There is rcsb viewer for proteins, I want to try to add optional visualization for folding process with that viewer.\n\n- [ ] in Scala: it would be nice to reimplement some moves or to make them optional.\n\n- [ ] in Scala: it would be nice to implement fragment-based moves (to understand them better).\n\n- [ ] in Scala: there is always option to make algo much more faster - by implementing kd-tree or using some sort of hashing. This article might be useful: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3576911/\n\n\nLicense\n===================\n\nMIT license for code (at first I thought I should use beerware-like license, but... dude, I prefer coffee to beer and most probably we won't meet =\u003e sad squirrel gets no free coffee, alas! Sir Roland to The Dark Tower came and said - \"SOOOO WAT??\". ok, I see, you don't get stupid jokes).\n\nMCDP_dataset currently used in energy function parameters estimates might have different license. In future I plan to write scripts to recalculate these estimates from collection of .pdb files.\n\nRemarks\n===================\n\nSome of todos can be found in `scala_code/README.md` (in russian). There is also option to add specificity determining residues guessing algorithm to old code in python (branch `python_proto`).\n\nBranch `bond-restore` has slightly different implementation of backbone reconstruction: it restores atoms laying on `bond`, not belonging to aminoacid. Worths mention: bond atoms are counted for aminoacid type closer to C-terminus (because I looked at proline and thought that aminoacid would be reconstructed better in that case). Anyway, with that type of reconstruction appearance of blank intervals, closer atoms triangles is still possible. [Feig et al.,2000] states that this type of reconstruction errors is typical for lattice models. That's why I decided not to merge that reconstruction to master branch, but decided to keep it there.\n\nLatest changes will appear in `experimental` branch, some of them will be merged to master, other won't.\n\nAdditional references\n=======================\n\nAll references used in algorithm implementation are given in scala_code/README.md.\n\njulia_scripts\n======================\n\nIt turned out that there is no information on pdb backbone vectors statistics, at least I couldn't find any. Method of obtaining such information is well-defined - that's why I added helper script for collecting such information from protein data bank files (in folder julia_scripts).\n\nProject home page\n=================\n\nThe latest version of code can be found at:\n\nhttp://github.com/biocad/sdr_tools\n\nFeel free to report about any problems and bugs via [Issues page](https://github.com/biocad/sdr_tools/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmactep%2Fsdr_tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzmactep%2Fsdr_tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmactep%2Fsdr_tools/lists"}