Skip to content

Commit e0a90fa

Browse files
committed
updating generateSequenceData to pass annotation numbers
1 parent 345c58e commit e0a90fa

File tree

2 files changed

+35
-12
lines changed

2 files changed

+35
-12
lines changed

src/generateSequenceData.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ const objectid = require("bson-objectid");
66

77
module.exports = function generateSequenceData({
88
isProtein,
9-
sequenceLength = 1000
9+
sequenceLength = 1000,
10+
numFeatures,
11+
numParts,
12+
numPrimers,
13+
numTranslations
1014
} = {}) {
1115
let proteinSequence = isProtein && generateSequence(sequenceLength, true);
1216
let sequence = !isProtein && generateSequence(sequenceLength);
@@ -20,17 +24,27 @@ module.exports = function generateSequenceData({
2024
proteinSequence,
2125
translations: isProtein
2226
? undefined
23-
: generateAnnotations(5, 0, sequenceLength - 1, sequenceLength / 3),
27+
: generateAnnotations(
28+
numTranslations || 5,
29+
0,
30+
sequenceLength - 1,
31+
sequenceLength / 3
32+
),
2433
features: generateAnnotations(
25-
10,
34+
numFeatures || 10,
2635
0,
2736
sequenceLength - 1,
2837
sequenceLength / 3
2938
),
3039
primers: isProtein
3140
? undefined
32-
: generateAnnotations(10, 0, sequenceLength - 1, 50),
33-
parts: generateAnnotations(10, 0, sequenceLength - 1, sequenceLength / 3)
41+
: generateAnnotations(numPrimers || 10, 0, sequenceLength - 1, 50),
42+
parts: generateAnnotations(
43+
numParts || 10,
44+
0,
45+
sequenceLength - 1,
46+
sequenceLength / 3
47+
)
3448
};
3549
};
3650

src/generateSequenceData.test.js

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
1-
const generateSequenceData = require('./generateSequenceData')
1+
const generateSequenceData = require("./generateSequenceData");
22
const chai = require("chai");
3-
const { getRangeLength } = require("ve-range-utils");
43

54
chai.should();
65
const chaiSubset = require("chai-subset");
6+
const { map } = require("lodash");
77
chai.use(chaiSubset);
88

9-
describe('generateSequenceData', function() {
10-
it('should generate some nice random data', function() {
11-
generateSequenceData({sequenceLength: 100}).sequence.length.should.equal(100)
12-
})
13-
})
9+
describe("generateSequenceData", function() {
10+
it("should generate some nice random data", function() {
11+
generateSequenceData({ sequenceLength: 100 }).sequence.length.should.equal(
12+
100
13+
);
14+
});
15+
it("numFeatures should work", function() {
16+
const a = generateSequenceData({
17+
sequenceLength: 100,
18+
numFeatures: 100
19+
});
20+
map(a.features).length.should.equal(100);
21+
});
22+
});

0 commit comments

Comments
 (0)