Switch to unified view

a b/deepvariant/python/postprocess_variants_pybind.cc
1
/*
2
 * Copyright 2024 Google LLC.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions
6
 * are met:
7
 *
8
 * 1. Redistributions of source code must retain the above copyright notice,
9
 *    this list of conditions and the following disclaimer.
10
 *
11
 * 2. Redistributions in binary form must reproduce the above copyright
12
 *    notice, this list of conditions and the following disclaimer in the
13
 *    documentation and/or other materials provided with the distribution.
14
 *
15
 * 3. Neither the name of the copyright holder nor the names of its
16
 *    contributors may be used to endorse or promote products derived from this
17
 *    software without specific prior written permission.
18
 *
19
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
 * POSSIBILITY OF SUCH DAMAGE.
30
 */
31
32
#if true  // Trick to stop tooling from moving the #include around.
33
// MUST appear before any standard headers are included.
34
#include <pybind11/pybind11.h>
35
#endif
36
37
#include <pybind11/stl.h>
38
39
#include "deepvariant/postprocess_variants.h"
40
#include "third_party/nucleus/core/python/type_caster_nucleus_status.h"
41
#include "third_party/nucleus/core/python/type_caster_nucleus_statusor.h"
42
#include "third_party/nucleus/protos/range.pb.h"
43
#include "third_party/nucleus/util/python/type_caster_nucleus_proto_ptr.h"
44
#include "pybind11_protobuf/native_proto_caster.h"
45
46
namespace py = pybind11;
47
48
PYBIND11_MODULE(postprocess_variants, m) {
49
  pybind11_protobuf::ImportNativeProtoCasters();
50
  using namespace ::learning::genomics::deepvariant;  // NOLINT
51
52
  m.def("process_single_sites_tfrecords", &ProcessSingleSiteCallTfRecords,
53
        py::arg("contigs"), py::arg("tfrecord_paths"),
54
        py::arg("output_tfrecord_path"), py::arg("partitions"));
55
}