Home research People General Info Seminars Resources Intranet
| Algorithms & Applcations Group | Home | Research | Publications | People | Resources | News
Home Page for Nicholas Charchenko | Parasol Laboratory

Picture Nicholas Charchenko
Summer Intern
Algorithms & Applications Group

Parasol Laboratory url: http://parasol.tamu.edu/~ncharchenko/
Department of Computer Science and Engineering email:
Texas A&M University office: 407 HRBB
College Station, TX 77843-3112 tel:
USA fax: (979) 458-0718


Hello, I'm an undergraduate here at TAMU studying Computer Science, Class of 2019. I grew up in Seattle and I am also taking summer classes while doing research in Motion Planning with applications to Computational Biology.


Mentoring me in my research experience are:

Dr. Nancy Amato

Diane Uwacu

Ligand Binding Prediction with Motion Planning

Overview: Drugs, small molecules, are developed to interact with protein molecules in the body to ameliorate symptoms. Often referred to as ligands, these drugs function by attaching (binding) to specific places on proteins, also known as binding sites. However, predicting these locations is challenging. Currently, the best predictors still yield low success rates. We will use motion planning to make better binding site predictions by filtering sites unreachable by ligands (sites that the ligand can fit inside but cannot actually reach from the outside). Through tests on binding sites from several proteins, we hope to demonstrate that our approach consistently scores true predictions.

Implications: The long-term objective will be predicting new binding sites given unknown ligands, involving machine learning techniques. This project will provide means to assess protein cavities by their likelihood of acting as binding sites.

Purpose: I personally see motion planning as an important area to study given its broad applications, from medicine and navigation to CAD and animation.

Goals: Expand upon and apply Computer Science concepts to different domains, specifically Motion Planning techniques to Computational Biology problems. Appreciate the impact of Computer Science on other disciplines. Learn to conduct an independent experimental study and present results. Develop skills in these areas: C++ coding inside an existing library, software engineering methods for group work, design and implementat data structures and algorithms, scientific approach, writing a technical paper, preparing/presenting research work.

Approach: Learn the Parasol Lab's Motion Planning Library, a C++ library with functions to solve motion planning problems. Furthermore, find a path for a drug molecule to a binding sight on a protein, assessing path quality. Running tests, analyzing/plotting results for various prediction methods. Visual data analysis, writing a paper, preparing and presenting a poster.

Materials: We will use the PMPL (Parasol Lab's Motion Planning Library), VIZMO (Parasol Lab's Visualization Software), the Chimera Molecular Modeling System, and the Protein Data Bank website.

Week 1

Monday: First day in, started the crash course Lesson 1, read Latombe's motion planning paper.

Tuesday: Continued with the crash course, Lesson 2, started going into the PMPL code. Also got my website up, research plan up.

Wednesday: Continued learning PMPL code, group meeting to go over summer research projects. Finished Lesson 2.

Thursday: Went through Lesson 3 today, had some stumbles along the way, but I eventually got it done.

Friday: Mentor absent, so mostly going through LBS code tutorial and C-space paper.

Week 2

Monday: Continued work on LBS tutorials. Learned how to create protein examples using 3B6A and ASP/ZCT ligands.

Tuesday: Ran into some difficulties with Part 2 of the LBS tutorial, had to wait on a new TestGenerate.xml but eventually got it finished.

Wednesday: Started on Part 3, made solid progress until I got to the step where we had to change a function to solve a runtime error. Managed to articulate possible solutions, however.

Thursday: Attended a group meeting on Workspace-based Motion Planning and the Workspace Skeleton by Mukulika.

Friday: Absent due to CSCE 314 midterm exam.

Week 3

Monday: Continued work on binding site code, started implementing different possible solutions, such as expanding the boundary box..

Tuesday: Still exploring solutions to binding site code issues we were running into.

Wednesday: At this point, Diane elected to overhaul the BindingSitePRM.h code that we had been working on. Therefore, Ankit and I started to look into existing binding site prediction strategies, such as COACH and LIGDIG. We also heard a presentation on Medial Axis planning by Shawna and Tim.

Thursday: We continued looking into existing strategies, comparing inputs and outputs, runtimes, etc... I found a paper using Atomic Convolutional Networks and sent it to Diane to read. The paper turned out highly relevant to our research.

Friday: Fairly slow day, as we continued Wednesday's and Thursday's work. Also, the group went to Panda while I was in class, and I came back to a near-deserted lab. I ended up going all over the 3rd and 4th floors of the Bright building trying to see where everyone went. Later that day, I ran a Project M tournament (Brawl mod meant to emulate Melee) in the MSC, getting third place.

Week 4

Monday: Continued work on LBS code, implementing a function to connect connected components.

Tuesday: Fixed ConnectToCCs and I also finished all Haskell-related content in CSCE 314. Thank goodness, Haskell was confusing!

Wednesday: Discussed new BindingSite code with Diane and Ankit. TO'd Project M weekly in the MSC underground later that day.

Thursday: Running into segmentation faults after implementing BuildBBx function code. Spent a bit of time getting JavaFX to work in Eclipse, took a few tries.

Friday: Pretty long day for me, demo'd JavaFX program for 314, then spent a lot of time in my TA's office hours working on our final assignment involving multithreaded tasks.

Week 5

Monday: CSCE 314 final. Some of the later questions were quite annoying (writing lots of pseudocode).

Tuesday: 4th of July! I didn't really do too much outside of gaming with my friends.

Wednesday: Started CSCE 312 class, material is pretty interesting so far. Worked on code that reads in data on side residues from a PDB file.

Thursday: Expanded on the residue code to read in the atoms at known binding sites.

Friday: Long day, standards check on Thursday's code. TO'd a Project M tournament in the MSC later that day, prepping for a tournament in Austin

Saturday: Went down to Austin for the Texas Project M Circuit Finale with some of my friends. Had a good time despite playing against mostly characters that I find frustrating to play against in my pool.

Week 6

Monday: Reviewed comments on IdentifySiteFromResidues code and attended Dianeís presentation on Ligand Binding. In my CSCE 312 class, I finished the first project from NAND2Tetris, creating various logic gates derived from the NAND gate. From the NAND gate, I constructed AND, OR, NOT, and XOR gates. I also constructed multiplexors, demultiplexors, and multi-bit and multi-way logic gates. Later, I climbed some of the new routes at the bouldering wall at the Rec.

Tuesday: We started working on our poster for the presentation on Monday. In CSCE 312, we started making bit adders, which would eventually culminate in the Arithmetic Logic Unit (ALU). The ALU turned out to be a pretty complicated design that would take a while for me to completely figure out.

Wednesday: Continued working on the poster, I specifically focused on the Related Works component. We started discussing Sequential Logic in CSCE 312, which introduces the concept of memory, storing states.

Thursday: We got started on the technical paper component of our project. Itís going well so far, working on the abstract right now. I finished my ALU for our second CSCE 312 project. We also continued our exploration of sequential logic and memory. Test tomorrow though!

Friday: I was absent from the lab due to an exam, which had a couple of really time-consuming questions involving timing diagrams. I found myself losing track quite a bit and having to start over, which was a bit annoying.

Week 7

Monday: Continued working on our technical paper. I worked on the Related Works section. It was a bit hard to find the right way to start it out. Finished the third project from NAND2Tetris for CSCE 312.

Tuesday: Overslept, which made things run a bit more slowly. In CSCE 312 I demoed RAM and other memory units, such as bit registers.

Wednesday: Related Works section started to come along. Once I got the basic idea for structuring it, things became easier. Articulated existing LBS strategies. Continued studying Machine Language in CSCE 312.

Thursday: Started to articulate about motion planning for the technical paper, sampling and how roadmaps are constructed. Finding just the right way to phrase things and explain concepts was a bit difficult for me, as I tend to exercise brevity when I write.

Friday: Finished a first pass of my section for the paper. Felt pretty good about getting it done because it did take me some time to get going with it. Later in the afternoon, I played Smash Bros with my friends, including Johnathan from this lab.

Week 8

Monday: Got back into the lab and made revisions to our technical paper. Furthermore, I demonstrated a couple of programs written in the HACK assembly language for CSCE 312.

Tuesday: Made revisions to our poster pending the presentations on Wednesday. CSCE 312 midterm got moved back to Friday from Monday, which was a bit surprising. It was also difficult timing because we originally had our assembler project due Thursday.

Wednesday: Conducted another practice presentation of our poster.My classmates and I were able to get our assembler project, where we design a program to translate HACK assembly code to machine code, moved to Monday to have more time to study for our exam on Friday.

Thursday: Study study study! Was feeling a bit unprepared coming into Thursday, but ample review helped me prepare.

Friday: Took my CSCE 312 midterm and spoke with Dr. Wookho Son about our computational biology research.

Week 9

Monday: We showed our poster one more time to the lab today. We continued to refine our motivation and method sections while finalizing our algorithm to start testing later in the week.

Tuesday: Started building scripts in order to help automate our experiments. Furthermore, we set up our machines to start running experiments tomorrow and Thursday.

Wednesday: Started running our code today, went fairly well overall. We did run into scenarios where certain environment+seed combinations would fail, but the overwhelming majority did run successfully.

Thursday: Continued to run our scripts on XML files that we created to run our experiments. Finalized our poster and made conclusions for the symposium tomorrow!

Friday: Poster symposium day! I was in the first session, and it went fairly well without a hitch. The most interesting question I was asked was with regard to predicting binding sites on unknown proteins using machine learning.