====== Programmation appliquée à la chimie ====== L'article suivant analyse les contributions à cpython, le cœur du langage Python : [[https://lukasz.langa.pl/f15a8851-af26-4e94-a4b1-c146c57c9d20/]]. Les deux contributeurs les plus importants (on enlève les bots et les gestionnaires de release) sont Victor Stinner et Serhiy Storchaka. **Aux dernières nouvelles (14/12/2022) Serhiy Storchaka vit toujours en Ukraine, à 20 km de [[https://www.openstreetmap.org/node/337510526#map=9/51.1561/33.0579|Konotop]] !!** Le cours "Programmation appliquée à la chimie" de bachelier en sciences chimiques (15 H cours et 15 H exercices, bloc2) utilise deux supports : * Principalement, le présent wiki pour ses avantages techniques (coloration et indentation du code, recherche dans les pages, historique des modifications, ...) * Parfois, la [[https://moodle.umons.ac.be/course/view.php?id=107|plateforme moodle d'enseignement en ligne de l'UMONS]], pour ses **autres** avantages techniques (authentification, devoirs, forum,...) Si vous voulez comprendre la nécessité d'une formation informatique incluant l'initiation à l'algorithmique et la programmation, et l'apprentissage pratique via des projets, vous pouvez-consulter : * Le [[http://www.academie-sciences.fr/pdf/rapport/rads_0513.pdf|Rapport de l’Académie des sciences - L’enseignement de l’informatique en France - Il est urgent de ne plus attendre]] (2013) * [[https://www.whitehouse.gov/blog/2016/01/30/computer-science-all|Computer Science For All]] (President Obama in his 2016 State of the Union Address) ===== Notions de base (résumés, exemples de base,...) ===== * {{:teaching:progappchim:python-overview-3.pdf|Présentation et principes de base de la programmation en Python, avec quelques applications}} + [[codes_presentation|codes]] * **[[presentation_principes|Présentation et principes de base de la programmation en Python, avec quelques applications]]** (version wiki) * [[floss:python|Page avec de nombreuses informations sur Python (y compris pour l'apprentissage et l'installation)]]. Modes recommandés : - installation de la version 3 standard via [[http://python.org|python.org]] - **installation de la distribution complète [[https://www.anaconda.com/distribution/|Anaconda]] (pour votre OS, en version 3 et 64 bits)** * [[https://docs.anaconda.com/anaconda/user-guide/|User guide]] * **//Cf.// la page dédiée sur [[:floss:anaconda|Anaconda]]** - en salle informatique UMONS : utilisation de Python sous Ubuntu - dans n'importe quel navigateur web, via le site [[https://repl.it/languages/python3]] - utilisation en mode nomade de la plateforme [[https://notebooks.azure.com/|Azure]] avec l'utilisation de vos codes UMONS - via [[https://colab.research.google.com/notebooks/welcome.ipynb|Colaboratory]] et l'utilisation d'un compte gmail, cette configuration permettant un partage et une édition en commun * [[notions_fondamentales|Notions fondamentales]] * [[tkinter_gui_simple|Les bases d'un interface graphique avec Tkinter]] * [[pieges|Pièges à éviter]] Vous serez encouragé à l'utilisation et l'écriture de Jupyter notebooks, via l'utilisation de la distribution Anaconda, soit via [[https://colab.research.google.com/notebooks/welcome.ipynb|Colaboratory]] [[https://notebooks.azure.com/|via la plateforme cloud Azure]]. //Cf// : * ce {{ :teaching:progappchim:jupyter_primer_in_jupyter-02.ipynb.zip |Tutoriel Jupyter en Jupyter}} (fichier compressé dans une archive zip) * cette [[https://notebooks.azure.com/linusable/libraries/samples-public/html/notebooks/chemistry/chemical_elements_data-01.ipynb|application sur les données des éléments chimiques]] (FIXME : lien à actualiser) * [[https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks|A gallery of interesting Jupyter Notebooks]] * ... ==== Algorithmes classiques ==== * [[factorielle|Calcul de factorielles]] (pas à pas) * [[Suite_de_Fibonacci|Suite de Fibonacci]] (pas à pas) * **[[polynomes|Manipulation de polynômes]]** (pas à pas) * [[matrices|Manipulations de matrices]] * [[tris|Algorithmes de tri]] * [[recherches|Algorithmes de recherche]] * [[teaching:progappchim:algos_entiers|Algorithmes sur entiers]], où on parle d'atomes, de molécules, de nombres de nucléons ! * [[algos_divers|Algorithmes divers]] ===== Les librairies scientifiques essentielles ===== * [[matplotlib_simple|Les bases de Matplotlib, une librairie pour réaliser des graphiques 2D]] * [[numpy_simple|Les bases de NumPy]] (tableaux numériques, algèbre linéaire, transformées de Fourier, nombres aléatoires) * [[scipy_simple|Les bases de SciPy]] : ajoute à NumPy des fonctionnalités mathématiques (intégration, optimisation, fonctions spéciales, interpolation,...) * [[pylab_simple|Pylab]] : permet de combiner simplement Matplotlib, NumPy et SciPy * [[pandas|Pandas]], pour l'analyse de données * [[scikit_learn|Scikit-learn]], machine learning * [[plotly_simple|les bases de Plotly]], une librairie pour réaliser des graphiques. [[https://plot.ly/python/|plotly]] est interactif et s'intègre bien dans des navigateurs (//i.e.// Jupyter notebooks) * [[pygal_simple|les bases de Pygal]], une autre librairie graphique, simple (cf. ce [[http://pygal.org/en/stable/index.html|site]]) * [[altair_simple|les bases de Altair]], une autre librairie graphique, interactive ==== Des librairies spécifiques en chimie, biochimie,... ==== * [[mendeleev|Mendeleev]] (données sur les éléments chimiques) * [[rdkit|RDKit et molécules]] (représentation,...) * [[bioinformatic|Bioinformatique et la librairie Biopython]] (manipulations de séquences ADN, ARN, protéines,...) * [[openbabel_jmol|OpenBabel et Jmol]] : format de description de molécules et visualisations * [[ChemSpiPy]] : utilisation des données de [[http://www.chemspider.com/|ChemSpider]] * [[PubChemPy]] : interaction avec la base de données PubChem * [[ChemPy]] : librairie contenant diverse fonctionnalités sur la chimie et les réactions chimiques * [[https://pymatgen.org/|PyMatGen]] * [[https://chemlab.readthedocs.io/en/latest/index.html|Chemlab]] * [[https://wiki.fysik.dtu.dk/ase/ase/gui/gui.html#module-ase.gui|Ase's gui]] * [[https://pymol.org/2/|PyMOL]] * [[https://pgi-jcns.fz-juelich.de/portal/pages/pymoldyn-main.html|pyMolDyn]] * [[https://chemview.readthedocs.io/en/latest/|chemview]] * [[https://pypi.org/project/chembox/|chembox · PyPI]] * [[https://chembox.readthedocs.io/en/latest/example.html|chembox usage — chembox documentation]] * [[https://pypi.org/project/global-chem/|global-chem · PyPI]] * [[https://github.com/Sulstice/global-chem|Sulstice/global-chem: A General Public Dictionary of Common Chemical Names to their Molecular Definition]] * [[https://www.globalchemistry.org/|Global-Chem: Common Chemical Names Dictionary]] * [[https://pypi.org/project/cocktail-shaker/|cocktail-shaker · PyPI]] * [[https://github.com/Sulstice/Cocktail-Shaker|Sulstice/cocktail-shaker: A peptide string building for expanding chemical dataset combinations.]] * [[https://cocktail-shaker.readthedocs.io/en/latest/guide/file_handling.html|File API Documentation — Cocktail Shaker 1.0.0 documentation]] * [[https://pypi.org/project/chemics/|chemics · PyPI]] * [[https://pypi.org/project/moleculekit/|moleculekit · PyPI]] * [[https://pypi.org/project/molecule-slide-generator/|molecule-slide-generator · PyPI]] * [[https://pypi.org/project/pH-diagrams/|pH-diagrams · PyPI]] * [[https://github.com/chicolucio/pH-diagrams/|chicolucio/pH-diagrams: A Python package to plot fractional composition diagrams and pH-log c diagrams]] * [[https://ph-diagrams.readthedocs.io/en/latest/?badge=latest|pH diagrams — pH diagrams 0.3.2.post1.dev7+gb496040 documentation]] * [[https://pypi.org/project/pyriodic-table/|pyriodic-table · PyPI]] * [[https://github.com/leoz0214/pyriodic-table|leoz0214/pyriodic-table: A Python package which provides data on the Periodic Table of Elements.]] * [[https://pypi.org/project/molmass/|molmass · PyPI]] * [[https://pypi.org/project/pubchemTool/|pubchemTool · PyPI]] * ... De nombreuses librairies, l'utilisation du langage Python, de l'environnement Jupyter,... dans le cadre de la chimie sont évoquées dans le livre de 2021 de Thorsten Gressling (series De Gruyter Textbook) ISBN: 9783110629453 cf. [[https://www.degruyter.com/document/doi/10.1515/9783110629453/html]] ===== Notions intermédiaires et avancées ===== * [[slices|Slices sur les listes]] * [[csv|Lire et écrire des fichiers de données csv]] (comma separated values) * [[notions_avancees|Notions avancées]] * [[trucs_astuces|Trucs et astuces]] * [[urllib|Lecture du code source d'une page web via la librairie urllib]] ===== Jupyter, IPython Notebooks et JupyterLab ===== {{wp:fr>Jupyter}} * [[jupyter|Jupyter]] : introduction, exemples, liens,... * [[bokeh_simple|Les bases de Bokeh]], une librairie Python de visualisations interactives pour des représentations dans des navigateurs web. Bokeh est particulièrement indiqué pour une utilisation dans les Jupyter notebooks, et s'installe aisément via Anaconda. * Références externes : * [[https://github.com/weisscharlesj/SciCompforChemists|Scientific Computing for Chemists]] (pdf et données), cité dans [[https://pubs.acs.org/doi/full/10.1021/acs.jchemed.0c01071|A Creative Commons Textbook for Teaching Scientific Computing to Chemistry Students with Python and Jupyter Notebooks]] Charles J. Weiss, J. Chem. Educ. 2021, 98, 2, 489–494 DOI: 10.1021/acs.jchemed.0c01071 * [[https://chem.libretexts.org/Ancillary_Materials/Interactive_Applications/Jupyter_Notebooks|Jupyter Notebooks sur Chemistry Libretexts]] * ... ===== Applications ===== * [[random_walk_2D-simple|Marche aléatoire 2D simple]] : simulation d'une chaîne polymère * [[koch_snowflake|Flocon de Koch]] : simulation d'une fractale avec la librairie Turtle * [[dictionary_adn_protein|Traduction de l'ADN en séquence d'acides aminés (protéine)]] : utilisation d'un dictionnaire (type Python) * [[solvents_data_class|Utilisation d'une "classe" pour des données de solvants chimiques]] * [[Lennard-Jones|Représentation du potentiel de Lennard-Jones]], graphe élémentaire avec Matplotlib, et énergie de cohésion d'un cristal de gaz rare. * [[diffusion_chimique_1D|Modélisation de la diffusion chimique dans un film]] : technique de différences finies, utilisation de Matplotlib * [[Maxwell-Boltzmann|Représentation de la distribution de vitesse de Maxwell-Boltzmann]] (avec et sans NumPy) * [[entropie_melange|Entropie de mélange pour un gaz ou liquide idéal]] * [[elements_molecules|Éléments et molécules]] : propriétés, masses molaires,... * [[pH-3D|Représentation 3D du pH d'un acide en fonction d'un ajout de base et d'une dilution globale]] * [[analyse_images|Analyse d'images]] * [[attracteur_Lorenz|L'attracteur de Lorenz]] : équations différentielles ordinaires et comportement chaotique * [[fit_modele_einstein|Optimisation de la température caractéristique du diamant suivant le modèle d'Einstein]] (avec scipy, numpy, matplotlib) * [[t-test|Test de Student]] : exemple technologique (avec scipy, numpy) * [[OSM_interrogation|Interrogation de la base de données géolocalisées OpenStreetMap]] * [[glossaire_chimie|Glossaire de chimie]] * [[math_nombres|Mathématiques et nombres]] * [[epidemie_coronavirus|Épidémie du coronavirus COVID-19]] ===== Données chimiques disponibles ===== * Données brutes non triées sur les éléments chimiques (pour usage après restructuration via du code python) : {{ :teaching:progappchim:brute_data.zip |}} * [[https://www.kaggle.com/jwaitze/tablesoftheelements|Dataset]] de Kaggle sur les éléments chimiques * [[https://www.eea.europa.eu/themes/air/explore-air-pollution-data|Explore air pollution data]] European Environment Agency * [[https://echa.europa.eu/fr/home|European Chemicals Agency]] * [[https://webbook.nist.gov/|WebBook de Chimie NIST, SRD 69]] permet d'accéder aux données collectées et distribuées par NIST dans le cadre du Programme de données de référence standard. * ... ===== Autres données ===== * [[https://www.kaggle.com/mabusalah/brent-oil-prices|Brent Oil Prices]] Daily historical Brent Oil Prices available on the U.S. Energy Information Admin * Sources de données statistiques, données ouvertes (opendata), statistiques belges * OpenData : [[http://data.gov.be/fr]] * statbel : [[http://www.statbel.fgov.be/home_fr.asp]] * Belgostat online : [[http://www.nbb.be/app/cal/F/BelgoHome.htm]] * CREF : [[http://www.cref.be/Statistiques.htm]] * statistiques européennes * eurostat : [[http://epp.eurostat.ec.europa.eu]] * statistiques internationales * OECD : [[http://stats.oecd.org/wbos/]] * UNESCO : [[http://www.uis.unesco.org]] * United Nations : [[http://unstats.un.org/unsd/default.htm]] * World Trade Organization : [[http://www.wto.org/english/res_e/statis_e/its2005_e/its05_toc_e.htm]] * Nations particulières * France : * [[https://www.data.gouv.fr/fr/]] * [[http://www.insee.fr/fr/home/home_page.asp]] * Luxembourg : [[http://www.statec.public.lu/en/]] * UK : [[http://www.statistics.gov.uk/]] * Hollande : [[http://www.cbs.nl/en/]] * Allemagne : [[http://www.destatis.de/e_home.htm]] * Italie : [[http://www.istat.it/English/index.htm]] * Espagne : [[http://www.ine.es/welcoing.htm]] * Suisse : [[http://www.bfs.admin.ch/bfs/portal/en/index.html]] * Canada : [[http://www.statcan.ca/start.html]] * UK : [[http://www.data.gov.uk]] * Australia : [[http://data.gov.au/]] * USA : * [[http://www.fedstats.gov/]] * [[http://www.data.gov/]] (et pages spécialisées, incluant la science et la recherche) * Secteurs spécifiques * [[https://www.economicsnetwork.ac.uk/data_sets|Economic Data freely available online]] * Autres références : * [[http://www.statista.com/]] ===== Exemples de travaux d'étudiants ===== Ces travaux peuvent être entièrement originaux, ou se baser sur des éléments de code existants. + page à accès limité : [[intra:programmation-travaux|lien intranet sur les travaux]] * [[game_of_life_conway-2012|Jeu de la vie de Conway]] : automate cellulaire 2D (TkInter) * [[tableau_periodique_2013|Tableau périodique]] : tableau avec éléments cliquables pour obtenir les informations (y compris un fichier de données) * [[régression_linéaire_2013|Régression linéaire]] : entrée de couples, calcul et affichage de la droite de moindres carrés * [[ensemble_mandelbrot_2013|Ensemble de Mandelbrot]] : dessin d'une fractale * [[pavage_penrose_2013|Pavage de Penrose]] * [[courbe_predominance_acide_2013|Courbe de Prédominance d'un Acide]] * [[grille_configurations_melange_binaire_2013|Création d'une grille et de configurations d'un système binaire modélisé]] * [[ph_acides_bases_2013|Représentation de pH d'acides et de bases]] * [[representation_molecules_2013|Représentation de molécules]] * [[calcul_matriciel_2012|Calcul matriciel]], avec l'interface Tk * [[conversion_temperature_2011|Conversion de températures]], avec l'interface Tk * [[ph_courbe_titrage_2011|pH et courbe de titrage]], avec l'interface Tk * [[gaz_parfait_2011|Loi des gaz parfaits]], avec l'interface Tk * [[tableau_periodique_2011|Tableau périodique]] : une autre version, avec l'interface Tk * [[dictionaries_adn_arn_protein|Traduction ADN-ARN-protéine]], avec l'interface Tk * [[solubilite_pH_T|Solubilité en fonction du pH et de la température]], interface en ligne de commande et graphiques matplotlib * [[pressions_partielles_systemes_non_ideaux|Graphiques des pressions partielles de systèmes non-idéaux]] * [[periodical_table_electronegativity|Vue 3D de l'électronégativité]] (tableau périodique) ===== Idées de travaux, projets ===== Consulter aussi cette [floss:python#applications_en_chimie|liste d'applications et librairies python en chimie]] * Représentation de fonctions thermodynamiques de deux variables : * avec Matplotlib, en incluant des éléments supplémentaires * exemple : isothermes de van der Waals * Utiliser la librairie Mayavi (3D) * Représentation des résolutions de Fourier pour la diffusion à 1D, 2D, 3D, en fonction du temps,... * Résolution de problèmes numériques * intégration numérique * racines de polynômes, de fonctions générales * systèmes d'équations linéaires * optimisation de fonction (minimisations) * Approximations utilisant la [[http://fr.wikipedia.org/wiki/Formule_de_Stirling|formule de Stirling]] pour la factorielle (très utilisée en thermodynamique statistique), avec tabulation, représentations graphiques,... * Interfacer Python et un tableur (par exemple pouvoir lire des données d'un fichier de tableur à partir d'un programme Python) * Simulation en chimie : * degré de polymérisation comme l'article [[http://pubs.acs.org/doi/abs/10.1021/ed300877z|Software for Demonstration of Features of Chain Polymerization Processes]] * Traitement d'images * mesurer des temps de réaction (s'inspirer par exemple de fonctionnalités de [[http://acces.ens-lyon.fr/acces/ressources/neurosciences/temps-de-reaction-investigation-variabilite-et-traitements-statistiques-des-donnees/ressources-1/prise-en-main-rapide-du-logiciel-reaction|ce programme]]) * générer du son, de la vidéo * Calcul de la [[http://fr.wikipedia.org/wiki/Constante_de_Madelung|constante de Madelung]] (interactions coulombiennes dans un cristal ionique) * Représentation 3D du pH d'un acide en fonction d'un ajout de base et d'une dilution globale : cf. [[http://pubs.acs.org/doi/abs/10.1021/ed400297t|cet article]] : extension de l'exemple montré * Échelle d'électronégativité, ou autre propriété atomique : représentation à 3D ou via des barres dont la taille est proportionnelle à la valeur, en suivant le schéma général du tableau périodique * Illustrations graphiques des séries spectrales de l'hydrogène (barres, flèches, anneaux,...) * Visualisations s'inspirant de sites comme [[http://www.chemtube3d.com/index.html|ChemTube 3D]], [[http://www.chemeddl.org/|ChemEd DL]],... * Diagramme de Pourbaix à 3D : cf. [[http://pubs.acs.org/doi/full/10.1021/ed400735g|cet article]] * Outils de base en chimie comme sur le site [[http://fr.webqc.org/chemicaltools.php]] * Multiéquilibre (mélange d'acides et bases conjuguées) : cf..[[http://pubs.acs.org/doi/abs/10.1021/ed400808c|cet article]] * Utilisation de régressions non-linéaires pour traiter des données de réactions enzymatiques : cf. [[http://pubs.acs.org/doi/abs/10.1021/ed3006677|cet article]] * Tableau périodique interactif via Ipython et Bokeh (cf. cette [[https://docs.bokeh.org/en/1.3.4/docs/gallery/periodic.html|ref]]) * Simulations de ségrégation, par inspiration de [[http://ncase.me/polygons/|ces simulations]], [[https://fr.wikipedia.org/wiki/Thomas_Schelling#La_th.C3.A9orie_de_la_s.C3.A9gr.C3.A9gation_non_voulue|des travaux de Thomas Schelling]], et sur base du programme [[https://github.com/projectmesa/mesa|Mesa]] (agent-based modelling) * Équilibre liquide-vapeur à deux constituants, simulation du changement de phase (//cf//. cette [[http://demonstrations.wolfram.com/LeverRuleAppliedToTheBenzeneTolueneVaporPressureDiagram/|simulation]]) * Approximations de la [[http://fr.wikipedia.org/wiki/Fonction_de_Langevin|fonction de Langevin]] utilisée pour décrire la magnétisation d'un matériau paramagnétique : représentation de la fonction et de ses approximations, des erreurs relatives,... * graphiques polaires et cartésiens : * [[http://1ucasvb.tumblr.com/post/42881722643/the-familiar-trigonometric-functions-can-be]] * Illustration dynamique de séries de Fourier, comme [[http://commons.wikimedia.org/wiki/File:Fourier_series_square_wave_circles_animation.gif|ici]] * Évolution de population suivant le modèle de la [[http://en.wikipedia.org/wiki/Leslie_matrix|matrice de Leslie]] avec représentation de la [[http://fr.wikipedia.org/wiki/Pyramide_des_%C3%A2ges|pyramide des ages]] (//cf// [[https://github.com/jimrybarski/population_pyramid|ce lien]]) * Créer des structures de données pour gérer les étiquettes de produits chimiques : pictogrammes, mentions de danger (Hxxx et EUHxxx), de prudence (Pxxx), codes produits,... * Rotamères : étude simplifiée et représentation graphique (//cf.// [[https://www2.chemistry.msu.edu/faculty/reusch/virttxtjml/rotconf1.htm|cet exemple]]) * Décomposition spinodale (modèle de Cahn-Hilliard), (//cf.// [[http://www.ctcms.nist.gov/fipy/examples/cahnHilliard/generated/examples.cahnHilliard.mesh2D.html|cet exemple]]) * Programme basé sur une de ces librairies : * [[http://pythonhosted.org/pyEQL/|pyEQL]], librairie pour gérer des solutions aqueuses d'électrolytes * [[https://pypi.python.org/pypi/chemlab|chemlab]], librairies incluant la visualisation et la manipulation de données sur les structures chimiques * [[https://pypi.python.org/pypi/chempy/|chempy]], librairie pour résoudre des problèmes de chimie physique, chimie analytique,... * [[https://www.ebi.ac.uk/chembl/|ChEMBL]] base de donnée chimique * [[https://github.com/mcs07/ChemSpiPy|ChemSpiPy]] pour accéder à la base de donnée [[http://www.chemspider.com/|ChemSpider]] * [[http://www.cheminfo.org/wikipedia|Wikipedia chemical structure explorer]], avec données exploitables via [[https://github.com/cheminfo/wikipedia|GitHub]] * Charte des nucleides, et diverses représentations des instabilités. cf. [[https://www-nds.iaea.org/relnsd/vcharthtml/VChartHTML.html|Live Chart of Nuclides]] et les données sources indiquées * **collisions de particules (sphères ou disques)** * [[https://introcs.cs.princeton.edu/java/assignments/collisions.html|Molecular Dynamics Simulation of Hard Spheres]] → description générale du problème avec des solutions basées sur les particules ou les événements (hard disc simulation, dynamique moléculaire) : * documents de Werner Krauth et al. * [[http://www.lps.ens.fr/~krauth/index.php/Main_Page|Main Page - Werner KRAUTH]] * [[https://www.coursera.org/lecture/statistical-mechanics/lecture-2-hard-disks-from-classical-mechanics-to-statistical-mechanics-e8hMP|Lecture 2: Hard disks: from Classical Mechanics to Statistical Mechanics - Hard disks: From Classical Mechanics to Statistical Mechanics | Coursera]] * [[http://www.lps.ens.fr/~krauth/index.php/Bernard_Krauth_b_2011|Bernard Krauth 2012 - Werner KRAUTH]] * Event-driven * [[https://algs4.cs.princeton.edu/61event/|Event-Driven Simulation]] * [[https://github.com/numberset/HardSphereSim|numberset/HardSphereSim: Event driven simulation of hard spheres in python]] * [[https://github.com/rajeshrinet/pyedmd|rajeshrinet/pyedmd: Event-Driven Molecular dynamics simulations]] * [[https://github.com/robeme/HardSphereSim|robeme/HardSphereSim: Event driven simulation of hard spheres in python]] * Autres simulations * [[https://github.com/labay11/ideal-gas-simulation/blob/master/simulation.py|ideal-gas-simulation/simulation.py at master · labay11/ideal-gas-simulation]] * [[https://johnloomis.org/ece538/notes/visual/gas.py.html|gas.py]] * Exploitation de données chimiques de wikidata.org [[https://query.wikidata.org/#%20%20PREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0A%20%20SELECT%20%3Fcompound%20WHERE%20{%0A%20%20%20%20%3Fcompound%20wdt%3AP31%20wd%3AQ11173%20.%0A%20%20}%0A|query]] (> 20000 composés), PREFIX wdt: SELECT ?compound WHERE { ?compound wdt:P31 wd:Q11173 . } * chaines de Markov sur des séquences peptidiques * Simulation électrochimique comme dans [[http://pubs.acs.org/doi/abs/10.1021/acs.jchemed.6b00052|cet article]] * Splitting en RMN du proton, comme [[http://pubs.acs.org/doi/abs/10.1021/acs.jchemed.6b00133|cet article]] * Catalyse biochimique (Michaelis-Menten) : représentation et calcul des constantes comme dans [[http://www.mt.com/dam/Analytical/uv-vis/uv-glen/LAB_enzyme_1604_ANA_Academia.pdf|cet article]] * Simulation de l'expansion irréversible d'un gaz mono-atomique, comme dans [[http://pubs.acs.org/doi/full/10.1021/acs.jchemed.6b00226|cet article]] * représentation de liaisons, densités de charge, comme dans [[http://pubs.acs.org/doi/full/10.1021/acs.jchemed.6b00058|cet article]] * simulation du modèle d'Ising : [[http://rajeshrinet.github.io/blog/2014/ising-model/]] * visualisation comme dans l'article [[http://pubsdc3.acs.org/doi/abs/10.1021/acs.jchemed.5b00439|Visualization of Buffer Capacity with 3-D “Topo” Surfaces: Buffer Ridges, Equivalence Point Canyons and Dilution Ramps]] ou [[https://pubs.acs.org/doi/abs/10.1021/acs.jchemed.6b00682|3-D Topo Surface Visualization of Acid–Base Species Distributions: Corner Buttes, Corner Pits, Curving Ridge Crests, and Dilution Plains]] * sur base de [[http://pubs.acs.org/doi/abs/10.1021/acs.jchemed.7b00003|A Python Program for Solving Schrödinger’s Equation in Undergraduate Physical Chemistry]] * programmes en version python analogues aux applications en chimie de l'article [[http://pubs.acs.org/doi/abs/10.1021/acs.jchemed.6b00973|The Development of Computational Thinking in a High School Chemistry Course]] Paul S. Matsumoto and Jiankang Cao, J. Chem. Educ., 2017, 94 (9), pp 1217–1224 DOI: 10.1021/acs.jchemed.6b00973 * programmes inspirés de [[http://pubs.acs.org/doi/10.1021/acs.jchemed.6b01008|Teaching the Growth, Ripening, and Agglomeration of Nanostructures in Computer Experiments]] Jan Philipp Meyburg and Detlef Diesing, J. Chem. Educ., 2017, 94 (9), pp 1225–1231 DOI: 10.1021/acs.jchemed.6b01008 * Créer un nuage de tag | mots ou word cloud à partir de textes publications websites de chimie (utiliser scikit-learn et/ou du "web scrapping",...). Liens : [[https://github.com/amueller/word_cloud|Word Cloud]], [[https://github.com/atizo/PyTagCloud|PyTagCloud]], [[https://stackoverflow.com/questions/16645799/how-to-create-a-word-cloud-from-a-corpus-in-python|ref1]], [[https://www.kaggle.com/adiljadoon/word-cloud-with-python|ref2]], [[http://minimaxir.com/2016/05/wordclouds/|ref3]],... * représentations d'orbitales électroniques 1D ou 3D. * //Cf.// par exemple [[https://towardsdatascience.com/quantum-physics-visualization-with-python-35df8b365ff|cet article]] * [[http://anguslowe.me/physics/orbitals/]] * Colorimétrie : [[https://pubs.acs.org/doi/10.1021/acs.jchemed.7b00681|Color Space Mathematical Modeling Using Microsoft Excel]] M. J. Delgado-González, Y. Carmona-Jiménez, M. C. Rodríguez-Dodero, and M. V. García-Moreno, J. Chem. Educ., 2018, 95 (10), pp 1885–1889 DOI: 10.1021/acs.jchemed.7b00681 * Énergie électrique et émission de CO2, en continu : [[https://www.electricitymap.org]] * Données diverses (France) : [[http://data.cquest.org/]] * Visualisation de la taille d'effet : cf. [[https://rpsychologist.com/d3/cohend/]] * simulation du [[wp>fr:Problème_de_Monty_Hall|Problème de Monty Hall]] (+ [[wp>Monty_Hall_problem|Monty Hall problem]], [[wp>fr:Paradoxe_des_prisonniers|Paradoxe des prisonniers]]) * [[https://python.plainenglish.io/using-python-to-simulate-the-famous-monty-hall-problem-b4a9697894ba|Simulate the Famous Monty Hall Problem with Python]] Ahmed Al-Jaishi, Medium, 25/02/2022 * [[https://scipython.com/]] : Learning Scientific Programming with Python avec quelques exemples de programme pouvant être à la base de quelques développements * rebonds, billards,... comme discuté [[https://twitter.com/matthen2/status/1571887895228874752|ici]] * [[https://www.astrolabe-science.fr/des-spectres-de-raies-demission-avec-python/|Des spectres de raies avec Python]], David Alberto * ... Voir aussi : * [[floss:python:activestateselection|sélection de codes sources ActiveState]] avec de nombreuses applications scientifiques. * [[https://dvillers.umons.ac.be/wiki/floss:python#applications_en_chimie|ces librairies]] * [[https://eduscol.education.fr/1648/programmes-et-ressources-en-physique-chimie-voie-gt|Utiliser le langage Python dans un contexte de physique-chimie]] (éduscol, France) ===== Références générales ===== * [[https://www.eyrolles.com/Informatique/Livre/coder-proprement-9782326002272/|Coder proprement]] Robert C. Martin 2019, Eyrolles * [[https://levelup.gitconnected.com/21-python-mini-projects-with-codes-c4126e4131e4|21 Python Mini Projects With Code - Get a Speed Boost In Your Python Journey By Building These Amazing Projects]] Abhay Parashar, Medium, 04/01/2021