Search in sources :

Example 36 with Range

use of com.milaboratory.core.Range in project repseqio by repseqio.

the class ConcatenatedLazySequenceTest method testRandom0.

public <S extends Sequence<S>> void testRandom0(Alphabet<S> alphabet) throws Exception {
    Well44497b w = new Well44497b();
    S sequence = alphabet.getEmptySequence();
    SequenceProvider<S>[] providers = new SequenceProvider[100];
    for (int i = 0; i < 100; i++) {
        final S seq = TestUtil.randomSequence(alphabet, 0, 200);
        sequence = sequence.concatenate(seq);
        providers[i] = SequenceProviderUtils.fromSequence(seq);
        ConcatenatedLazySequence<S> sProvider = new ConcatenatedLazySequence<>(Arrays.copyOf(providers, i + 1));
        if (sequence.size() == 0)
            continue;
        for (int j = 0; j < 10; j++) {
            int from = sequence.size() == 1 ? 0 : w.nextInt(sequence.size() - 1);
            int to = (sequence.size() - from) == 0 ? from : from + w.nextInt(sequence.size() - from);
            Range r = new Range(from, to);
            if (r.isEmpty())
                continue;
            assertEquals(sequence.getRange(r), sProvider.getRegion(r));
        }
    }
}
Also used : CachedSequenceProvider(com.milaboratory.core.sequence.provider.CachedSequenceProvider) SequenceProvider(com.milaboratory.core.sequence.provider.SequenceProvider) Well44497b(org.apache.commons.math3.random.Well44497b) Range(com.milaboratory.core.Range)

Example 37 with Range

use of com.milaboratory.core.Range in project repseqio by repseqio.

the class SequenceResolverTest method rawHttpTest1.

@Test
public void rawHttpTest1() throws Exception {
    Path dir = TempFileManager.getTempDir().toPath().toAbsolutePath();
    Path work = dir.resolve("work");
    Files.createDirectories(work);
    Path cache = dir.resolve("cache");
    Files.createDirectories(cache);
    SequenceResolvers.initDefaultResolver(cache);
    SequenceResolver defaultResolver = SequenceResolvers.getDefault();
    NucleotideSequence seq = defaultResolver.resolve(new SequenceAddress("http://files.milaboratory.com/test-data/test.fa#testRecord")).getRegion(new Range(10, 30).inverse());
    Assert.assertEquals(new NucleotideSequence("GCTCCACCACAAGACACTCT"), seq);
}
Also used : Path(java.nio.file.Path) NucleotideSequence(com.milaboratory.core.sequence.NucleotideSequence) Range(com.milaboratory.core.Range) SingleFastqReaderTest(com.milaboratory.core.io.sequence.fastq.SingleFastqReaderTest) Test(org.junit.Test)

Example 38 with Range

use of com.milaboratory.core.Range in project repseqio by repseqio.

the class SequenceBaseTest method test4m.

@Test
public void test4m() throws Exception {
    SequenceBase base = new SequenceBase();
    base.put("A1", 100, new NucleotideSequence("ATTAGACACACAC"));
    base.put("A1", 18, new NucleotideSequence("CAC"));
    base.put("A1", 10, new NucleotideSequence("ATTAGACACACAC"));
    assertEquals(new NucleotideSequence("ATTAGACACAC"), base.get("A1", new Range(10, 21)));
    assertEquals(new NucleotideSequence("TTAG"), base.get("A1", new Range(101, 105)));
}
Also used : NucleotideSequence(com.milaboratory.core.sequence.NucleotideSequence) Range(com.milaboratory.core.Range) Test(org.junit.Test)

Example 39 with Range

use of com.milaboratory.core.Range in project repseqio by repseqio.

the class SequenceBaseTest method test5m.

@Test
public void test5m() throws Exception {
    SequenceBase base = new SequenceBase();
    base.put("A1", 100, new NucleotideSequence("ATTAGACACACAC"));
    base.put("A1", 10, new NucleotideSequence("ATTAGACACACAC"));
    base.put("A1", 18, new NucleotideSequence("CAC"));
    assertEquals(new NucleotideSequence("ATTAGACACAC"), base.get("A1", new Range(10, 21)));
    assertEquals(new NucleotideSequence("TTAG"), base.get("A1", new Range(101, 105)));
}
Also used : NucleotideSequence(com.milaboratory.core.sequence.NucleotideSequence) Range(com.milaboratory.core.Range) Test(org.junit.Test)

Example 40 with Range

use of com.milaboratory.core.Range in project repseqio by repseqio.

the class SequenceBaseTest method test2.

@Test
public void test2() throws Exception {
    SequenceBase base = new SequenceBase();
    base.put("A1", 10, new NucleotideSequence("ATTAGACACACAC"));
    base.put("A1", 20, new NucleotideSequence("CACATA"));
    assertEquals(new NucleotideSequence("ACACA"), base.get("A1", new Range(19, 24)));
}
Also used : NucleotideSequence(com.milaboratory.core.sequence.NucleotideSequence) Range(com.milaboratory.core.Range) Test(org.junit.Test)

Aggregations

Range (com.milaboratory.core.Range)45 Test (org.junit.Test)23 NucleotideSequence (com.milaboratory.core.sequence.NucleotideSequence)19 VDJCHit (com.milaboratory.mixcr.basictypes.VDJCHit)4 ArrayList (java.util.ArrayList)4 SingleFastqReaderTest (com.milaboratory.core.io.sequence.fastq.SingleFastqReaderTest)3 MutationsBuilder (com.milaboratory.core.mutations.MutationsBuilder)3 ReferencePoint (io.repseq.core.ReferencePoint)3 Path (java.nio.file.Path)3 NSequenceWithQuality (com.milaboratory.core.sequence.NSequenceWithQuality)2 Clone (com.milaboratory.mixcr.basictypes.Clone)2 VDJCPartitionedSequence (com.milaboratory.mixcr.basictypes.VDJCPartitionedSequence)2 VDJCAlignerParameters (com.milaboratory.mixcr.vdjaligners.VDJCAlignerParameters)2 CUtils (cc.redberry.pipe.CUtils)1 OutputPort (cc.redberry.pipe.OutputPort)1 com.milaboratory.core.alignment (com.milaboratory.core.alignment)1 Alignment (com.milaboratory.core.alignment.Alignment)1 LinearGapAlignmentScoring (com.milaboratory.core.alignment.LinearGapAlignmentScoring)1 MultiAlignmentHelper (com.milaboratory.core.alignment.MultiAlignmentHelper)1 com.milaboratory.core.sequence (com.milaboratory.core.sequence)1