{"id":16636640,"url":"https://github.com/aquaskyline/mica-aligner","last_synced_at":"2025-07-11T22:08:56.622Z","repository":{"id":28915071,"uuid":"32440053","full_name":"aquaskyline/MICA-aligner","owner":"aquaskyline","description":"MICA-aligner is a new short-read aligner that is optimized in view of MIC's limitation and the extra parallelism inside each MIC core.","archived":false,"fork":false,"pushed_at":"2023-12-24T15:47:53.000Z","size":1992,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T14:08:47.912Z","etag":null,"topics":["aligner","alignments","bioinformatics","computational-biology","intel-mic"],"latest_commit_sha":null,"homepage":null,"language":"C","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/aquaskyline.png","metadata":{"files":{"readme":"README","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-18T05:36:06.000Z","updated_at":"2019-11-08T21:00:16.000Z","dependencies_parsed_at":"2024-10-12T06:22:26.295Z","dependency_job_id":"fca43a7b-ab6c-440f-a888-5b5db85dd145","html_url":"https://github.com/aquaskyline/MICA-aligner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aquaskyline/MICA-aligner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquaskyline%2FMICA-aligner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquaskyline%2FMICA-aligner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquaskyline%2FMICA-aligner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquaskyline%2FMICA-aligner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aquaskyline","download_url":"https://codeload.github.com/aquaskyline/MICA-aligner/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aquaskyline%2FMICA-aligner/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264904806,"owners_count":23681277,"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":["aligner","alignments","bioinformatics","computational-biology","intel-mic"],"created_at":"2024-10-12T06:22:20.018Z","updated_at":"2025-07-11T22:08:56.578Z","avatar_url":"https://github.com/aquaskyline.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"mica - README\n==================\n\nIntroduction\n------------\nmica - is a pair-end short read alignment software based on the SOAP3/2BWT index.\nThe mica contains majority of the features in SOAP3-DP.\n* Backward compatiblity with SOAP3-dp index.\n* Bi-directional BWT aided alignment to achieve high speed alignment.\n* Dynamics Programming Enhancement to enhance sensitivity.\n* Pipelining of I/O process\n* Multiple input supported\nFurthermore, multi-MIC is also supported in mica to make full use of the \nmultiple MIC processor available to speed up the alignment process.\n\nThe alignment software in this package handles reference sequences in the commonly \nknown FASTA format and short reads in FASTA/FASTQ format (in uncompressed or GZIP format).\n\nThe alignment output is in SAM/BAM format.\n\nmica normally operates with 32 GB main memory for a single MIC setting. \nMemory requirement could go up in case of multiple-MIC settings. For example,\nmica could use up to 64 GB for 3 MIC settings.\n\n\nCitation:\n\"\"MICA: A fast short-read aligner that takes full advantage of Intel® Many Integrated Core Architecture (MIC)\", (in press)\n\nHardware Requirement\n--------------------\nRecommended system requirement\n- A quad core CPU\n- 1+ Co-Processor Intel® Many Integrated Core Architecture\n- Necessary dynamic libraries searchable in environment setting: \"LD_LIBRARY_PATH\"\n- 32GB main memory\n- 64-bit environment\n\n\nInstallation and Configuration\n------------------------------\nmica can be downloaded from this website : http://www.cs.hku.hk/2bwt-tools/\n\nFollow the following steps to install the software after you have \nobtained the software archive.\n\n1. Move the archive to the directory you wish to install it.\n\n2. Unzip the archive with gunzip and tar\n    % tar -xvvf mica-\u003cversion\u003e-x86-64.tar.gz\n    % cd mica-\u003cversion\u003e\n\n3. Inside the archive you should find 6 files extracted.\n   They are:\n   Index building software:                     build-index.sh\n                                                index-builder-step1\n                                                index-builder-tep1.ini\n                                                index-builder-step2\n                                                index-builder-step2.ini\n   Alignment software:                          mica\n   Aligner:                                     mica-pe mica-pe.ini\n\n4. For the usages of these software please refer to the next section.\n\nUpgrade Instruction\n-------------------\nUpgrading into this version of software requires the following actions:\n - 22/12/2013 Though MICA and SOAP3/3-dp in theory supports the same set of index,\n    it's recommended the index to be re-built for MICA as various bug fixes in translation\n    table has been implemented since September 2012. If your index was built with SOAP3-DP \n    revision earlier than 218, to take advantage of the correct chromosome\n    lengths in SAM output, the translation index needs to be re-built. To do that,\n    one may set all construction step to N, except ParseFASTA remains as Y, in\n    soap2-dp-builder.ini and re-run soap2-dp-builder against the reference sequence.\n\nSoftware Usage Guide - Index Builder\n----------------------------------------------\nIndex builder is the essential first step to preprocess a reference\nsequence (FASTA format) for the alignment software. It\ngenerates a 2BWT Index.\n\n    \u003e Limitations\n    -------------\n    Please take note of the following restriction on the index builder\n    1.  Builder assumes the input is a well formatted FASTA file.\n    2.  There can be multiple sequences within the FASTA file; however,\n        the total length of the reference sequences cannot exceed 2^32 - 1.\n    3.  No more than 254 sequences in the FASTA file.\n    4.  Characters other than A, C, G and T will be considered invalid characters.\n        Any segment of more than 10 consecutive invalid characters will be removed.\n        All the rest of the invalid characters will be replaced by \"G\".\n\nTo invoke the builder, follow the step:\n\n    % ./soap2-dp-builder \u003cFASTA sequence file\u003e\n\nE.g.,\n    % ./soap2-dp-builder hg19.fa\n\nIn this example, mica-index-builder-step1 will build up a 2BWT index for the sequence \n\"hg19.fa\". The output index will be \"hg19.fa.index.*\". mica-index-builder-step2 will\nin addition build up a 1/8 sampled suffix array (SA) for MIC, suffixing \".sa8\".\nThere should be 17 files with the same prefix created.\n\nSoftware Usage Guide - Pair-End Alignment\n----------------------------------------------------\nThe alignment software takes in the 2BWT index and two FASTA/FASTQ\nfile contains equal number of short reads for pair-end alignment.\nThere are several options to control the alignment process.\n\n    \u003e Limitations\n    -------------\n    1.  It finds alignment with up to 5 mismatches single character.\n    2.  It supports reads of any length between 20-200.\n    3.  It supports reads contains only A, C, G, T.\n\nPlease invoke the alignment software as follows:\n\n    % ./mica pair \u003cindex\u003e.index \u003cFASTA/FASTQ read file 1\u003e \u003cFASTA/FASTQ read file 2\u003e  -v \u003cinsert size lower limit\u003e -u \u003cinsert size upper limit\u003e [option] ...\n    OR\n    % ./mica pair \u003cindex\u003e.index -i \u003cInput List File\u003e [option] ...\n\n\u003cindex\u003e is the filename of the FASTA reference sequence file you built the index on\n\u003cFASTA/FASTQ read file 1/2\u003e is the filenames of the short reads in FASTA/FASTQ format\n\n    [Mandatory]\n        -v: Lower bound;\n        -u: Upper bound of the insertion size between a pair.\n        A pair will be reported if the insertion size falls\n        between [v,u] and their strands match.\n\n    [Options]\n        -i: Input List File is a plain text file that contains a list of input for the aligner.\n            Following format is expected:\n            \u003cFASTA/FASTQ read file 1\u003e \u003cFASTA/FASTQ read file 2\u003e \u003cinsert size lower limit\u003e \u003cinsert size upper limit\u003e\n            \u003cFASTA/FASTQ read file 1\u003e \u003cFASTA/FASTQ read file 2\u003e \u003cinsert size lower limit\u003e \u003cinsert size upper limit\u003e\n            ...\n            Fields are expected to be delimited by space or tab.\n        -m: Maximum #mismatch allowed. [1-5;Default=2]\n        -h: Alignment type. [Default=2]\n            1 : All Valid Pair-end Alignment\n            2 : All Best Pair-end Alignment\n        -b: Output format. [Default=2]\n            2 : SAM 1.4 (Plain)\n            3 : BAM 1.4 (Binary)\n\n\nExamples:\n\n    % ./mica pair ncbi.genome.fa.index reads_A.fa reads_B.fa -m 4 -h 1 -v 0 -u 1000\nIn this example, it will report all-valid pair-end alignment of reads_A.fa \nnd reads_B.fa with at most 4-mismatch; tolerating insertion size of [0,1000].\n\n    \u003e Multi-MIC Support\n    -------------------------\n    mica supports utilising multiple MIC co-processor to speed up the \n    alignment process. Inside the source code of MICA-PE.c, a compile-time\n    configurable items controls the maximum number of MIC cards equipped on the target\n    machine. This can be updated to reflect the number of MIC coprocessors on the systems.\n        \n        // -----------------------------\n        // Compile-time Configurable #2\n        // -----------------------------\n        // Number of MIC card equipped in the machine.\n        // User may set the numOfMICThread to 0 in mica-pe.ini to disable\n        // a particular MIC card.\n        #define NUM_MIC_EQUIPPED            3\n    \n    NOTE: RECOMPILATION OF THE BINARY IS REQUIRED AFTER THE ABOVE CHANGE.\n\n    Apart from the number of MIC hardware equiped, mica allows user to control\n    how many thread to be spawn within each MIC cards. It's controlled by the runtime ini\n    configuration. Inside mica-pe.ini, \n    the parameter NumOfMICThreads_x controls the number MIC threads to be spawn on MIC#x.\n\n        [MultipleThreading]\n        # Number of MIC threads to be used by the MICA\n        NumOfMICThreads   = 224;\n        NumOfMICThreads_1 = 224;\n        NumOfMICThreads_2 = 224;\n        ...\n        NumOfMICThreads_n = 224;\n\n    By setting this value to k, MICA will configure OpenMP to spawn k threads on the MIC co-processor\n    to perform alignment. If k = 0, the corresponding MIC co-processor will be\n    disabled and not used.\n\n\nOutput Format\n----------------------------------------------\nmica supports output into SAM/BAM v1.4 format.\n\nSAM v1.4 by SAM-tools\n----------------------\nSAM-tools v0.1.19 is included in mica package to faciliate outputting alignment result \ninto SAM output format. We have slightly modified the original code of SAM-tools to make it \ncompilable under icc. Please see http://samtools.sourceforge.net/ for more detail of this package.\nAlso read Multi-threading section for detail of the output files.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faquaskyline%2Fmica-aligner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faquaskyline%2Fmica-aligner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faquaskyline%2Fmica-aligner/lists"}