Thomas 3 years ago
parent
commit
31434e66df
3 changed files with 35 additions and 29 deletions
  1. 1 1
      dist/index.d.ts
  2. 31 26
      dist/index.js
  3. 3 2
      index.ts

+ 1 - 1
dist/index.d.ts

@@ -1,3 +1,3 @@
-declare const makeReference: (sequenceName: string, sequence: string, filePath: string) => Promise<boolean>;
+declare const makeReference: (sequenceName: string, sequence: string, filePath: string, lineN?: number) => Promise<boolean>;
 declare const asyncBwaMem: (refPath: string, reads: string | Array<string> | Array<Array<string>>, runName: string, libName: string, outputDir: string, onData: Function, options?: any) => Promise<string[]>;
 export { asyncBwaMem, makeReference };

+ 31 - 26
dist/index.js

@@ -73,33 +73,38 @@ var async_exec = function (prog, args, onData) {
         child.on('exit', function (code) { return resolve(code); });
     });
 };
-var makeReference = function (sequenceName, sequence, filePath) { return __awaiter(void 0, void 0, void 0, function () {
-    return __generator(this, function (_a) {
-        return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
-                var error_1;
-                return __generator(this, function (_a) {
-                    switch (_a.label) {
-                        case 0:
-                            _a.trys.push([0, 3, , 4]);
-                            return [4 /*yield*/, fs_1.default.promises.writeFile(filePath, '>' + sequenceName + '\n' + sequence)];
-                        case 1:
-                            _a.sent();
-                            return [4 /*yield*/, async_exec('bwa', ['index', filePath], function () { return console.log; })];
-                        case 2:
-                            _a.sent();
-                            resolve(true);
-                            return [3 /*break*/, 4];
-                        case 3:
-                            error_1 = _a.sent();
-                            console.log(error_1);
-                            reject(false);
-                            return [3 /*break*/, 4];
-                        case 4: return [2 /*return*/];
-                    }
-                });
-            }); })];
+var makeReference = function (sequenceName, sequence, filePath, lineN) {
+    if (lineN === void 0) { lineN = 80; }
+    return __awaiter(void 0, void 0, void 0, function () {
+        return __generator(this, function (_a) {
+            return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
+                    var r, error_1;
+                    var _a;
+                    return __generator(this, function (_b) {
+                        switch (_b.label) {
+                            case 0:
+                                _b.trys.push([0, 3, , 4]);
+                                r = new RegExp(".{1," + lineN + "}", "g");
+                                return [4 /*yield*/, fs_1.default.promises.writeFile(filePath, '>' + sequenceName + '\n' + ((_a = sequence.match(r)) === null || _a === void 0 ? void 0 : _a.join('\n')))];
+                            case 1:
+                                _b.sent();
+                                return [4 /*yield*/, async_exec('bwa', ['index', filePath], function () { return console.log; })];
+                            case 2:
+                                _b.sent();
+                                resolve(true);
+                                return [3 /*break*/, 4];
+                            case 3:
+                                error_1 = _b.sent();
+                                console.log(error_1);
+                                reject(false);
+                                return [3 /*break*/, 4];
+                            case 4: return [2 /*return*/];
+                        }
+                    });
+                }); })];
+        });
     });
-}); };
+};
 exports.makeReference = makeReference;
 var asyncBwaMem = function (refPath, reads, 
 // R1        : string | Array<string>,

+ 3 - 2
index.ts

@@ -15,10 +15,11 @@ const async_exec = (prog: string, args: string[], onData: Function) => {
     })
 }
 
-const makeReference = async (sequenceName:string, sequence:string, filePath: string) => {
+const makeReference = async (sequenceName:string, sequence:string, filePath: string, lineN = 80) => {
   return new Promise<boolean>(async(resolve, reject) => {
     try {
-      await fs.promises.writeFile(filePath, '>'+sequenceName+'\n'+sequence)
+      const r = new RegExp(".{1," + lineN + "}","g");
+      await fs.promises.writeFile(filePath, '>'+sequenceName+'\n'+ sequence.match(r)?.join('\n'))
       await async_exec('bwa', ['index',filePath], () => console.log)
       resolve(true)
     } catch (error) {