{"id":18670019,"url":"https://github.com/blahah/chain","last_synced_at":"2025-04-12T00:31:12.725Z","repository":{"id":8964787,"uuid":"10705501","full_name":"blahah/chain","owner":"blahah","description":"bioinformatic pipelines with minimal effort","archived":false,"fork":false,"pushed_at":"2013-10-20T12:03:27.000Z","size":385,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-16T01:01:01.978Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blahah.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-15T11:33:11.000Z","updated_at":"2024-04-16T01:01:01.979Z","dependencies_parsed_at":"2022-09-06T03:11:26.835Z","dependency_job_id":null,"html_url":"https://github.com/blahah/chain","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/blahah%2Fchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blahah%2Fchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blahah%2Fchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blahah%2Fchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blahah","download_url":"https://codeload.github.com/blahah/chain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223486766,"owners_count":17153240,"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-11-07T08:49:34.153Z","updated_at":"2024-11-07T08:49:34.674Z","avatar_url":"https://github.com/blahah.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"chain\n=====\n\n_bioinformatic pipelines with minimal effort_\n\n## Warning\n\nThis project is pre-alpha. Please don't use the code for anything serious or post issues until we reach alpha.\n\n## Introduction\n\n**chain** is a tool for rapid development, exploration, and use of bioinformatic pipelines. **chain** lets you create and run new pipelines in seconds. Because you can store, share and modify chains, pipeline optimisation becomes easy and reproducible analysis is trivial. Programs can be added with a small amount of code. **chain** comes with several commonly-used bioinformatics tools built in.\n\n### Example workflow\n\nLet's see how it works with some high-throughput RNA sequencing examples.\n\nDesigning a reads-to-expression pipeline for de-novo transcriptomics, using default settings, can be as simple as:\n\n```\nchain --name denovotrans \\\n --description \"a gold-standard de-novo transcriptomics pipeline\" \\\n --define trimmomatic:khmer:velvetoases:gapfiller:cap3:chiminus:transrate:express`\n```\n\nPipeline definitions are stored in plaintext .chain files, so you can share them, import them, or define them directly in the file. The same pipeline would be defined in plaintext as:\n\n```\nname = denovotrans\ndescription = \"a gold-standard de-novo transcriptomics pipeline, ideal for first pass analysis of a new species\"\nprograms = trimmomatic:khmer:velvetoases:gapfiller:cap3:chiminus:tada:express\n```\n\nRunning the chain you just designed is then trivial:\n\n`chain --run denovotrans --left l.fastq --right r.fastq`\n\nYou can store as many pipelines as you like. Let's save a very simple reference-based RNA-Seq pipeline in which we trim, map and quantify reads:\n\n`chain --name rnaseq --define trimmomatic:express`\n\nRunning the RNA-Seq pipeline:\n\n`chain --run rnaseq --left l.fastq --right r.fastq --reference rice_transcriptome.fa`\n\n**chain** knows what inputs each program requires, and can figure out whether the correct ones will be generated by the pipeline. If there's likely to be a problem, you find out right away.\n\n```\n\u003e chain --run rnaseq --left l.fastq --right r.fastq\nerror: the eXpress step requires a reference file, and none of the preceding steps will generate one. \nplease re-run the chain specifying a reference with the --reference option\n```\n\nTo review the chains you've stored:\n\n`chain --list`\n\nTo get a detailed protocol for a particular pipeline:\n\n`chain --protocol denovotrans`\n\nMaybe you want to vary the settings of one program in the pipeline. First you list the settings available for that program:\n\n`chain --detail velvetoases`\n\n...then create a child pipeline with some settings changed:\n\n`chain --name denovotrans2 --inherit denovotrans --options velvetoases:k=21-71,step=10,mergek=27`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblahah%2Fchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblahah%2Fchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblahah%2Fchain/lists"}