Skip to content

Instantly share code, notes, and snippets.

View pgbarletta's full-sized avatar

German P. Barletta pgbarletta

View GitHub Profile
#include <iostream>
#include <chemfiles.hpp>
int main() {
chemfiles::Trajectory in_trj("/home/german/labo/18/lbp/run/4xcp/pca/full_avg_4xcp.pdb");
std::cout << " " << in_trj.nsteps() << '\n';
@pgbarletta
pgbarletta / gcc_output
Created March 21, 2018 22:28
gcc_output
tes.c:6:25: error: initializer element is not constant
CHFL_TRAJECTORY* file = chfl_trajectory_open("1M14.pdb", 'r');
^~~~~~~~~~~~~~~~~~~~
tes.c:7:21: error: initializer element is not constant
CHFL_FRAME* frame = chfl_frame();
^~~~~~~~~~
tes.c:8:1: warning: data definition has no type or storage class
chfl_trajectory_read(file, frame);
^~~~~~~~~~~~~~~~~~~~
tes.c:8:1: warning: type defaults to ‘int’ in declaration of ‘chfl_trajectory_read’ [-Wimplicit-int]
@pgbarletta
pgbarletta / in.pdb
Created March 21, 2018 17:57
1m14_writing_chemfiles.jl
CRYST1 0.000 0.000 0.000 90.00 90.00 90.00 P 1 1
HETATM 1 N LEU X 1 40.926 -6.340 63.315 1.00 0.00 N
HETATM 2 CA LEU X 1 40.484 -7.629 62.734 1.00 0.00 C
HETATM 3 C LEU X 1 39.802 -7.453 61.421 1.00 0.00 C
HETATM 4 O LEU X 1 38.621 -7.113 61.369 1.00 0.00 O
HETATM 5 CB LEU X 1 39.482 -8.330 63.668 1.00 0.00 C
HETATM 6 CG LEU X 1 38.808 -9.558 63.028 1.00 0.00 C
HETATM 7 CD1 LEU X 1 39.815 -10.682 62.752 1.00 0.00 C
HETATM 8 CD2 LEU X 1 37.588 -10.016 63.845 1.00 0.00 C
HETATM 9 N LEU X 2 40.535 -7.673 60.314 1.00 0.00 N
ATOM 1 N LEU 1 42.449 -4.318 61.525 1.00120.89 N
ATOM 2 CA LEU 1 42.007 -5.607 60.944 1.00120.89 C
ATOM 3 C LEU 1 41.325 -5.431 59.631 1.00120.89 C
ATOM 4 O LEU 1 40.144 -5.091 59.579 1.00120.89 O
ATOM 5 CB LEU 1 41.005 -6.308 61.878 1.00120.89 C
ATOM 6 CG LEU 1 40.331 -7.536 61.238 1.00120.89 C
ATOM 7 CD1 LEU 1 41.338 -8.660 60.962 1.00120.89 C
ATOM 8 CD2 LEU 1 39.111 -7.994 62.055 1.00120.89 C
ATOM 9 N LEU 2 40.945 -6.290 58.698 1.00 9.79 N
ATOM 10 CA LEU 2 40.287 -6.210 57.386 1.00 9.79 C
@pgbarletta
pgbarletta / genesis_public_key
Last active February 21, 2018 22:15
genesis_public_key
04512d75bee7d50d701e93b2f7dea868ea34dd64ab80549b0847ee5a7b279fc097bea214167af80564cbae4d0100540c6e6a2b813b8f9f4a3ed1915abccf9315ed;mrbarletta
MODEL 1
CRYST1 0.000 0.000 0.000 90.00 90.00 90.00 P 1 1
ATOM 1 N LEU X 1 38.189 -9.860 64.203 1.00 0.00
ATOM 2 CA LEU X 1 37.378 -8.650 64.228 1.00 0.00
ATOM 3 CB LEU X 1 38.164 -7.511 64.879 1.00 0.00
ATOM 4 CG LEU X 1 37.241 -6.305 65.093 1.00 0.00
ATOM 5 CD1 LEU X 1 35.942 -6.730 65.783 1.00 0.00
ATOM 6 CD2 LEU X 1 37.977 -5.268 65.928 1.00 0.00
ATOM 7 C LEU X 1 36.908 -8.246 62.827 1.00 0.00
ATOM 8 O LEU X 1 35.740 -7.908 62.632 1.00 0.00
This file has been truncated, but you can view the full file.
CRYST1 68.658 68.658 68.658 109.47 109.47 109.47 1
MODEL 1
ATOM 1 FE HEM 1 1.409 30.574 -22.188 1.00 0.00 FE
ATOM 2 NA HEM 1 -0.242 31.101 -21.098 1.00 0.00 N
ATOM 3 C1A HEM 1 -0.265 31.706 -19.899 1.00 0.00 C
ATOM 4 C2A HEM 1 -1.646 31.971 -19.437 1.00 0.00 C
ATOM 5 CAA HEM 1 -2.055 32.494 -18.132 1.00 0.00 C
ATOM 6 HAA1 HEM 1 -1.605 32.031 -17.254 1.00 0.00 H
ATOM 7 HAA2 HEM 1 -3.142 32.418 -18.103 1.00 0.00 H
// Get cells bounding boxes.
for (const auto &cell_ite : input_cells) {
const Tetrahedron tetra(
cell_ite->vertex(0)->point(), cell_ite->vertex(1)->point(),
cell_ite->vertex(2)->point(), cell_ite->vertex(3)->point());
boxes.push_back(Box(std::move(tetra.bbox()), cell_ite));
}
// Get the intersections
CGAL::box_self_intersection_d(boxes.begin(), boxes.end(), called);
cpp
// "called" is an object (functor) of the class "callback_for_boxes"
class callback_for_boxes {
public:
std::vector<size_t> *_id_vector_a, *_id_vector_b;
NA_Vector *_neighbors_a, *_neighbors_b;
callback_for_boxes(std::vector<size_t> &id_vector_a,
std::vector<size_t> &id_vector_b, NA_Vector &neighbors_a,
NA_Vector &neighbors_b)
// "called" is an object (functor) of the class "callback_for_boxes"
class callback_for_boxes {
public:
std::vector<size_t> *_id_vector_a, *_id_vector_b;
NA_Vector *_neighbors_a, *_neighbors_b;
callback_for_boxes(std::vector<size_t> &id_vector_a,
std::vector<size_t> &id_vector_b, NA_Vector &neighbors_a,
NA_Vector &neighbors_b)
: _id_vector_a(&id_vector_a), _id_vector_b(&id_vector_b),