New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gsoc blog 2021 #475
Merged
Merged
Gsoc blog 2021 #475
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
e8b72f8
Create 2021-06-07-week-1-sajag.rst
SunTzunami e958099
Update and rename 2021-06-07-week-1-sajag.rst to 2021-06-08-week-1-sa…
SunTzunami ac44221
Create 2021-06-14-week-2-sajag.rst
SunTzunami 8de2883
Update 2021-06-14-week-2-sajag.rst
SunTzunami 86b0e2b
Create 2021-06-21-week-3-sajag.rst
SunTzunami 7ae8a11
Update 2021-06-14-week-2-sajag.rst
SunTzunami 2573f01
Update 2021-06-14-week-2-sajag.rst
SunTzunami f398d0e
Create 2021-06-28-week-4-sajag.rst
SunTzunami 9729700
Create 2021-07-05-week-5-sajag.rst
SunTzunami c0fd213
Create 2021-07-12-week-5-sajag.rst
SunTzunami 81c43d1
Rename 2021-07-12-week-5-sajag.rst to 2021-07-12-week-6-sajag.rst
SunTzunami dd11324
Create 2021-07-19-week-7-sajag.rst
SunTzunami ed4ea45
Create 2021-07-26-week-5-sajag.rst
SunTzunami 5e2f8a7
Rename 2021-07-26-week-5-sajag.rst to 2021-07-26-week-8-sajag.rst
SunTzunami ed58d95
Update 2021-07-05-week-5-sajag.rst
SunTzunami 1d329b1
Update 2021-07-12-week-6-sajag.rst
SunTzunami 7c79a4a
Update 2021-07-19-week-7-sajag.rst
SunTzunami bd973dc
Update 2021-07-26-week-8-sajag.rst
SunTzunami 9c05062
updated week 1 blog
SunTzunami a625e7f
updated week 2 blog
SunTzunami 8432a0a
updated week 2 blog
SunTzunami 2eff7cc
updated week 3 blog
SunTzunami c26429d
updated week 4 blog
SunTzunami 97ca8b1
updated week 5 blog
SunTzunami c73bcc8
updated week 6 blog
SunTzunami 30d7714
updated week 7 blog
SunTzunami 0f4ccc6
updated week 8 blog
SunTzunami 73cfd1c
updated week 7 blog
SunTzunami e3308da
updated week 6 blog
SunTzunami 59cf551
Update docs/source/posts/2021/2021-06-28-week-4-sajag.rst
SunTzunami e46a8f4
updated week 4 blog
SunTzunami 589d92b
updated week 8 blog
SunTzunami f88430c
updated week 1 blog
SunTzunami File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
Welcome to my GSoC Blog! | ||
======================== | ||
|
||
.. post:: June 8 2021 | ||
:author: Sajag Swami | ||
:tags: google | ||
:category: gsoc | ||
|
||
Hi all! | ||
I'm Sajag Swami, a sophomore at Indian Institute of Technology, Roorkee. This summer, I will be working on adding a new functionality to **FURY** which shall enable users to | ||
visualise various types of proteins via different representations like Richardson aka Ribbon diagrams and molecular surface diagrams. | ||
As a part of my stretch goals, I’ll try to expand protein diagrams via other representations including: | ||
|
||
1. Stick | ||
2. Ball and stick | ||
3. Wire | ||
4. Pipes and Planks | ||
5. Sphere | ||
|
||
What did you do during the Community Bonding Period? | ||
---------------------------------------------------- | ||
I had weekly meetings with my mentors and other core team members. In the first meeting I got acquainted with the team members and learnt about the organisation and its goal/vision. | ||
In the later meetings we discussed about various representations of proteins and how to go about implementing them in FURY. | ||
We discussed about various libraries which can be used to parse PDB and PDBx files. | ||
I made a `document <https://docs.google.com/document/d/1mSoAWyXlLNrCa3hN-hiP35Lj7rURYMk5jFnWZbZp70s>`_ for the same to list pros and cons of using each library. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We might need to put this google document in rst and somewhere else. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Any suggestions as to where should I put it? |
||
I worked upon my `previous PR <https://github.com/fury-gl/fury/pull/404>`_ too during the community bonding period and fixed its docstring syntax. | ||
|
||
As my college ended early courtesy covid, I had extra time during which I experimented and learnt more about PDB and PDBx files - the details they contain and how to parse them. | ||
A small backbone visualisation of 1mb0 protein made on FURY by extracting coordinate data of its alpha carbons: | ||
|
||
.. figure:: https://github.com/SunTzunami/gsoc2021_blog_data/blob/master/visuals/week1_backbone.png?raw=true | ||
:align: center | ||
|
||
What is coming up next week? | ||
---------------------------- | ||
I have two major goals for the next week: | ||
|
||
1. Make an actor for the space filling model of the proteins and make PR for the same which will also include the unit tests and a small tutorial for the users. | ||
2. Try to understand the documentation of vtkProteinRibbonFilter which will prove beneficial in generating Ribbon diagrams. | ||
|
||
``Au Revoir!`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
First week of coding! | ||
===================== | ||
|
||
.. post:: June 14 2021 | ||
:author: Sajag Swami | ||
:tags: google | ||
:category: gsoc | ||
|
||
Welcome to the second weekly check-in. I'll be sharing my progress for the first week of coding. | ||
|
||
What did you do this week? | ||
-------------------------- | ||
I implemented the space filling model for proteins and created a PR for the same. Preview: | ||
|
||
.. figure:: https://user-images.githubusercontent.com/65067354/121518963-b92cb580-ca0e-11eb-8232-3512edc04670.png | ||
|
||
(protein rendered: `3pgk <https://www.rcsb.org/structure/3pgk>`_) | ||
|
||
The PR has: | ||
|
||
1. Actor for space_filling_model. | ||
|
||
2. Two examples where I show how to visualize the proteins: | ||
|
||
a. In `example 1 <https://github.com/fury-gl/fury/pull/439/files#diff-2c9d065c4d4873b6ce534137cfd990cea495faffd249ff35cf51e36749883534>`_, I parse a PDBx file myself and extract the atomic info essential for constructing the model which is then used by the actor to visualize it. | ||
|
||
b. In `example 2 <https://github.com/fury-gl/fury/pull/439/files#diff-68e69b9f24731ed981cd91763f3dd078aa2bf9a4da638d561352a9cf37cfd29c>`_, I parse a PDB file by using `Biopython module <http://biopython.org/>`_ and extract the atomic info essential for constructing the model which is then used by the actor to visualize it. | ||
|
||
I created a basic test for the actor which needs to be improved. I'll discuss how to improve the test with the mentors. | ||
|
||
What is coming up next week? | ||
---------------------------- | ||
I have two major goals for the next week: | ||
|
||
1. Make an actor for the space filling model of the proteins and make PR for the same which will also include the unit tests and a small tutorial for the users. | ||
2. Try to understand the documentation of vtkProteinRibbonFilter which will prove beneficial in generating Ribbon diagrams. | ||
|
||
Did you get stuck anywhere? | ||
--------------------------- | ||
I tried to create a class in python which inherits from a vtk class called vtkMoleculeReaderBase but was unsucessful in this endeavour. I'll try to find a workaround. | ||
|
||
``Au Revoir!`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
Second week of coding! | ||
====================== | ||
|
||
.. post:: June 21 2021 | ||
:author: Sajag Swami | ||
:tags: google | ||
:category: gsoc | ||
|
||
Welcome to the third weekly check-in. I'll be sharing my progress for the second week of coding. | ||
|
||
What did you do this week? | ||
-------------------------- | ||
I created an example to demonstrate how one can render multiple bonds (double and triple). This required me to write an algorithm to detect bonding. | ||
I used `this blog <https://www.kaggle.com/aekoch95/bonds-from-structure-data>`_ as a reference and made a few tweaks of my own to detect the presence of double/triple bonds from interatomic distances. | ||
The math involved in generating the coordinates of bonds was quite intriguing. Preview: | ||
|
||
.. figure:: https://user-images.githubusercontent.com/65067354/122672109-7d040c80-d1e7-11eb-815d-1d07fe47bbc4.png | ||
:width: 300 | ||
:height: 300 | ||
|
||
molecules rendered: Ethane, Ethene, Ethyne (from left to right) | ||
|
||
In addition to this, I tried understanding the codebase of vtkMolecule, vtkSimpleBondPerceiver, vtkMoleculeMapper, vtkPeriodicTable and was able to render bond-stick models and stick models using it. | ||
This will be of great help although it's rather slow in rendering large molecules (using shaders to improve its speed will be crucial if it's to be utilised). | ||
SunTzunami marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
|
||
.. figure:: https://github.com/SunTzunami/gsoc2021_blog_data/blob/master/visuals/week2_wire_rep.png?raw=true | ||
:width: 300 | ||
:height: 300 | ||
|
||
Stick representation using vtkMoleculeMapper | ||
|
||
|
||
|
||
.. figure:: https://raw.githubusercontent.com/SunTzunami/gsoc2021_blog_data/master/visuals/week2_bs_rep.png | ||
:width: 300 | ||
:height: 300 | ||
|
||
Ball and Stick representation using vtkMoleculeMapper | ||
|
||
What is coming up next week? | ||
---------------------------- | ||
Try to see if the above models can be implemented using shaders. Try implementing the ribbon model using the vtkProteinRibbonFilter. The rest will be decided in the meeting with the mentors. | ||
|
||
Did you get stuck anywhere? | ||
--------------------------- | ||
Predicting bonds had been a problem since the past few weeks, it was resolved to a large extent by vtkSimpleBondPerceiver (the only limitation of vtkSimpleBondPerceiver being its inability to predict multiple bonds). | ||
|
||
``Au Revoir!`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
Third week of coding! | ||
===================== | ||
|
||
.. post:: June 28 2021 | ||
:author: Sajag Swami | ||
:tags: google | ||
:category: gsoc | ||
|
||
Welcome to the fourth weekly check-in. I'll be sharing my progress for the third week of coding. | ||
|
||
What did you do this week? | ||
-------------------------- | ||
|
||
I made a document with code snippets and visuals to show how one can use | ||
some vtk classes in python for molecular visualization. Classes of | ||
interest: | ||
|
||
- vtkMolecule (store atomic information about the molecule). | ||
- vtkSimpleBondPerceiver (calculate bonding info for a vtkMolecule). | ||
- vtkMoleculeMapper (mapper to draw vtkMolecule object). | ||
- vtkPeriodicTable (stores chemical data sourced from the Blue Obelisk | ||
Data). | ||
|
||
Link to the document: `Molecular_viz_vtk`_. In addition to the | ||
document, I read some research papers recommended by my mentors to | ||
understand some other (and potentially better) methods of ribbon | ||
visualization. Tried to implement vtkProteinRibbonFilter usage without | ||
using vtkPDBReader but was unsuccessful in this endeavor. | ||
|
||
What is coming up next week? | ||
---------------------------- | ||
|
||
Three goals for next week: | ||
|
||
#. Implement vtkProteinRibbonFilter usage without using vtkPDBReader. | ||
#. Make a class for vtkMolecule which can store molecular data and pass | ||
it on to different function for rendering purposes. | ||
#. Read papers on surface model. | ||
|
||
Did you get stuck anywhere? | ||
--------------------------- | ||
|
||
Implementing vtkProteinRibbonFilter usage via vtkPolyData without using | ||
vtkPDBReader has confounded me for some time now. | ||
|
||
.. _Molecular_viz_vtk: https://docs.google.com/document/d/1LC2MgT9mUQK0Yo9hsI4lWqaTXHWAkSNxyBKWGAqHqe8/edit | ||
|
||
``Au Revoir!`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
Fourth week of coding! | ||
====================== | ||
|
||
.. post:: July 5 2021 | ||
:author: Sajag Swami | ||
:tags: google | ||
:category: gsoc | ||
|
||
Welcome to the fifth weekly check-in. I'll be sharing my progress for the fourth week of coding. | ||
|
||
What did you do this week? | ||
-------------------------- | ||
|
||
Created a `PR`_ for the molecular module. Enables the ability to create | ||
three types of molecular representations: | ||
|
||
#. Space-filling model aka calotte model and CPK model. | ||
#. Stick model. | ||
#. Ball and Stick model. | ||
|
||
What is coming up next week? | ||
---------------------------- | ||
|
||
Mentors suggested changes to be made to the molecular module which I | ||
shall make. Other goals to be decided post mid-week meeting. | ||
|
||
Did you get stuck anywhere? | ||
--------------------------- | ||
|
||
Sending protein data to ProteinRibbonFilter via a vtkPolyData has been | ||
unsuccessful so far. | ||
|
||
.. _PR: https://github.com/fury-gl/fury/pull/452 | ||
|
||
``Au Revoir!`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
Fifth week of coding! | ||
===================== | ||
|
||
.. post:: July 12 2021 | ||
:author: Sajag Swami | ||
:tags: google | ||
:category: gsoc | ||
|
||
Welcome to the sixth weekly check-in. I'll be sharing my progress for the fifth week of coding. | ||
|
||
What did you do this week? | ||
-------------------------- | ||
|
||
1. Generalised the vtkProteinRibbonFilter implementation. | ||
SunTzunami marked this conversation as resolved.
Show resolved
Hide resolved
|
||
2. Updated the molecular module based on suggestions of team members | ||
and mentors (`PR #452`_). | ||
3. Updated wave function animation (`PR #362`_). | ||
|
||
.. figure:: https://user-images.githubusercontent.com/65067354/125155195-d4105800-e17b-11eb-9e6d-2b66ba7a8f6e.gif | ||
:width: 300 | ||
:height: 300 | ||
|
||
an animation | ||
|
||
|
||
What is coming up next week? | ||
---------------------------- | ||
|
||
1. Update molecular module based on team members' suggestions and add | ||
tests for the same. | ||
2. Add protein ribbon implementation to the molecular module. | ||
3. Begin working on molecular surface model. | ||
|
||
Did you get stuck anywhere? | ||
--------------------------- | ||
|
||
No! **I was finally able to generalise the vtkProteinRibbonFilter implementation!!** I'm | ||
SunTzunami marked this conversation as resolved.
Show resolved
Hide resolved
|
||
grateful to the mentors for keeping a meeting and for helping me debug | ||
the code. I figured out most of the stuff courtesy the meeting. | ||
|
||
.. _PR #452: https://github.com/fury-gl/fury/pull/452 | ||
.. _PR #362: https://github.com/fury-gl/fury/pull/362 | ||
|
||
``Au Revoir!`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
Sixth week of coding! | ||
===================== | ||
|
||
.. post:: July 19 2021 | ||
:author: Sajag Swami | ||
:tags: google | ||
:category: gsoc | ||
|
||
Welcome to the seventh weekly check-in. I'll be sharing my progress for the sixth week of coding. | ||
|
||
What did you do this week? | ||
-------------------------- | ||
|
||
#. Updated `Molecular module`_: made it more pythonic, implemented | ||
ribbon actor, added support to pass numpy arrays (earlier, atomic | ||
data could only be added by using the add_atom). | ||
#. Created `PR #462`_ to: | ||
|
||
- Update the helical motion animation to use a single line actor, | ||
added textblocks to display velocity of the particle. | ||
|
||
|image1| | ||
|
||
- For brownian motion animation, I removed rotation(azimuth) and box | ||
actor, added textblock to display the number of particles and to | ||
show the simulation steps. | ||
|
||
|image2| | ||
|
||
#. Updated surface animation (used gridUI, added multiple animations). | ||
|
||
|image3| | ||
|
||
#. Created a `topic`_ on vtk discourse forum to query about gaps in | ||
bonds (tried resolving it by manipulating vtkProperties: | ||
BackfaceCulling, FrontfaceCulling but was unsuccessful). | ||
#. Read about molecular surface (theory behind it). | ||
|
||
What is coming up next week? | ||
---------------------------- | ||
|
||
#. Update molecular module by adding tests, ribbon actor. | ||
#. Try to implement molecular surface representation. | ||
#. Interactivity of the molecules. | ||
|
||
Did you get stuck anywhere? | ||
--------------------------- | ||
|
||
I didn't get stuck anywhere this week. | ||
|
||
.. _Molecular module: https://github.com/fury-gl/fury/pull/452 | ||
.. _PR #462: https://github.com/fury-gl/fury/pull/462 | ||
.. _topic: https://discourse.vtk.org/t/vtkmoleculemapper-gaps-in-bonds-on-zooming-in/6183 | ||
|
||
.. |image1| image:: https://user-images.githubusercontent.com/65067354/126033284-882ed6fd-fcc3-4a1c-8dfd-3220908859b1.png | ||
:width: 400px | ||
:height: 300px | ||
.. |image2| image:: https://user-images.githubusercontent.com/65067354/126033291-da68cb0d-b856-48ad-9aa4-c46621052267.png | ||
:width: 400px | ||
:height: 400px | ||
.. |image3| image:: https://user-images.githubusercontent.com/65067354/126061012-b183a47d-ed5e-4026-938b-4124da291524.png | ||
:width: 400px | ||
:height: 400px | ||
|
||
``Au Revoir!`` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
Seventh week of coding! | ||
======================= | ||
|
||
.. post:: July 26 2021 | ||
:author: Sajag Swami | ||
:tags: google | ||
:category: gsoc | ||
|
||
Welcome to the eighth weekly check-in. I'll be sharing my progress for the seventh week of coding. | ||
|
||
What did you do this week? | ||
-------------------------- | ||
|
||
#. Updated `PR #452`_: | ||
|
||
- Added ribbon actor to the molecular module. | ||
- Added tests for all functions in the molecular module. | ||
|
||
#. Updated `PR #462`_: Addressed the reviews of team members and | ||
mentors, added new features. | ||
|
||
|image1| | ||
|
||
#. Updated `PR #362`_: Addressed the feedbacks of team members and | ||
mentors. | ||
|
||
What is coming up next week? | ||
---------------------------- | ||
|
||
#. Work more on molecular module, meeting with mentors and core team on | ||
Thursday to optimize the module and merge `PR #452`_. | ||
#. Start working upon molecular surface model. | ||
|
||
Did you get stuck anywhere? | ||
--------------------------- | ||
|
||
No. | ||
|
||
.. _PR #452: https://github.com/fury-gl/fury/pull/452 | ||
.. _PR #462: https://github.com/fury-gl/fury/pull/462 | ||
.. _PR #362: https://github.com/fury-gl/fury/pull/362 | ||
|
||
.. |image1| image:: https://user-images.githubusercontent.com/65067354/126382288-b755c01d-8010-43ab-87db-2f1a4fb5b015.png | ||
:width: 300px | ||
:height: 300px | ||
|
||
``Au Revoir!`` |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. Everything looks good for me. How about putting some references about molecular representations?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @devmessias ! Thanks for review! No paper/blog was used as such yet in the project so I've used no references.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok, but I was talking about this
1mb0 protein
. For anyone which doesn't work with this topic, this can sound cryptic