Pages

Install and use chemdataextractor

conda install -c chemdataextractor chemdataextractor
or
pip install ChemDataExtractor

(For more info, see this docs page.)

Use:

In the termial, type python and enter

>>> doc = Document('UV-vis spectrum of 5,10,15,20-Tetra(4-carboxyphenyl)porphyrin in Tetrahydrofuran (THF).')

>>> doc.cems

I get following error.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/lib/python2.7/site-packages/chemdataextractor/doc/document.py", line 355, in cems
    return list(set([n for el in self.elements for n in el.cems]))
  File "/home/lib/python2.7/site-packages/chemdataextractor/doc/text.py", line 213, in cems
    return [cem for sent in self.sentences for cem in sent.cems]
    raise ModelNotFoundError('Could not load %s. Have you run `cde data download`?' % path)
chemdataextractor.errors.ModelNotFoundError: Could not load models/punkt_chem-1.0.pickle. Have you run `cde data download`?

It seems that the chemdataextractor project is not updated for last 3 years. However, the authors publish new papers based on this package.

Also note that this package works with Python 3.6.0 version of python or earlier version. It throws bugs if you use with later version of python.


List of basis sets used in Quantum Chemistry and Condensed Matter Physics

The molecular orbitals or the crystal wave functions are expanded using following basis functions.

Slayter-type Orbitals (STO)
Gaussian-type orbitals (GTOs)
Numerical atomic functions
Finite elements (FEM)
Wavelets
Plane waves
Spherical waves

The GTOs and planes waves are widely used in many codes. The GTO originated from Gaussian code by John A Pople. Gaussian basis functions are the reason for the initial success in chemistry. Plane wave basis functions are widely used in condensed matter physics.

AI predicts that our Earth goes around the Sun: A prediction by neural networks

A neural network algorithm leans physical law and the result is published in Physical Review Letters, one of the leading journals in Physics.

The abstract reads as follow.

"Despite the success of neural networks at solving concrete physics problems, their use as a general-purpose tool for scientific discovery is still in its infancy. Here, we approach this problem by modelling a neural network architecture after the human physical reasoning process, which has similarities to representation learning. This allows us to make progress towards the long-term goal of machine-assisted scientific discovery from experimental data without making prior assumptions about the system. We apply this method to toy examples and show that the network finds the physically relevant parameters, exploits conservation laws to make predictions, and can help to gain conceptual insights, e.g. Copernicus’ conclusion that the solar system is heliocentric."

We all know that the earth revolves around the Sun. But, without giving this information, how can a computer algorithm can predict? It has been successfully predicted by a neural network for the first time. The authors wants to predict the laws of quantum physics using this neural network. This prediction of planetary law is one of the first step on their way.

This work has been highlighted by Nature as "AI Copernicus ‘discovers’ that Earth orbits the Sun"

References

In research, should I chose to an upcoming field or should I focus on well-established field?

This question is always in my mind.

Should I use the tool I know very well or should I learn new tools?
Another question is should I work on the field I am working in already or should I move to a new filed?

Here is my thought.

Consider a field that use a standard tool to research. Theoretical researchers adopt tools like machine learning for their research. Should I shift to the new tool despite insufficient skill to do that or should I stick to my actual skill? Switching completely to the new field may take a lot of time. And, the final outcome would be either successful or failure. That can not be afford by a graduate student or postdoc or who are in their early career. Another option is to to combine with existing too. But, that too decreases the efficiency. Yet, there is more chance that your project will be successful. There is less chance that the project would become failure. Hence, I chose to combine new tools with existing tools (if possible) to do my research. But, still I have to be ready to pay the cost. I should put in much effort to learn the new tools and applying them. Sticking to the tools you already know (unless you are developing them) is is not a growth mindset.

What do you think?

Productivity tools series: top pomodoro technique tools

Probably you know about pomodoro technique which as a productivity technique.



Here are the top tools to manage your time and procrastination. You can read the details in this Wikipedia page on Pomodoro technique.

Here are the top web apps that you can use for boosting your productivity. 








Is this helpful? If yes, which one is your favorite? Share your thoughts. 


Top programming languages for Quantum Chemistry or Density Functional Theory Researchers

Top programming languages is mostly debated topic. For a new programmer or researcher, this is the first question that comes to our mind - "What programming language should I use"?

Here are the top languages used for researchers in Quantum Chemistry and Condensed Matter Theory researchers. For wrapping purpose, mostly python is used. Note that a combination of these languages such as (Fortran with Python, C++ with python, Fortran and C also widely used in many codes)

Fortran
C++
Python
C


Here are some discussion.

Fortran
Fortran is the most widely used language for long time. It has rich libraries that can do numerical computations and most (or almost all) of the condensed matter codes are written in Fortran. Codes written in Fortran has very good readablity. One of the reason for the wide use of Fortran is considered is that when the original developers wrote the code, Fortran was mostly popular and still popular and it takes much effort to rewrite modern language such as C++. However, because Fortran 90 adapts all the features of C++ such as class, inheretance, isomorphisms etc, there is no need to switch to C++. 
Example: VASP, Quantum Espresso, ELK, etc.

C++ 
Quantum Chemistry packages where the molecular properties are calculated are mostly using C++ as programming languages. Quantum Chemistry researchers love C++. Most of the chemistry based codes especially use C++. The speed is almost equal to C++. This language also has good libraries for numerical computation.

Python
Python is the fastest growing language and easy to learn. Researchers and educators advice that Python should be taught as the first programming languages. With the Numpy and Scipy packages, the speed is comparable to C++ most of the time. Python can also be used as a wrapper language along with other codes such as Fortran and C/C++.

C
C is the minimalist language and it can be used to do almost anything. While it has no class, inheritance and isomorphism, this is the first language that is taught to computer science students. This language is used in a countable number of codes with Python as a wrapper language.

What is your take on this? Comment here if you agree or disagree.

For the list of software and more details see this Wikipedia page List of quantum chemistry and solid-state physics software.

Top libraries for Data Scientists and Machine Learning Application Researchers

Top libraries for a Data Scientist or Machine Learning applications researchers

  1. TensorFlow
  2. Scikit-Learn
  3. Numpy
  4. Keras
  5. PyTorch
  6. LightGBM
  7. Eli5
  8. SciPy
  9. Plotly
  10. Pandas

Some of the cheat sheets can be obtained here in these links.



Gedit cause ~ at the end of the file name. Why and how to solve this?

If I open a file using gedit, after closing the file, in addition to the file, an additional file is added with ~ at the end of the file name. Why does this happens?



Questions to researchers scientists

This list of questions are inspired by many posts and interviews and my experience. For references, you may see at the end of the

What are some interesting questions to ask researchers/scientists?

Who were your most influential teachers growing up?

Why did you decide to go into your profession?

What do you enjoy the most about your profession?

Did you ever imagine that you would be doing this when you were a teenager/college-student/child?

What would you change if you go back to 20/30 years from now (or to your childhood?)

What would you suggest to someone who want to follow your footsteps (do research in your field)?

What were the turning points or important moments in your research career?

What was the best advice you’ve gotten?

Who are you inspirations both in your field and outside?

What are your daily habits? Are you a morning person or night person?

Could you please explain your research in 5 different levels (inspired by WIRE.com)

Could you please explain your research to a five years old?

What is that you currently working on?

How do you chose PhD students and Postdocs?

If you weren’t a scientist what would you be?

What other jobs have you considered?

Who’s your favorite scientist?

When did you get the call and what situation  or How did you know that you won the award?

Do you use social media? If yes how long every day?

How much is done in your field and what do you envision in your field?

Which one principle you like the most and why?

Which discovery you like the most?







References
Quora: As a teenager what type of interesting question can I ask a Nobel prize winner...

sudo apt/apt-get update error (no update)

Sometimes, I get following error or unable to lock directory /var/lib/apt/lists/ while updating the system. What does that mean?
The output in the terminal is as follow:

$ sudo apt update
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/

$ sudo apt-get update
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/


Solution.

Just do follow.

sudo rm /var/lib/apt/lists/lock

Then,

sudo apt-get update 

This will update your system.





You may be interested in these posts

Error in image file conversion: convert-im6.q16: not authorized `test.eps' @ error/constitute.c/WriteImage/1037.

This error is because of the vulnerability. This allows remote execution of code using image formats. So, some Linux distributions by defaul...