{"id":22377240,"url":"https://github.com/csbiology/imlp","last_synced_at":"2025-10-24T23:35:27.156Z","repository":{"id":52230656,"uuid":"356192025","full_name":"CSBiology/iMLP","owner":"CSBiology","description":"codebase and dotnet CLI tool for prediction of iMTS-Ls ","archived":false,"fork":false,"pushed_at":"2024-01-15T09:00:18.000Z","size":6490,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-11T23:20:56.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CSBiology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-04-09T08:16:13.000Z","updated_at":"2024-12-27T07:05:43.000Z","dependencies_parsed_at":"2024-01-15T09:58:21.376Z","dependency_job_id":"77b2e6e8-e2fc-47b0-b60b-6d8112c9d836","html_url":"https://github.com/CSBiology/iMLP","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/CSBiology/iMLP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSBiology%2FiMLP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSBiology%2FiMLP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSBiology%2FiMLP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSBiology%2FiMLP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CSBiology","download_url":"https://codeload.github.com/CSBiology/iMLP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSBiology%2FiMLP/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265402833,"owners_count":23759237,"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-12-04T22:13:21.710Z","updated_at":"2025-10-24T23:35:22.123Z","avatar_url":"https://github.com/CSBiology.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iMLP\n\nThe imlp cli tool predicts iMTS-L propensity profiles for proteins of interest.\n\n\u003c!-- TOC --\u003e\n\n- [General](#general)\n- [Installation](#installation)\n    - [Docker (Recommended)](#docker-recommended)\n    - [Dotnet tool](#dotnet-tool)\n        - [External dependencies on linux](#external-dependencies-on-linux)\n        - [External dependencies on windows](#external-dependencies-on-windows)\n    - [Docker](#docker)\n    - [Published binaries](#published-binaries)\n- [Usage](#usage)\n- [Development](#development)\n    - [build](#build)\n    - [test](#test)\n    - [publish self contained libraries](#publish-self-contained-libraries)\n    - [docker](#docker)\n\n\u003c!-- /TOC --\u003e\n\n## General\n\n## Installation\n\n### Docker (Recommended) \n\nThis tool is very easy to install and use with docker.\n\nDependencies: Only [Docker](https://www.docker.com) :whale:!\n\nSteps to run only once:\n1. `docker pull csbdocker/imlp`, this step might take a few minutes, as the image is around 5GB.\n2. `docker run -i -d csbdocker/imlp`, start a container from the just downloaded image and run it in the background.\n\nDone! You now have a docker container from the csbdocker/imlp image. You can find the id of the container and more with:\n\n1. `docker ps -l`\n\nOutput:\n| CONTAINER ID | IMAGE          | COMMAND     | CREATED        | STATUS        | PORTS | NAMES        |\n|--------------|----------------|-------------|----------------|---------------|-------|--------------|\n| da9b7ed591eb | csbdocker/imlp | \"/bin/bash\" | 10 minutes ago | Up 10 minutes |       | loving_moser |\n\nWith this container id (Yours will differ! :warning:) you can start/stop/restart or delete this container. In our case we want to open a console inside the **running** container.\n\n2. `docker exec -it da9b7ed591eb bash`, this will pen a console and you can now type to execute commands inside the container.\n3. Run imlp with `dotnet imlp --help` :tada:\n4. Check out how to use imlp [here](#usage).\n\n#### Using the docker container with mounted directories\n\nThe usual use-case is using an input file in fasta format. Obviously, this file must be accessible in the container that you execute the tool in. \n\nA simple way of doing this is mounting the directory on creation of the container. Note that you should target a subfolder of `data` in the container, as the container starts in /data per default.\n\n```\ndocker run -it csbdocker/imlp --mount type=bind,source=\"\u003cyour-path-here\u003e\",target=/data/\u003ccontainer-path-here\u003e\n```\n\n**Example:**\n\nSuppose you have a file `test.fasta` in `C:/my-folder`:\n\nbind `C:/my-folder` to `/data/fastas`:\n\n```\ndocker run -it csbdocker/imlp --mount type=bind,source=\"C:/my-folder\",target=/data/fastas\n```\n\ninside the container, you can use the container path you just bound to access the file, e.g.:\n\n```\ndotnet imlp -f ./fastas/test.fasta -o ./fastas/output.txt\n```\n\nwhich will run imlp with the fasta input and generate an output file in the same folder, which will also be available on the containers host OS afterwards.\n\n### Dotnet tool\n\nimlp is packaged as dotnet tool. To use it:\n- install the [.NET SDK](https://dotnet.microsoft.com/download) for your system\n- run either `dotnet tool install imlp` (after initializing a local manifest via `dotnet new tool-manifest`) for a local or `dotnet tool install -g imlp` for a global installation\n- you can now run the tool via `dotnet imlp ...` (for a local installation) or `imlp ...` (for a global installation)\n\n#### External dependencies on linux\n\nCNTK has some external dependencies that can not be published with the packaged tool.\n\n- the necessary cntk binaries can be downloaded [here](https://cntk.azurewebsites.net/BinaryDrop/CNTK-2-7-Linux-64bit-CPU-Only.tar.gz)\n- for installation of OpenMPI, please follow [this guide]()\n- finally, apply this fix:\n    - navigate to the location where you unpacked the cntk binaries\n    - run `cp ./cntk/lib/Cntk.Core.CSBinding-2.7.so ./cntk/lib/libCntk.Core.CSBinding-2.7.dll`\n\nall steps can be seen executed in out [Dockerfile](./Dockerfile)\n\n#### External dependencies on windows\n\nCNTK has some external dependencies that can not be published with the packaged tool.\n\nDownload the CNTK package here: https://cntk.ai/dlwc-2.7.html and add the extracted ./cntk/cntk folder to your path variable.\n    \n### Published binaries\n\nDownload links to self-contained binaries can be found under [releases](). Linux users have to apply the same fixes as laid out under the [dotnet tool section](#external-dependencies-on-linux)\n\n## Usage\n\n```shell\nUSAGE: imlp [--help] [--sequence \u003csequence\u003e] [--inputfile \u003cinputFile\u003e] [--outputfile \u003coutputFile\u003e] [--model \u003cplant|nonplant\u003e] [--plotdirectory \u003cplotDirectory\u003e] [--proteinheaderregex \u003cproteinHeaderRegex\u003e]\n            [--verbosity \u003cverbosity\u003e]\n\nOPTIONS:\n\n    --sequence, -s \u003csequence\u003e\n                          A single, one-letter coded amino acid input sequence. Either --sequence (-s) \n                          or --inputFile (-f) must be specified.\n    --inputfile, -f \u003cinputFile\u003e\n                          Path to a fasta formatted input file that may contain multiple entries. Either \n                          --sequence (-s) or --inputFile (-f) must be specified.\n    --outputfile, -o \u003coutputFile\u003e\n                          (optional) Path to the desired output file, which will be tab separated (tsv). \n                          If not specified, output will be printed to stdout instead.\n    --model, -m \u003cplant|nonplant\u003e\n                          (optional) Model to use for prediction. Choose the one that is closest to your \n                          organism of interest: Either 'plant' or 'nonplant'. (default:nonplant)\n    --plotdirectory, -p \u003cplotDirectory\u003e\n                          (optional) Path to a directory to save plots to.\n    --proteinheaderregex, -pr \u003cproteinHeaderRegex\u003e\n                          (optional) Regular expression to extract protein names from fasta headers for \n                          the naming of plot output files. if not provided, plot files will be 'protein_{i}.html', \n                          where i is the index in the input.\n    --verbosity, -v \u003cverbosity\u003e\n                          (optional) The verbosity of the logging process. 0(Silent) | 1(Error) | 2(Warn) | 3(Info) \n                          | \u003e=4 : Debug | (default:1)\n    --help                display this list of options.\n```\n\n## Development\n\n### build \n\n- `dotnet tool restore` (once)\n- `dotnet fake build`\n\n### test\n\n- `dotnet tool restore` (once)\n- `dotnet fake build -t testpackagedtool` (You need to have external dependencies ([win](#external-dependencies-on-windows)/[linux](#external-dependencies-on-linux)) installed)\n\n### publish self contained libraries\n\n- `dotnet tool restore` (once)\n- `dotnet fake build -t publishbinaries` will publish both `win-x64` and `linux-x64` binaries. \n\n### docker\n\n- set the correct imlp version in the containers `IMLP_VERSION` argument\n- `docker build . -t imlp`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsbiology%2Fimlp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsbiology%2Fimlp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsbiology%2Fimlp/lists"}