aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2020-04-10Renamed initial paper to paper-long.tex, to write shorter new versionMohammad Akhlaghi-0/+0
We just recently recognied that the final paper should not be longer than 8000 words. The easiest way was just to start a new `paper.tex' and bring in parts from the original/long version. We can use all the hard work that went into writing the long paper later (possibly in a manual for Maneage). So I don't want to suddenly distroy its history at this point. To let Git know about renaming the original `paper.tex' to `tex/src/paper-long.tex', I am making this commit. This commit doesn't have any `paper.tex' and only records the fact that it has been renamed. In the next commit, I'll re-create `paper.tex' which will host the short/final version. But thanks to this commit, if we later make any changes to long version, Git will know that it was originally the main `paper.tex'.
2020-04-10Acknowledged the help of Pedram, Zahra and SurenaMohammad Akhlaghi-0/+1
Thank you very much guys :-).
2020-04-10Fix spelling errors, suggest alternative wordsPedram Ashofteh Ardakani-135/+135
I tried to get all the words I knew. Some may be correct in different conventions. It definitely needs a second or third review for spell checking. Suggested some additional formatting, including but not limited to using the LaTeX \textsuperscript{} command for stating dates. Also, some unfamiliar rare words that finished with `-able` or `-ability` may need to be changed. Finding better alternatives to better simplify and ease the `readabiliy` ;-) of the paper - I see it's hard not to use them actually. It has got me wondering what better alternatives are available? We'll find out.
2020-04-10Suggest minor changes in the abstractPedram Ashofteh Ardakani-8/+9
to shorten some sentences, fix some spelling/typos, and further simplify some parts. I can see that there are some spelling errors in the rest of the paper. They will be taken care of in the next commit.
2020-04-10Imported Raul's corrections to the paper, minor conflict fixedMohammad Akhlaghi-50/+55
There was only a small conflict in the abstract with Zahra's corrections and that has been fixed.
2020-04-10Minor corrections based on Zahra's suggestionsMohammad Akhlaghi-7/+9
A parenthesis was added to the abstract to hightlight the importance of data lineage for reproducibility. Also, the definitions that Zahra had given for reproducibility were added as comments above the part on defining reproducibility. We'll later decide how to blend them in, if possible.
2020-04-09Minor typos and spelling corrections in Definitions, some notes addedRaul Infante-Sainz-24/+25
With this commit, I have corrected several minor typos in Section 2 (Definitions). I have also put a couple of notes for modify or ignore some phrases.
2020-04-09Minor typos and spelling corrections in IntroductionRaul Infante-Sainz-17/+17
With this commit, minor typos have been corrected in the Introduction section. The majority of them are just small corrections, others are in order to not use contractions ("did not" instead of "didn't" and so on). Other modifications have been added with the aim of remove some small portion of the phrases to make it more focused.
2020-04-09Trying to make the Abstract shorter, keywords sorted alphabeticallyRaul Infante-Sainz-11/+9
With this commit, I have tried to make the Abstract a bit shorter. I think it was too long considering that there are plenty of space in the paper to describe some of the points that were noticed in the abstract. The main point is just to try to be atractive to the reader being focused to the main points. In any case I think there are room for improving it. The keywords have also been sorted alphabetically.
2020-04-09Adding Raul as co-author of the paperRaul Infante-Sainz-1/+2
With this commit, I have added my name as co-author of the paper. Since my affiliation is the same as Mohammad's affiliations, I did not have to add any additional line for that.
2020-04-08Reproducibility in the abstractzahra sharbaf-2/+7
Because one of the most important properties of Manaege is reproducibility. I think is it better to say something about it in the abstract, like the thing that you do in your speech. With this commit, I noted something about it in the abstract.
2020-04-06Corrected typo in the definition of pybuildMohammad Akhlaghi-1/+1
Raul noticed this during the build: I had mistakenly put an extra `&&' at the start of the line where the line before ended with a `;'.
2020-04-05Astropy now depending on the Expat library to fix internal conflictMohammad Akhlaghi-9/+25
Until now, Astropy was instructed to build its own internal copy of the Expat library. However, with the recent commits before, Maneage now includes an installation of Expat and Astropy can't keep the two (its internal version and the project's version) separate, so they conflict and don't let Astropy get built. When trying to build Manage (the actual project, not this paper) after applying the commits before there, Raul discovered this problem. With this commit, the problem is fixed by setting the Expat library as an explicit dependency of Astropy and asking Astropy to ignore its internal copy. While doing this, I recognized that it is much easier and elegant to add steps in various stages of the `pybuild' function through hooks instead of variables. So the fifth argument of the `pybuild' function was removed and now it actually checks if hooks are defined as functions and if so, they will be called. The `pyhook_after' function was also implemented in the installation of `pybind11' (which needed it, given that the 5th argument of `pybuild' was removed) and after doing a test-build, I noticed that two lines were not ending with a `\' in `boost' (a dependency of `pybind11').
2020-04-04Commenting version numbers with an underscore for LaTeXMohammad Akhlaghi-1/+3
Until now we would simply return the version numbers as they were written into the separate files and situations can happen where the version numbers contain an underscore (`_'). However, this character is a methematical character in LaTeX, causing LaTeX to complain and abort. With this commit, a step has been added at the end of the configure script to convert any possible `_' to `\_'. Once it is commented (a backslash is put behind it), the underscore will be printed as it is in the final PDF.
2020-04-04The build of M4 and XLSX I/O on macOS has been fixedMohammad Akhlaghi-5/+36
Until now, the M4 that was built on macOS had internal problems (as discussed in #1): it would simply print `Abort trap: 6' in the output and abort. After looking at the build of Homebrew, I noticed that they apply a patch (correct one line) to fix this problem. To be able to apply that patch on macOS systems, I had fully open up the build recipe of M4 and atleast on the testing system, it was built successfully. Also, after successfully building M4, and thus Autoconf and thus Minizip, we were able to build XLSX I/O on a macOS and found out that the internal library's full address wasn't being put in the libraries and executables. With this commit, we now use macOS's `install_name_tool' to correct the positions of the two `libxlsxio_*' libraries in all its executables.
2020-04-04Building Minizip 1.x instead of Minizip 2.xMohammad Akhlaghi-17/+68
Minizip is a dependency of XLSX I/O and until now, I was just using the most recent version I found (2.9.2), but XLSX I/O is written for the Minizip 1.x series, not 2.x. Somehow it didn't cause a crash on my computer!!! I think XLSX I/O's CMake is instructed to look into system directories by default when it doesn't find the directories in the given places. And because I had installed Minizip on my operating system, it did't complain. Upon trying the build on their systems, Yahya, Raul and Zahra reported a failure in the build of XLSX I/O which was due the to the problem above (we were installing the wrong version of Minizip!). With this commit, this has been fixed by installing the 1.x series of Minizip (whish is actually installed within zlib!).
2020-04-02Imported recent work on Maneage, minor conflicts fixedMohammad Akhlaghi-783/+937
A few minor conflicts occurred and were fixed.
2020-04-02Rewrote abstract, better organization in publishing sectionMohammad Akhlaghi-26/+175
I hadn't updated the abstract since first writing it. With this commit, it has been updated to be more precise and generically interesting, focusing more on the principles and usability. I also greatly improved the section on publishing the workflow.
2020-04-02Imported two recent minor corrections, no conflictsMohammad Akhlaghi-2/+2
There weren't any conflicts in this merge.
2020-04-01Added a README.md file under the top-level tex/ directoryMohammad Akhlaghi-0/+59
The subdirectories here (and the fact that they may be symbolic links) may be confusing for some early project users, so a `README.md' file was added there describing them and when they are links, when directories and when some may not yet exist.
2020-04-01Corrected reference for Infante-Sainz+2020 in README-hacking.mdRaul Infante-Sainz-1/+1
Until this commit, the year of this paper was 2019 and the linking url was the temporal one. However, the final official publication year is 2020. With this commit, the year and the url have been changed to the final ones.
2020-04-01Removed multiple tabs in MissFITS tarball definitionRaul Infante-Sainz-1/+1
With this commit, multiples tabs in the definition of MissFITS tarball have been removed. Now they are white spaces.
2020-04-01Completed first draft of group working in build directoryMohammad Akhlaghi-4/+21
This section (of sharing a build directory between multiple members of the project) is also a good features of Maneage.
2020-03-31First draft of the version control section and figure completeMohammad Akhlaghi-88/+110
The figure was greatly improved, becoming much more clear and descriptive of some of the main advantages of having version control in a complete project like Maneage.
2020-03-30Section on starting new projects, and publishing project addedMohammad Akhlaghi-19/+242
With the main structure of Maneage explained, I have started to explain how a new project is created, along with a schematic diagram that shows two scenarios of how Git can help with project management.
2020-03-28Cleaned up the introduction, definitions for provenance and lineageMohammad Akhlaghi-118/+219
Until now, the introduction had repeated several things and also had a relatively long list of things to add in its end. Also, it was highly focused to scientific papers. With this commit, I effectively re-wrote it, with the starting paragraphs becoming more industry-friendly, while also focusing on the scientific cases. Many of the repetative parts were removed and the listed items in the end were put into the text in a much better context. Also, now that the name of the system involves "lineage" (and a lot of focus is put on it in the start) the terms data provenance and lineage were defined in the definition section. Some other intersting points that I encountered during the research on definitions were added to the discussion and final lists, and the DOI of one reference paper was corrected.
2020-03-23Analysis and configuration file sections completeMohammad Akhlaghi-89/+348
With this commit a description of these two important parts have been added to the project, along with several figures showing various parts of the files that are discussed. I also done some other restructuring of the figures and files to make things fit better into the the description of the paper.
2020-03-20Adding PyYAML, Html5lib, and Beautifulsoup4 as prerequsites of AstropyRaul Infante-Sainz-4/+4
Until this commit, PyYAML was not set as prerequisite of Astropy. This package is an optional dependency of Astropy for some particular functions. However, we have already included PyYAML into this project so it is available. With this commit, PyYAML has been set as a prerequisite of Astropy. In addition to this, Html5lib and Beautifulsoup4 have been also added as prerequsites of Astropy (and removed from Astroquery prerequisites). I noticed that both of them are optional dependencies of Astropy.
2020-03-17Astroquery updated to version 0.4Raul Infante-Sainz-3/+3
In the last update of Astropy to version 4.0 they removed some things that the previous version of Astroquery needs. As a consequence, it is also necessary to update the Astroquery version to be a ble to run with the Astropy 4.0. With this commit, the update of Astroquery to it most recent version (0.4) has been done.
2020-03-08Menke+20 example: properly count number of papers with softwareMohammad Akhlaghi-5/+17
Until now, I was mistakenly multiplying the fraction of papers in that journal. This is corrected with this commit.
2020-03-08Edited description of example subMakefile for analysis-1Mohammad Akhlaghi-27/+48
In order to make the description more clear and readable, the rules in the demonstrated Makefile (and their links to the data lineage plot) were made more clear.
2020-03-02Described the first analysis phase with a demo subMakefileMohammad Akhlaghi-98/+383
Until now, there was no explanation on an actual analysis phase, therefore with this commit an example scenario with a readable Makefile is included. The Data lineage graph was also simplified to both be more readable, and also to correspond to this new explanation and subMakefile. Some random edits/typos were also corrected and some references added for discussion.
2020-02-29IMPORTANT: re-preparation can only be done with --prepare-redoMohammad Akhlaghi-18/+21
Until now, the preparation phase was always executed before the final build phase when running `./project make'. But when it becomes necessary, project preparation can be slow and will un-necessarily slow down the project while the project is growing (focus is on the analysis that is done after preparation). With this commit, preparation will be done automatically the first time that the project is run (`.build/software/preparation-done.mk' doesn't exist). However, after preperation is complete once, future runs of `./project make' won't do preparation any more (by calling `top-prepare.mk'). They will directly call `top-make.mk' for the analysis. To manually invoke preparation after the first attempt, the `./project make' script should be run with the new `--prepare-redo' option. Also, since the preparation phase is now automatically done before the analysis phase, the long notice that describes running `./project make' at the end of the preparation phase has been removed in `top-prepare.mk'. It now just prints a short line, saying the preparation has been complete. Finally, when the project has not been run with the proper group configuration, it ends with an `exit 1' so the main `./project' script doesn't proceed any further.
2020-02-24MissFITS is now added to the templateSurena Fatemi-1/+28
MissFITS is package for manipulating FITS files. I added it as my first commit to the project for educational purposes.
2020-02-20Preparation phase: prepare.tex not needed to finish preparationMohammad Akhlaghi-1/+3
Until now, the final preparation target of the preparation phase depended on all the `$(makesrc)' files. This caused a problem because we were telling it to also depend on `prepare.tex' (which is the same file that is being built). With this commit, we are applying the same solution we have already done in `paper.mk' (for `paper.tex'): we are removing `prepare' from the list of prerequisites. This bug was found by Zahra Sharbaf.
2020-02-19Building of GCC now only done when /dev/shm has more than 10GB freeMohammad Akhlaghi-4/+21
Until now, like all software on GNU/Linux systems GCC would be built in RAM (to speed up the build slightly and also not put too much stress on the HDDs/SSDs). But some systems don't have enough RAM for building GCC and will complain and crash. With this commit, we have added a check on the amount of free space in the `build_tmp' directory (which will be `/dev/shm' on GNU/Linux systems). If the amount of free space isn't more than 10GB, then GCC won't be built there and a temporary directory will be built under the `$(BDIR)/software' directory for it. This bug was found by Zahra Sharbaf. This fixes bug #57853.
2020-02-18README-hacking.md: corrected typo in project commandMohammad Akhlaghi-1/+1
I had forgot to add a `./' before the call to `project' for the `--check-config'.
2020-02-16Two values from the input dataset are now written into the paperMohammad Akhlaghi-3/+17
This was done just to get going with describing the analysis process.
2020-02-16Menke+2020 data is now imported and ready for later steps in plain textMohammad Akhlaghi-19/+84
The main problems with this dataset was the names of the journals (which sometimes have single quotes or apostrophes in them that is really annoying for SED)! But ultimately, for the simple study we want to do here, the journal names are irrelevant, so in the end I just ignored the names. Later we can set an identifier for the journals if necessary. But now we have the basic information in a way that is usable in a plot to show in this paper.
2020-02-16Building XLSX I/O and its dependencies: expat and minizipMohammad Akhlaghi-2/+40
Until now, there was no easy way to read/write `.xlsx' files (Microsoft Excel spreadsheets) within the template. But XLSX I/O provides to simple programs and some libraries to easily convert `.xlsx' files to CSV that can easily be read by any tool. This has also been implemented in the core template branch.
2020-02-16XLSX I/O installed with its two dependencies: expat and minizipMohammad Akhlaghi-0/+38
XLSX I/O is a very simple and fast program and library for reading and writing `.xls' and `.xlsx' files (mainly used by Microsoft Excel) to CSV files. It has two separate executables that can be called for an Excel file and will output a CSV plain text file that can then be used within the pipeline with more standard tools.
2020-02-15Edits in text, added Menke+2020 as a referenceMohammad Akhlaghi-56/+106
The text was slightly improved/edited and I also recently came up to the Menke et al. 2020 (DOI:10.1101/2020.01.15.908111) which also has some good datasets we can use as a demonstration here.
2020-02-13Corrected version of Texinfo when reportingMohammad Akhlaghi-1/+1
Until now we were mistakenly reporting the version of SED instead of Texinfo. With this commit, we corrected it! This was reported by Raul Infante Sainz.
2020-02-13Adding a link to the *crt*.o files in the local install directoryMohammad Akhlaghi-1/+17
Until now, we defined `LIBRARY_PATH' to fix the problem of the `ld' linker of Binutils needing several `*crt*.o' files to run. However, some software (for example ImageMagick) over-write `LIBRARY_PATH', therefore there is no other way than to put a link to these necessary files in our local build directory. With this commit, we fixed the problem by putting a link to the system's relevant files in the local library directory. This fixed the problem with ImageMagick. Later, when we build the GNU C Library in the project, we should remove this step. This bug reported by Raul Castellanos Sanchez.
2020-02-11Configure script won't crash without Fortran compiler, only a warningMohammad Akhlaghi-27/+46
Until now, when a Fortran compiler didn't exist on the host operating system, the configure script would crash with a warning. But some projects may not need Fortran, so this is just an extra/annoying crash! With this commit, it will still print the warning, but instead of a crash, it will just sleep for some seconds, then continue. Later, when if a software needs Fortran, it's building will crash, but atleast the user was warned. In the future, we should add a step to check on the necessary software and see if Fortran is necessary for the project or not. The project configuration should indeed crash if Fortran is necessary, but we should tell the user that software XXXX needs Fortran so we can't continue without a Fortran compiler. Also, a small sentence ("Project's configuration will continue in XXXX seconds.") was added after all the warnings that won't cause a crash, so user's don't think its a crash.
2020-02-11Using backup server when original download server failsMohammad Akhlaghi-7/+40
Until now, the main download script could only check one server for the given URL. However, ultimately the actual server that a file is downloaded from is irrelevant for this project: we actually check its checksum. Especially in the case of software (which are distributed over many servers), this can usually be very annoying: the servers may not properly communicate with the running system and even the 10 trials won't be enough. With this commit, the download script `reproduce/analysis/bash/download-multi-try' can take a new optional argument (a 5th argument). It assumes this argument is a space-separated list of server(s) to use as backup for the original URL. When downloading from the original URL fails, it will look into this list and try downloading the same file from each given server.
2020-02-07Edited parts of the textMohammad Akhlaghi-127/+177
While reading over the already written parts (and hopefully complete the paper), they were edited/corrected to be more clear.
2020-02-06Minor edits to various partsMohammad Akhlaghi-73/+136
Some edits were made after rereading of some parts.
2020-02-05Imported Raul's additions to README-hacking.md, no conflictsMohammad Akhlaghi-2/+16
There were no conflicts in this merge.
2020-02-01Better message for analysis when configuration wasn't completeMohammad Akhlaghi-4/+13
Until now, when `./project make' was run after an insuccessful run of `./project configure', it would just say to run `./project configure'. But for a first time user, this could be confusing because when the configuration is done in parallel, the error message can be very high on the command-line outputs and not seen clearly. With this commit, the error message is more complete and describes the problem and what the users should do in which circumstance.