Пример #1
0
def genRandomSeqDbIid(path, lengths):
    """Generate random reference sequences as SeqDbFasta.
    Each generated sequence is generated independently"""
    seqDb = SeqDbFasta(path, save=True)
    # assert len(set(lengths)) == len(lengths),"Reference lengths must be unique"
    seqLen = {}
    for (iIcm, length) in enumerate(lengths):
        idIcm = iIcm
        writer = seqDb.fastaWriter(idIcm)
        seq = randomSeq(length)
        writer.record(str(idIcm), seq)
        writer.close()
        seqDb.finById(idIcm)
        seqLen[idIcm] = length
    seqDb.opt.seqLen = seqLen
    seqDb.save()
Пример #2
0
def genRandomSeqDbCat(path, length, nCopies):
    """Generate random reference sequences as SeqDbFasta.
    The first sequence is generated as random, and each next
    one is a concatenation of N copies of the first."""
    seqDb = SeqDbFasta(path, save=True)
    seqBase = randomSeq(length)
    # assert len(set(lengths)) == len(lengths),"Reference lengths must be unique"
    seqLen = {}
    for iIcm in xrange(nCopies):
        idIcm = iIcm
        writer = seqDb.fastaWriter(idIcm)
        seq = n.tile(seqBase, iIcm + 1)
        writer.record(str(idIcm), seq)
        writer.close()
        seqLen[idIcm] = len(seq)
    seqDb.opt.seqLen = seqLen
    seqDb.save()