Spring til hovedindhold
ActivePapers Gem dine data som genberegnelige dokumenter, så ethvert publiceret resultat kan genkøres, verificeres og bevares.

Nogle links på dette websted er affiliate-links: Hvis du køber gennem dem, kan vi modtage en kommission uden ekstra omkostninger for dig. Dette påvirker aldrig vores anbefalinger. Se vores affiliate-oplysning for detaljer. Affiliate-oplysning.

ActivePapers vejledning

Python-udgave JVM-udgave Pharo-udgave Blog … bibliotek —> ActivePapers-tutorial Denne korte tutorial viser, hvordan man kan inspicere indholdet af en ActivePaper udtrække kode og dokumentation (inklusive diagrammer) ændre parametre for beregningen modificere koden genkøre beregninger oprette en ActivePaper fra bunden Eksempelfilen til denne tutorial kan downloades fra Figshare. Det er også en god idé at kigge på beskrivelsen på Figshare-siden.

Du behøver ikke forstå, hvad den gør, eller hvorfor, men hvis du er interesseret, er du velkommen til at læse artiklen, der beskriver arbejdet. Den handler om beregning af translations- og rotationsdiffusionstensoren for et protein i opløsning ud fra en molekylardynamik-traektorie. Kopier venligst den downloadede ActivePaper-fil til en tom mappe. Åbn et terminalvindue, og gå til denne mappe. Når du skriver ls -l, bør du se noget i stil med: -rw-r—r— 1 hinsen staff 148133188 Sep 26 16:21 lysozyme_diffusion.ap Inspicering af indholdet aptool ls producerer en lang liste over datasæt, startende med code/correlation_functions code/diffusion_tensor code/identify_trajectories code/plots code/python-packages/fitting code/python-packages/molecular_structure code/python-packages/mosaic code/python-packages/quaternion code/python-packages/time_series code/python-packages/units code/thermal_averages code/trajectory_processing data/coordinate_trajectories/rotation_laboratory_frame_1 data/coordinate_trajectories/rotation_laboratory_frame_10 data/coordinate_trajectories/rotation_laboratory_frame_2 Men hvordan ved aptool, hvilken ActivePaper-fil du vil kigge på?

Hvis der kun er én fil med endelsen .ap i den aktuelle mappe, er det den, den vælger. Og derfor er det en god idé at bruge en separat mappe til hvert ActivePaper-projekt. Hvis du af en eller anden grund ikke ønsker at gøre dette, kan du angive ActivePaper-filnavnet eksplicit: aptool ls -p lysozyme_diffusion.ap Du kan få flere oplysninger ved at bruge aptool ls -l hvilket giver: 2013-06-07/09:13:05 calclet code/correlation_functions 2013-06-07/09:19:48 calclet code/diffusion_tensor 2013-06-07/10:02:29 calclet code/identify_trajectories 2013-06-12/08:03:48 calclet code/plots 2013-06-04/15:42:02 module code/python-packages/fitting 2013-05-02/15:11:53 module code/python-packages/molecular_structure 2013-06-14/15:46:18 reference code/python-packages/mosaic 2013-05-23/11:42:31 module code/python-packages/quaternion 2013-05-27/04:13:09 module code/python-packages/time_series 2013-05-02/15:12:07 module code/python-packages/units plus mange flere linjer som disse.

Den første kolonne viser dato og tidspunkt for den sidste ændring af hvert datasæt. Den anden kolonne viser typen af datasættet. Listen ovenfor indeholder to af typerne for eksekverbar kode, calclet og module .

Der er en tredje type, som ikke forekommer i denne liste: importlet . Et module er præcis det, du som Python-programmør forventer: en Python-kildekodefil, der skal importeres af anden Python-kode.

Calclets og importlets er de to varianter af scripts, som ActivePapers leverer. Den mest almindelige type er calclet, som er et Python-script med begrænsede rettigheder: det kan ikke udføre nogen I/O uden for den ActivePaper-fil, det er indeholdt i, hvilket betyder, at det hverken kan tilgå filer eller netværksressourcer. Disse begrænsninger sikrer reproducerbarhed (alle inddata er garanteret at være i ActivePapieren) og beskytter brugeren mod fejl og ondsindet kode. Men de betyder også, at calclets ikke kan bruges til at importere data ind i ActivePapieren.

Relateret: — Projektbaserede datavidenskabelige stier med en guidet terminal og rigtige datasæt.

Her kommer importlets ind i billedet: de kan bruge alle Python-funktioner og tilgå enhver ressource. Det betyder også, at du ikke bør køre andres importlets uden først at have kigget på dem.

Siden [[Calclets]] fortæller dig, hvordan man skriver calclets og importlets. Der er endnu en datasættype i listen ovenfor: reference, som tjener til at henvise til datasæt i andre ActivePaper-filer. En reference består af to dele: en henvisning til filen og navnet på datasættet inden i den pågældende fil. Filhenvisningen kan være et DOI for en publiceret fil eller et lokalt filnavn.

Lokale filnavne giver naturligvis ikke mening på nogen andens computer, så lokale referencer er lidt ligesom importlets: de dokumenterer, hvor data kommer fra, men gør dem ikke tilgængelige. Lad os kigge på referencerne i vores ActivePaper: aptool refs Vi finder ét DOI og ti lokale referencer: doi:10.6084/m9.figshare.705829 local:lysozyme_spce_rbt_1 local:lysozyme_spce_rbt_10 local:lysozyme_spce_rbt_2 local:lysozyme_spce_rbt_3 local:lysozyme_spce_rbt_4 local:lysozyme_spce_rbt_5 local:lysozyme_spce_rbt_6 local:lysozyme_spce_rbt_7 local:lysozyme_spce_rbt_8 local:lysozyme_spce_rbt_9 DOI’en refererer til pyMosaic-biblioteket, version 0.1.1, som er deponeret på Figshare.

Værd at se: — Ét abonnement på universitetsstøttede Python- og datavidenskabelige certifikater.

De lokale filer er simuleringstraektorierne, der analyseres i ActivePapieren. Lad os få nogle flere oplysninger om disse referencer: aptool refs -v doi:10.6084/m9.figshare.705829 links: code/python-packages/mosaic local:lysozyme_spce_rbt_1 copies: data/center_of_mass data/orientation data/reference_structure data/time og så videre for de ni andre inputfiler. Dette viser, at DOI’en bruges i et link til destinationfilens datasæt code/python-packages/mosaic , mens de lokale filer blev brugt som kilde for data, der blev kopieret selve ind i ActivePapieren.

En kopi-reference tjener altså kun til dokumentation; der er ikke behov for at have en kopi af den refererede fil. Tilbage til datasættyper. Der er endnu nogle få stykker, som ikke viste sig i de første linjer af aptool ls -l , så lad os kigge på nogle af de resterende linjer: 2013-07-03/12:24:26 text documentation/README 2013-06-14/15:55:08 file documentation/c_rr_diagonals.pdf 2013-06-14/15:55:00 data data/correlation_function_integration_limit 2013-06-14/15:46:47 dummy data/coordinate_trajectories/rotation_laboratory_frame_1 Du kan sikkert gætte, hvad text betyder.

Og file er præcis det, en fil er i Unix-verdenen: en sekvens af bytes uden nogen særlig fortolkning knyttet til sig. Senere vil du se, hvordan en sådan fil kan udtrækkes. Betydningen af data er måske mindre indlysende, især hvordan den adskiller sig fra en file. Svaret er, at data er et vilkårligt HDF5-datasæt karakteriseret ved et datarum og en datatype.

Tænk på det som et array, hvis du vil; det er faktisk ret tæt på. Det efterlader dummy , som er et ikke-eksisterende datasæt. Mere præcist: et datasæt, der ikke længere eksisterer.

Det er et datasæt, der blev genereret af en calclet og derefter eksplicit fjernet (ved hjælp af aptool dummy … ) for at reducere filstørrelsen. Hvis du vil inspicere det eller køre nogen af de calclets, der læser det ind, skal du først regenerere det ved at genkøre calcletten. Så lad os gøre det: aptool update -v Dette opdaterer alt i ActivePapieren, der kræver opdatering: dummy-datasæt, men også forældede datasæt, dvs. datasæt, der er ældre end den aktuelle version af den calclet, der producerede dem.

Flaget -v gør outputtet udførligt; det fortæller dig, hvilke calclets der køres, og hvorfor. Vær forberedt på at vente lidt; på min maskine tager operationen omkring otte minutter. Vi kan se, at filstørrelsen er steget betydeligt: ls -l -rw-r—r— 1 hinsen staff 540352636 Oct 23 14:54 lysozyme_diffusion.ap Desuden er de tidligere dummy-datasæt nu rigtige datasæt: aptool ls -l data/coordinate_trajectories/rotation_laboratory_frame_1 2013-10-23/14:45:29 data data/coordinate_trajectories/rotation_laboratory_frame_1 Udtrækning af diagrammer Hvis du kigger på det fulde output fra aptool ls -l , vil du bemærke et par PDF-filer under documentation .

Relateret: — Et dybt teknisk bibliotek med videnskabelige bøger, videoer og livetræning.

For at se dem skal du udtrække dem til rigtige filer: aptool checkout documentation Dette giver dig også README , da det udtrækker alt i HDF5-gruppen documentation til en lokal mappe kaldet, ja, du gættede det, documentation . Gruppen documentation i en ActivePaper er beregnet til data, der er tiltænkt mennesker; den bruges generelt ikke som input til beregninger. Bemærk, at du naturligvis kan checke individuelle filer ud, f.eks. aptool checkout documentation/README.txt Kommandoen checkout udtrækker kun de datasæt, der er nyere end den tilsvarende fil på disken, hvis den allerede eksisterer.

Du kan dermed redigere udtrukne filer uden at få dem overskrevet. Vi vil straks se dette i aktion, når vi arbejder med koden. Udtrækning og modificering af koden Lad os derefter kigge på al koden


Lær Python ved at kode i din browser

Interaktive Python- og datavidenskabskurser koder du direkte i browseren