{"id":38683526,"url":"https://github.com/rigdenlab/crops","last_synced_at":"2026-01-17T10:18:05.037Z","repository":{"id":38614031,"uuid":"277857031","full_name":"rigdenlab/crops","owner":"rigdenlab","description":"Cropping and Renumbering Operations for PDB structure and Sequence files","archived":false,"fork":false,"pushed_at":"2024-09-14T18:51:47.000Z","size":2828,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-08T13:56:55.671Z","etag":null,"topics":["bioinformatics","fasta","pdb"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rigdenlab.png","metadata":{"files":{"readme":"README.rst","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-07T15:40:38.000Z","updated_at":"2024-09-14T18:51:50.000Z","dependencies_parsed_at":"2023-11-11T15:21:38.290Z","dependency_job_id":"e580ecf4-505e-4b18-95f6-9a3b5cac0ae0","html_url":"https://github.com/rigdenlab/crops","commit_stats":{"total_commits":282,"total_committers":3,"mean_commits":94.0,"dds":0.04255319148936165,"last_synced_commit":"5a79ebb54a8e18a59a0750c6396fb13b4419a812"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rigdenlab/crops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigdenlab%2Fcrops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigdenlab%2Fcrops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigdenlab%2Fcrops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigdenlab%2Fcrops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rigdenlab","download_url":"https://codeload.github.com/rigdenlab/crops/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigdenlab%2Fcrops/sbom","scorecard":{"id":776240,"data":{"date":"2025-08-11","repo":{"name":"github.com/rigdenlab/crops","commit":"7aa192eeaa59accc510ae18aaf199b68eac5ca49"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/11 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/main.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/rigdenlab/crops/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/rigdenlab/crops/main.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/main.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/main.yml:30","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T03:41:16.757Z","repository_id":38614031,"created_at":"2025-08-23T03:41:16.757Z","updated_at":"2025-08-23T03:41:16.757Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28506061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bioinformatics","fasta","pdb"],"created_at":"2026-01-17T10:18:04.839Z","updated_at":"2026-01-17T10:18:05.028Z","avatar_url":"https://github.com/rigdenlab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: docs/_static/logo_crops_clipart.svg\n   :width: 100%\n   :align: center\n\n************************************************************************\nCropping and Renumbering Operations for PDB structure and Sequence files\n************************************************************************\n\n.. image:: https://img.shields.io/pypi/v/crops\n   :target: https://pypi.org/project/CROPS/\n   :alt: Latest PyPi release\n.. image:: https://img.shields.io/github/license/rigdenlab/crops\n   :target: https://github.com/rigdenlab/crops/blob/master/LICENSE\n   :alt: License\n.. image::https://img.shields.io/pypi/pyversions/crops\n   :target: https://pypi.org/project/CROPS/\n   :alt: PyPI - Python Version\n.. image:: https://readthedocs.org/projects/crops/badge/?version=latest\n   :target: http://crops.readthedocs.io/en/latest/?badge=latest\n   :alt: Documentation Status\n\nAbout CROPS\n+++++++++++\n\nCROPS is a useful toolkit developed by the `Rigden group \u003chttps://github.com/rigdenlab\u003e`_ at the University of Liverpool, England, that allows to perform a number of customisations on structure and sequence files, aimed at improving the outcomes of a variety of processes. CROPS allows to renumber the index of residues in a PDB structure file in order to match the positional index in the complete sequence and extract specific sequences from a large sequence file. It can also make use of a number of databases to find those residues in the sequence that are either artificially inserted or belong in different biological sequences (e.g. Uniprot sequences), in order to remove artificial insertions that can hamper the search for homologues or decrease the score in a molecular replacement operation.\n\nThis toolkit has been developed to perform three specific tasks:\n\n* renumber residue indices in structure files to make them match residue position in the sequence (provided by a sequence file from the same source);\n* crop insertions off sequences in sequence files;\n* crop insertions off structures in structure files;\n* split large sequence files to extract specific sequences from them.\n\nCROPS makes use of a number of databases in order to collect information about segments, insertions, sources, etc. In particular, it is built around the following databases:\n\n* PDB-to-Uniprot `SIFTS database \u003chttps://www.ebi.ac.uk/pdbe/docs/sifts/quick.html\u003e`_,\n* `Uniclust \u003chttps://uniclust.mmseqs.com/\u003e`_ databases,\n* custom user-defined interval files.\n\nIf your software has any dependencies to versions older than CROPS v0.5.0, please update your software. These versions are now deprecated.\n\nSupported Formats\n+++++++++++++++++\n\n* **Sequences:**  *FASTA* --several header formats recognised.\n* **Structures:** *PDB*. *mmCIF* to be implemented.\n* **Databases:**  *CSV* (interval information), *FASTA* (UniProt).\n\nRequirements\n++++++++++++\n\n* **Gemmi:** `gemmi.readthedocs.io \u003chttps://gemmi.readthedocs.io\u003e`_,\n* **BioPython:** `biopython.org \u003chttps://biopython.org\u003e`_.\n\nRead the Docs !!\n++++++++++++++++\n\nYou can find all the documentation including installation instructions and practical examples at `crops.readthedocs.io \u003chttps://crops.readthedocs.io/en/latest/\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frigdenlab%2Fcrops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frigdenlab%2Fcrops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frigdenlab%2Fcrops/lists"}