private void checkStudy(String method) { if (!hasStudyId()) { setStudyId(""); // throw new IllegalArgumentException("Can not " + method + " without study."); } }
private VariantOverlappingStatus processVariantFile(Variant variant, Set<Integer> missingSamples, Put put, Integer fileId, VariantOverlappingStatus overlappingStatus, String gt) { LinkedHashMap<String, Integer> samplePosition = getSamplePosition(fileId); List<List<String>> samplesData = new ArrayList<>(samplePosition.size()); for (int i = 0; i < samplePosition.size(); i++) { samplesData.add(Collections.singletonList(gt)); } VariantBuilder builder = Variant.newBuilder( variant.getChromosome(), variant.getStart(), variant.getEnd(), variant.getReference(), variant.getAlternate()) .setStudyId(String.valueOf(studyConfiguration.getStudyId())) .setFormat("GT") .setFileId(fileId.toString()) .setSamplesPosition(samplePosition) .setSamplesData(samplesData); studyConverter.convert(builder.build(), put, missingSamples, overlappingStatus); return overlappingStatus; }
variant.getAlternate()) .addAlternate("<*>") .setStudyId(String.valueOf(studyConfiguration.getStudyId())) .setFileId(fileId.toString())
.setStart(variantContext.getStart()) .setEnd(variantContext.getEnd()) .setStudyId(studyId) .setFileId(fileId);
.setReference(reference) .setAlternates(alternates) .setStudyId(studyId.toString()) .setFileId(fileId.toString()) .setFilter("PASS_" + fileId)
public static Variant newVariant(String chromosome, int start, int end, String reference, String alternate, Integer fileId, Integer studyId) { int pad = (fileId - 1) * NUM_SAMPLES; return Variant.newBuilder() .setChromosome(chromosome) .setStart(start) .setEnd(end) .setReference(reference) .setAlternate(alternate) .setStudyId(studyId.toString()) .setFileId(fileId.toString()) .setFilter("PASS_" + fileId) .setQuality(fileId * 100.0) .addAttribute("AD", "1,2") .setFormat("GT", "DP", "GQX", "AD") .addSample("S" + (1 + pad), "./.", String.valueOf(11 + pad), "0.7", "1,2") .addSample("S" + (2 + pad), "1/1", String.valueOf(12 + pad), "0.7", "1,2") .addSample("S" + (3 + pad), "0/0", String.valueOf(13 + pad), "0.7", "1,2") .addSample("S" + (4 + pad), "1/0", String.valueOf(14 + pad), "0.7", "1,2").build(); }
@SuppressWarnings("unchecked") public static List<Variant> createFile2Variants(String chromosome, String fileId, String studyId) { List<Variant> variants = new LinkedList<>(); variants.add(Variant.newBuilder(chromosome, 1000, 1000, "A", "C") .setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA19600", "./.", "1", "0.7") .addSample("NA19660", "1/1", "2", "0.7") .addSample("NA19661", "0/0", "3", "0.7") .addSample("NA19685", "1/0", "4", "0.7") .build()); variants.add(Variant.newBuilder(chromosome, 1004, 1004, "A", "C") .setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA19600", "0/1", "1", "0.7") .addSample("NA19660", "0/0", "2", ".") .addSample("NA19661", "1/0", "3", "0.7") .addSample("NA19685", "0/0", "4", "..") .build()); return variants; }
@Before public void setUp() throws Exception { List<Variant> variants = Arrays.asList( Variant.newBuilder("1:100:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "0/0").addSample(S2, "0/1").addSample(S3, "1/1").build(), Variant.newBuilder("1:101:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "0/1").addSample(S2, "0/1").addSample(S3, "1/1").build(), Variant.newBuilder("1:102:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "0/1").addSample(S2, "0/0").addSample(S3, "0/1").build(), Variant.newBuilder("1:103:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "0/0").addSample(S2, "0/0").addSample(S3, "0/0").build(), Variant.newBuilder("1:104:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "1/1").addSample(S2, "0/1").addSample(S3, "1/1").build() ); VariantIterable iterable = (query, options) -> { List<String> queryVariants = query.getAsStringList("id"); Iterator<Variant> iterator = Iterators.filter(variants.iterator(), variant -> queryVariants.isEmpty() || queryVariants.contains(variant.toString())); return VariantDBIterator.wrapper(iterator); }; filter = new VariantSampleFilter(iterable); }
.setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX") .setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX") .setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX")
.setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX") .setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX") .setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX")
@Test public void test() throws Exception { Variant expectedVariant = Variant.newBuilder("chr1:1000:A:T") .setStudyId("1") .setFileId("5") .setFormat("GT", "AD", "DP") .setStudyId("2") .setFileId("6") .setFormat("GT", "AD", "DP", "AN")