public List<String> getSampleNames(String studyId) { StudyEntry studyEntry = getStudy(studyId); if (studyEntry == null) { return null; } return studyEntry.getOrderedSamplesName(); }
@Override protected List<String> featureValueOf(StudyEntry actual) { return actual.getOrderedSamplesName(); } };
public Document convertToStorageType(Variant variant, StudyEntry studyEntry) { return convertToStorageType(variant, studyEntry, studyEntry.getFiles(), new LinkedHashSet<>(studyEntry.getOrderedSamplesName())); }
@Override public List<String> getSampleNames() { return variants.get(0).getStudies().get(0).getOrderedSamplesName(); } @Override public VariantFileMetadata getVariantFileMetadata() { return null; }
List<Object> calls = new LinkedList<>(); for (String sample : study.getOrderedSamplesName()) {
int[] formatReMap = buildFormatRemap(studyEntry); int sampleIdx = 0; List<String> samplesName = studyEntry.getOrderedSamplesName();
for (String sample : studyEntry.getOrderedSamplesName()) { String gt = studyEntry.getSamplesData().get(sampleIdx).get(gtIdx); if (!walker.accept(variant, sample, gt)) {
for (String sample : currentStudy.getOrderedSamplesName()) { List<String> currentSampleData = currentSamplesData.get(currentSampleIdx); Integer newSampleIdx = newSamplesPosition.get(sample); List<String> otherOrderedSamplesName = otherStudy.getOrderedSamplesName(); for (int sampleIdx = 0; sampleIdx < otherOrderedSamplesName.size(); sampleIdx++) { String sampleName = otherOrderedSamplesName.get(sampleIdx);
protected void checkFillMissing(VariantHadoopDBAdaptor dbAdaptor, List<Integer> newFiles, String... processedSamples) { Set<Integer> newFilesSet = new HashSet<>(newFiles); Set<String> samplesSet = new HashSet<>(Arrays.asList(processedSamples)); StudyConfiguration studyConfiguration = dbAdaptor.getStudyConfigurationManager().getStudyConfiguration(STUDY_ID, null).first(); boolean missingGenotypesUpdated = studyConfiguration.getAttributes().getBoolean(MISSING_GENOTYPES_UPDATED); for (Variant variant : dbAdaptor) { StudyEntry studyEntry = variant.getStudies().get(0); boolean newVariant = !missingGenotypesUpdated && studyEntry.getFiles().stream().map(FileEntry::getFileId) .map(studyConfiguration.getFileIds()::get).allMatch(newFilesSet::contains); List<List<String>> samplesData = studyEntry.getSamplesData(); for (int i = 0; i < samplesData.size(); i++) { List<String> data = samplesData.get(i); String sampleName = studyEntry.getOrderedSamplesName().get(i); if (!newVariant && samplesSet.contains(sampleName)) { assertFalse((newVariant ? "new variant " : "") + variant + " _ " + sampleName + " should not have GT=?/?", data.get(0).equals("?/?")); } else { assertFalse((newVariant ? "new variant " : "") + variant + " _ " + sampleName + " should not have GT=0/0", data.get(0).equals("0/0")); } } } }
int samplePosition = 0; Integer gtIdx = studyEntry.getFormatPositions().get("GT"); for (String sampleName : studyEntry.getOrderedSamplesName()) { Integer sampleId = studyConfiguration.getSampleIds().get(sampleName); if (missingSamples.contains(sampleId)) {
List<String> studyEntryOrderedSamplesName = studyEntry.getOrderedSamplesName(); for (List<String> data : studyEntry.getSamplesData()) { String sampleName = studyEntryOrderedSamplesName.get(sampleIdx);
if (MapUtils.isNotEmpty(studyEntry.getSamplesPosition()) && ListUtils.isNotEmpty(studyEntry.getOrderedSamplesName())) { List<String> sampleNames = studyEntry.getOrderedSamplesName();
List<String> expectedSamples = new ArrayList<>(variants1.get(0).getStudies().get(0).getOrderedSamplesName()); expectedSamples.addAll(variants2.get(0).getStudies().get(0).getOrderedSamplesName()); merger.setExpectedSamples(expectedSamples); merger.setExpectedFormats(asList("GT", VariantMerger.GENOTYPE_FILTER_KEY, "DP", "GQX", "AD"));
String ps = studyEntry.getSamplesData().get(0).get(psIdx); if (!ps.equals(DocumentToSamplesConverter.UNKNOWN_FIELD)) { sampleName = studyEntry.getOrderedSamplesName().get(0);
private void stageVariants(StudyConfiguration study, int fileId, List<Variant> variants) throws Exception { String archiveTableName = engine.getArchiveTableName(study.getStudyId()); ArchiveTableHelper.createArchiveTableIfNeeded(dbAdaptor.getGenomeHelper(), archiveTableName); // Create empty VariantFileMetadata VariantFileMetadata fileMetadata = new VariantFileMetadata(String.valueOf(fileId), String.valueOf(fileId)); fileMetadata.setSampleIds(variants.get(0).getStudies().get(0).getOrderedSamplesName()); dbAdaptor.getStudyConfigurationManager().updateVariantFileMetadata(String.valueOf(study.getStudyId()), fileMetadata); // Create dummy reader VariantSliceReader reader = getVariantSliceReader(variants, study.getStudyId(), fileId); // Task supplier Supplier<ParallelTaskRunner.Task<ImmutablePair<Long, List<Variant>>, VcfSliceProtos.VcfSlice>> taskSupplier = () -> { VariantToVcfSliceConverter converter = new VariantToVcfSliceConverter(); return list -> { System.out.println("list.size() = " + list.size()); List<VcfSliceProtos.VcfSlice> vcfSlice = new ArrayList<>(list.size()); for (ImmutablePair<Long, List<Variant>> pair : list) { vcfSlice.add(converter.convert(pair.getRight(), pair.getLeft().intValue())); } return vcfSlice; }; }; // Writer VariantHBaseArchiveDataWriter writer = new VariantHBaseArchiveDataWriter(dbAdaptor.getArchiveHelper(study.getStudyId(), fileId), archiveTableName, dbAdaptor.getHBaseManager()); ParallelTaskRunner.Config config = ParallelTaskRunner.Config.builder().setNumTasks(1).build(); ParallelTaskRunner<ImmutablePair<Long, List<Variant>>, VcfSliceProtos.VcfSlice> ptr = new ParallelTaskRunner<>(reader, taskSupplier, writer, config); // Execute stage System.out.println("Stage start!"); ptr.run(); System.out.println("Stage finished!"); }
List<List<String>> samplesDataMulti = map.get(studyConfigurationMultiFile.getStudyName()).getSamplesData(); for (int i = 0; i < samplesDataSingle.size(); i++) { String sampleName = map.get(studyConfigurationMultiFile.getStudyName()).getOrderedSamplesName().get(i); String message = variant.toString() + " sample: " + sampleName
fileMetadata.setSampleIds(variants.get(0).getStudies().get(0).getOrderedSamplesName()); dbAdaptor.getStudyConfigurationManager().updateVariantFileMetadata(String.valueOf(sc.getStudyId()), fileMetadata);