{"_id":"dna","_rev":"27-dff800182976f8e33c9b1a61544b0e09","name":"dna","description":"utility functions to handle DNA/RNA string data","dist-tags":{"latest":"0.1.6"},"versions":{"0.0.1":{"name":"dna","version":"0.0.1","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","tags":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.0.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"128deb39a63d8323f6450c109efeb18b133ff574","tarball":"https://registry.npmjs.org/dna/-/dna-0.0.1.tgz","integrity":"sha512-8/xhBSkrTMhPezHbepBPEgwFdw1NNvUyntH9z6XXCzY4/mFhjSqelQXjBqeKyA7rWZrS0nmioafWOWpbmvEr0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHy1IlJ4oQ6OEElqfwWcji9qMPXEbi3Y8gDIElAjAKNIAiEAmG2MkcMaJUBefOQoJIie8fhDhXD/TbFGE7QiMG2YpxU="}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.0.2":{"name":"dna","version":"0.0.2","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","tags":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.0.2","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"ca9f02b28daf0b145a15d779e59427c588c08539","tarball":"https://registry.npmjs.org/dna/-/dna-0.0.2.tgz","integrity":"sha512-3RvXlfXfhhoh0HYKdCDw7yleet/9+HymeV3Ta7zhkSaBp0QTjuUD9//EawN98k5zs90DW5aPQos4O942M7gABg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgBpXIZNuC6ESMOV+yExYiDO5L+cmU6mku5dnYyEFIvwIhAItv+PVun6+7yZdvuXTIuf+LwvgLQoZhwzVfN6tDGevz"}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.0.3":{"name":"dna","version":"0.0.3","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","tags":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.0.3","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"a95c427d0aa2cee58420be86e2c8b789e88c4ff2","tarball":"https://registry.npmjs.org/dna/-/dna-0.0.3.tgz","integrity":"sha512-EYfEQIxWy2M/J0ehMdjMcrs6eo7lVquBgMGfMsaA9jdZ1K+SwDwUz3n0TBu2XXKpJ815lszk3V3X1is9oMTSKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHdlbEF+er9g+d7ZwzLsQDyeF3GvBME4ZHIsFS6w2OVAAiEAt5Vq+JlkTWncJzQ3EukZCWbH9HcZN9s0HDVpZiVp11c="}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.0.4":{"name":"dna","version":"0.0.4","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","tags":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.0.4","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.5.9","_defaultsLoaded":true,"dist":{"shasum":"1244e03a688fa21c5ade1d385dd4089dcfebe513","tarball":"https://registry.npmjs.org/dna/-/dna-0.0.4.tgz","integrity":"sha512-mk62ZkPmk0ZChTYwdHif6REjIIfiAF0zTS4UEsSEEZ7sHpkR+DjwzH5U/fNnAP8l1wEvUYUD8jv0tPxbxPPfmA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMbTbZxXRNIWcOYlDG2Y8aDgPGIBxrV73iYWGLbdTOlQIhAJjPdICJKmEJNtZdzyMSq2z+2iPyax+E1jXMSc2IrAEr"}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.0.5":{"name":"dna","version":"0.0.5","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","tags":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.0.5","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"266a8702ad815631194153c0465230ab8bb140d0","tarball":"https://registry.npmjs.org/dna/-/dna-0.0.5.tgz","integrity":"sha512-roru1ZTgQ+DkTxzeDhoN9M/Uc+tMIArJAi12XmbHr3kDatxODhB1T64i0ZCfiRZeHna2YIqaTi0dn72DENlhxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIADPgmC5t9jAtE67jkQLZX2ogIW3QBt5syEggQxERNg/AiEAmikHU3D3VPV9AGG9ckK58gBaquhfVZY9ZtZre50sJOc="}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.0.6":{"name":"dna","version":"0.0.6","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","tags":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.0.6","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"9084a4bd65dab3cc7f20f1d0c61e1e301af1392e","tarball":"https://registry.npmjs.org/dna/-/dna-0.0.6.tgz","integrity":"sha512-LiEkfl/GetoMFp25dYtJlt/JglYzzuI4dcHyr4SkOwMD5htbYfvd9WaIE13ttZ356XlarocIUAV4MWFUcqwU1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbr1PLBkrt1jDj00pfICg96o1UgAlIKYOCtSQJdew38wIgII2oBAMyjxUIZGjcInZ6cSLbY8ASsgkaTqdp2c3C5fM="}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.1.0":{"name":"dna","version":"0.1.0","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","tags":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.1.0","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"16c4ec6ec0eb9faed2b00dca6a1b162a25b90a2a","tarball":"https://registry.npmjs.org/dna/-/dna-0.1.0.tgz","integrity":"sha512-/UuM4aqYK0OYhzVVgZo2t+R8q/8naUD5ZNsVGPdTOL/tvdl80XtBohjXrWNhzd+W0RWWgrGkkzN0nrdmuKaPdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFi2X3OvHXMI696UjO9bIHmSBofCmKSI8wZMgcCq1RYwIhANIbb8bIi+XjeJRGIJeVvG3rXLJoBhyND62aR4wvSAwU"}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.1.2":{"name":"dna","version":"0.1.2","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","keywords":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.1.2","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"0134b37ebb859b730492da1f23781069fa26f364","tarball":"https://registry.npmjs.org/dna/-/dna-0.1.2.tgz","integrity":"sha512-lFi6Y8hpocY6Bro7RZMjglGXB4oQhG+T19mtuGe45zacRx2Wz4zKvA8CL+dobZrR5JwDcGHQeNyEGWufOh83Hg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDl97w7VTjOJPqqIe57w4T4LWIfUFHdUekrsHt6NNI0hAiAm1R/iTVsTzDP/UZ93FKTNpGTMjOKEq6AHhB2NyQpu3w=="}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.1.3":{"name":"dna","version":"0.1.3","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","keywords":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.1.3","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"9d14e070b2496cb812be5b105a6db95293f54f81","tarball":"https://registry.npmjs.org/dna/-/dna-0.1.3.tgz","integrity":"sha512-smnoU6cuxVnAHu2LthnhynTiYaD3tx+WYI7Ek0gNdyFDyufBeAO332boMVKVSOR3SkLcVZ1JIBKHRXP/EpSRJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFu2Iou9HlsD2MaZ1KSDrjzwHK3M+YwMWfK9LsseoA8wIhAKvNEdWsCpwQrbZUerwCMF/9d3B60yCxg1fDZ+X2srrd"}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.1.4":{"name":"dna","version":"0.1.4","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","keywords":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.1.4","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"3fcc4ab803c7f9b629ff2fd6d13a15ed7883b9d1","tarball":"https://registry.npmjs.org/dna/-/dna-0.1.4.tgz","integrity":"sha512-6+svW1iJ34R0B7s+HdVURfdynGncGM9rdw54fhxkfhlFIRLusp7lHdtKOJiWHTtsauByhUvkG+C1KY24zgPRYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBUfDgFgrLvxUWEn+mnuztNQk7f/lxnVpSq3/RCeSYGeAiBCxgX3phoRuS7303mV+A740UeSAvBNy9Njs0QN27VCNg=="}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.1.5":{"name":"dna","version":"0.1.5","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","keywords":["DNA","RNA","FASTA","sequence","bioinformatics"],"_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"_id":"dna@0.1.5","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.105","_nodeVersion":"v0.6.1","_defaultsLoaded":true,"dist":{"shasum":"8ec6717ec3c12229351a4e8ca52ab503435b1456","tarball":"https://registry.npmjs.org/dna/-/dna-0.1.5.tgz","integrity":"sha512-wUiaOYSYxfWb14yFVe01yzSS3t9WsWxkrIaDa/DWQ7z0fHtsqN3pGi31EUOMtl5RN+Eaw11exK824onfRDWSxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYmxnQomzwxy7x9n6Ta9eW0zjBap3Nbnr+BkM+6/8qQQIgZRdzUaSmGOybw7C8PMJnVtiWhDkGBKPtm8heH7JZqW0="}]},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]},"0.1.6":{"name":"dna","version":"0.1.6","main":"./dna.js","engines":{"node":"*"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"description":"utility functions to handle DNA/RNA string data","keywords":["DNA","RNA","FASTA","sequence","bioinformatics"],"_id":"dna@0.1.6","dist":{"shasum":"266662a622638fcbd3dff6495cf5a4a959fe39cd","tarball":"https://registry.npmjs.org/dna/-/dna-0.1.6.tgz","integrity":"sha512-WL8Ffq4MY1N0xI+tu0aKUmrrHgQPMPm9ObUhw7m1Url0DAWI++8I6zX0CZzSL8JgubQmpw9PyqUIAHh53Dnmqg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDDMnYJMEKeHtspdZPeC8rHsHzsxz5eWI8bTkmc597YYAiBFpjOKCqSdm3U292/W16D+K2B0BPGkQcE7fUy2LfCiAg=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"shinout","email":"shinout310@gmail.com"},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}]}},"maintainers":[{"name":"shinout","email":"shinout310@gmail.com"}],"time":{"modified":"2022-06-15T06:14:37.532Z","created":"2011-10-28T07:16:50.316Z","0.0.1":"2011-10-28T07:16:53.178Z","0.0.2":"2011-11-14T09:01:12.726Z","0.0.3":"2011-11-14T11:06:30.360Z","0.0.4":"2011-11-14T11:23:32.844Z","0.0.5":"2011-11-25T06:22:04.355Z","0.0.6":"2011-12-19T02:23:49.145Z","0.1.0":"2012-01-11T02:11:50.282Z","0.1.2":"2012-01-20T02:49:22.477Z","0.1.3":"2012-01-27T07:48:08.981Z","0.1.4":"2012-02-11T05:35:21.671Z","0.1.5":"2012-02-24T02:25:27.336Z","0.1.6":"2014-06-03T15:51:16.411Z"},"author":{"name":"SHIN Suzuki","email":"shinout310@gmail.com"},"readme":"dna\n==========\nUtility functions to handle DNA/RNA strings in bioinformatics. (Node.js)\n\n## Installation ##\n    \n    git clone git://github.com/shinout/dna.git\n\n    OR\n\n    npm install dna\n\n## API Documentation ##\n- dna.complStrand(str, rev, rna)\n- dna.getRandomSeq(len, rna)\n- dna.getFormat(chr, start, end, strand)\n- dna.parseFormat(str, objFormat)\n- dna.writeFasta(rname, seq, wstream, num)\n- dna.padN(seq, len, options)\n- dna.writeFastq(name, seq, qual, wstream)\n- dna.getPosLen(start, end)\n- dna.getStartEnd(pos, len)\n- dna.numberize()\n\n### dna.complStrand(str, rev, rna) ###\nGets a complementary strand of **str**.\n\nIf **rev** is true, reverse the sequence. (5' -> 3').\n\nIf **rna** is true, T -> U .\n\n    dna.complStrand(\"ACCTG\") // TGGAC\n    dna.complStrand(\"ACCTG\", true) // CAGGT\n    dna.complStrand(\"ACCTG\", null, true) // UGGAC\n    dna.complStrand(\"ACCTG\", true, true) // CAGGU\n\n\n### dna.getRandomSeq(len, rna) ###\nGets a random sequence with length **len**.\n\nIf **rna** is true, T -> U.\n\n\n### dna.getFormat(chr, start, end, strand) ###\nGets a formatted position expression by four information.\n\nHere is the formatted position expression.\n\n    chr13:12345678-13456789,-\n    <reference name>:<0 based start>-<0 based end>,<strand>\n\nSo this function returns\n\n**chr**:**start**-**end**,**strand**\n\n\n### dna.parseFormat(str, objFormat) ###\nParses **str** as a formatted position expression.\n\nif **objFormat** is true, returns \n\n    { chr    : \"chr13\",\n      start  : 12345678,\n      end    : 13456789,\n      strand : '-'\n    }\n\nBy default, returns an array.\n\n    [\"chr13\", 12345678, 13456789, '-']\n\n### dna.writeFasta(rname, seq, wstream, num) ###\nWrites fasta to **wstream**.\n\n**rname** is the reference name. Required.\n\n**seq** is the sequence to write. Required.\n\n**wstream** is a writable stream. By default, process.stdout.\n\n**num** is number to fold. By default, 50.\n\nReturns nothing.\n\n    dna.writeFasta(\"title\", \"GCTTCAA\");\n    // >title\n    // GCTTCAA\n\n### dna.padN(seq, len, options) ###\nPads N till the **seq**.length becomes **len**.\n\n**seq** is a string.\n**len** is a number.\n\n**options** is optional object.\n\nIf **options.cutIfOver** is true, and **seq**.length > **len** already, cuts the **seq**.\n\nIf **options.left** is true, pads Ns to the right of **seq**. (N are padded at the right by default.)\n\n\n    dna.padN(\"ACGA\", 10) // ACGANNNNNN\n    dna.padN(\"ACGA\", 3)  // ACGA\n    dna.padN(\"ACGA\", 3, {cutIfOver: true})  // ACG\n    dna.padN(\"ACGA\", 10, {left: true}) // NNNNNNACGA\n\n\n### dna.writeFastq(name, seq, qual, wstream) ###\nWrites fastq to **wstream**.\n\n**name** is the name of the sequence. Required.\n\n**seq** is the sequence to write. Required.\n\n**qual** is the base quality of the sequence. **qual**.length === ***seq***.length.\n\n**wstream** is a writable stream. By default, process.stdout.\n\nReturns boolean (the wstream is writable or not).\n\n    dna.writeFastq(\"title\", \"GCTTCAA\", \"IIHHHAI\");\n    // @title\n    // GCTTCAA\n    // +\n    // IIHHHAI\n\n\n### dna.getPosLen(start, end) ###\nReturns 1-based coordinate position and the length from 0-based coordinate start and end.\n\nReturns an array.\n\nReturns [**start**+1, **end**-**start**]\n\n    dna.getPosLen(3, 10) // [4, 7]\n\n\n### dna.getStartEnd(pos, len) ###\nReturns 0-based coordinate start and end from 1-based coordinate position and the length.\n\nReturns an array.\n\nReturns [**pos**-1, **pos** + **len** -1]\n\n    dna.getStartEnd(3, 10) // [2, 12]\n\n\n### dna.numberize(num, _default) ###\n### dna.numberize(num, name) ###\n\nNumberize **num**.\n\nIf Number(num) is NaN, returns **_default** if given. Otherwise throw an error.\n**name** is used to specify which number occurs the error.\n\n    dna.numberize(\"14\") // 14\n    dna.numberize(\"AA\", 10) // 10\n    dna.numberize(\"AA\", \"position\") // throws an error: \"position is NaN\"\n\n\n## unstable APIs ##\n### dna.getChromCode(name, nothrow) ###\nGets the code (id) of a given chromosome\n\n- chr9  -> 9\n- chr22 -> 22\n- chrX  -> 23\n- chrY  -> 24\n- chrM  -> 25\n- others: -> an exception is thrown.\n\n**name** is the name of a chromosome.\n\nIf **nothrow** is true and not found, returns the original value.\n\n\n### dna.getRegularName(name) ###\nGets the canonical names of a given chromosome.\n\n- 9  -> chr9\n- chromosome22 -> chr22\n- CHRUN_GN000239 -> chrUn_gl000239\n- others: -> throw exception\n\n**name** is the name of a chromosome\n\n\n### dna.getChromList(code, fn) ###\nGets possible reference names from the code\n\n- 9  -> [9, chr9, Chr9, CHR9, chrom9, Chrom9, CHROM9]\n\n**code** is a chromosome code or chromosome name\n\n**fn** is optional.\nFunction with its arguments each rname candidate.\nReturns some value when rname is valid,\nReturns false when invalid.\nIf this argument is set, **dna.getChromList()** returns the value **fn** returns.\n\n","keywords":["DNA","RNA","FASTA","sequence","bioinformatics"],"readmeFilename":"README.md"}