The various functions of the software are described here. To follow the process of using these functions using a working example there are four additional files: ID1.docx, ID2.odt, transcript.txt and attributes.csv.
Text files can be imported from plain text, docx and odt format. Text files can be entered manually through PyQDA.
PyQDA has not been tested on operating systems other than Ubuntu and non-English character sets have not been tested.
Text can be coded and codes can be ordered into categories. Annotations can be added to the text. Code reports can be generated including SQL queries. Reports can be exported as plain text or html files. Codes and categories can be renamed, merged and deleted. Memos can be assigned to the entire project, codes, files, cases and attributes.
Create a new project under the 'Project' menu - lets call it test.
Again, under the 'Project' menu click on 'Project memo'. This is a memo about your project. Type "A test QDA project" and click the OK button.
Under the 'Project' menu is a 'Settings' option. Settings allows you to change the coder name and the coder table. There are two coder tables which are used to compare one coder with another coder to be able to determine the reliability of the coding scheme.
Use this option to select and open a project. Opening a project automatically closes any previously opened project.
Use this option to close a currently open project.
General notes about the current project can be entered and viewed here.
The coder name can be entered here. There are two coding tables for coder 1 and coder 2. The coder 2 setting should be used once an initial coding of the text is completed and a second coder is employed to code the text and provide a measure of agreement with the initial coding.
Font and font size are not currently implemented.
Add some written material. In the menu bar select Manage files and a file management dialog is presented. Import the documents transcript.txt, ID1.docx, ID2,odt.
There is a transcript of a discussion between three students names ID1, ID2 and ID3. The ID1 and ID2 files contain the written thoughts of two students.
While in the Manage files dialog, create a new file ID3 in the Manage files dialog. Enter the following text into this file: "I really like the history course, but I am struggling with the assignments. I am not a good writer as English is not my first language."
You will see a memo column. Click the memo square next to transcript.txt to open a memo. Type the following text into the memo: "transcript from a discussion at a recent tutorial"
You will notice the memo square now says Yes indicating a memo exists. To delete any memo, open the memo, delete all text from it and click the OK button.
File names can be changed by double-clicking on the file name.
PDF files can be imported. I am using the PyPdf module for this. This does not provide any formatting or spacing so you have been warned.
Open the Manage cases dialog. Add the three students here by adding three cases. Call each student: ID1, ID2 and ID3.
Cases are useful for assigning attributes such as age and sex. You can add a memo to each case and rename a case by double-clicking on a case name.
Now lets add each student's file to each student. Click on a case, say ID1, then click the Add file to case button. Select the ID1.docx file. Add the other files to the other cases.
Click the Open file button and open the ID1.docx file. The file text is loaded into the right pane. Click on case ID1 in the case table. Now you can see all the text of this file has been assigned to ID1 as it has underlined in red. Notice that the other cases do not have this effect on this file, but they do if you open the other student files.
Now open the transcript.txt file. you can assign text manually by selecting a case then selecting text in the file and clicking the Mark file text button. However, you can also assign text by selecting a case then clicking the Auto assign file text button.
Notice the transcript begins with a student id inside []. Try automatically assigning text to ID1 by selecting case ID1 then clicking the Auto assign file text button. You will be asked which file or files to assign the case to. Select transcript.txt from the list. Next you need to enter the start and end marks. The start mark will be '[id1]' and the end mark will be '['. Now select case ID1 and you will see all the text from the start mark to just before the end mark is assigned to case ID1.
Mark the other cases as well. With ID2 you will get a warning that one end mark was not found. This can be fixed manually by selecting ID2 then selected the missed text and clicking the Mark file text button.
If you make any mistakes with any cases, select the case then click on the underlined text and click the Unmark file text button.
The View case button shows all the text in all the files that is associated with the selected case.
Select File categories from the menu. We have two types of files, a transcript and student thoughts. Create two categories for these file types: transcript, students. Now select the transcript.txt file and select the Transcript category. Click the Link button to link the file with the category. You can check that this file is linked to the Transcript category by clicking the View square to see those files linked to this category. Now link the student ID files to the Student category. You can highlight all three files by clicking with the mouse and holding down the 'ctrl' button.
If you make a mistake you can unlink by selecting the File category and the file you wish to unlink. You can only unlink when the category View is selected. Finally, you can merge File categories together, but you be warned might need to save a copy or your .rqda file first as there is no undo for this operation. You can also delete file categories, again there is no undo option.
Select Manage journals. You can create journals to write down your thoughts and ideas when investigating the text and developing themes.
Attributes are variables associated with files or cases. They can be useful to add context to the text analysis.
Open the Manage Attributes dialog. Add an EducationLevel attribute for the students, ensure this is of type character. Attributes can be character, numeric (or non-assigned if created in RQDA). Once you have created an EducationLevel attribute, you can give it a memo describing the attribute.
Double-click on an attribute name to change the attribute name. Files can also be assigned attributes if needed. The Cases and Files columns show whether attributes are associated with cases, files or both.
You can enter attribute values for each case or file by clicking on table cells and entering values. If non-numeric values are entered into a numeric field the field reverts to the original value.
Importing Attributes from a CSV file. The first row must contain the attribute headings and the very first heading must be either file or case, so that file or case entries are correctly matched. Note that this is case sensitive. Open the attributes.csv file to see how it is laid out. Import the attributes from this file through the Import Attributes dialog. Once the attributes have been imported, open the Assign Attributes dialog to see the imported information.
This is the central dialog for assigning codes to text. Once text segments are coded, hovering the mouse over the coding shows the code name as a tooltip. Clicking on the coded segment also shows the code name.
To begin coding you need to view some text. Select a file to view from the list presented in this dialog.
Add codes using this dialog. Memos can be added and are used for the basis of a codebook. Codes can also be assigned a colour. If no colour has been selected the text is marked with a gray colour.
A code can be deleted by selecting the code then pressing the Delete button. You will be asked to confirm the deletion.
Add an annotation (like a memo) to a point in the text. You will see a text character will become bold to mark the position of the annotation.
Select a code then click the Auto Code button. Enter the text you want to autocode. The next dialog asks for one or more files to autocode. All matching text will be assigned the selected code.
Highlight some text and select a code, then click the Mark button to assign the code to the text.
To remove a code from text, click on the coded text then press the Unmark button.
Codes can be collated into categories. Add a category using the Add button. Delete a category by highlighting then clicking Delete. Rename a category by double-clicking the category name. To assign codes to a category, highlight the codes with mouse, you can use the 'ctrl' or 'shift' buttons to select multiple codes, highlight a category and then click Link. To unlink,
Click the View linked square to see the codes assigned to each category. You will see the Link button will become inactive and the Unlink button will become active. To unlink codes from the category, select any codes and click Unlink.
Selected codes can be merged by clicking the Merge Codes button. The dialog will ask you to select the code you would like to keep. A similar function for categories is available using the Merge Categories button. A word of warning, there is no undo function, it would be best to save a copy of the rqda file first.
Categories and linked codes can be visualised using the drop-down list. Most of the options in the list show graphs (or maps) of connections between selected categories and codes. Categories are always shown in uppercase. The various options position the codes and categories in different ways. The last item in the selection list produces a table of codes linked to each selected category. The codes are ordered from the most frequent to the least frequent for each category.
A codebook is a list of your codes. Each code memo should detail the reasons behind assigning each code to the text. The codebook can be exported to a text file.
This report gives a list of coded text. One or more codes need to be selected and one or both of coder 1 and coder 2 need to be selected. The Search button will present the results.
If a category is selected all codes in that category are also selected. Multiple categories can be selected using the mouse and the 'ctrl' button. Codes and categories can be sorted to help find the codes of interest.
Codings can be narrowed down by using the Search Text function or the File selection button. Only codings within the selected files will be presented, or if this function was not used all files are used. If text is entered into the Search text field, only codings which contain the matching text will be presented.
Codings can also be narrowed down to case selections using the Case selection button. Note that when case selections are used, file selections are ignored. Also when file selections are used, case selections are ignored.
Reports can be exported to text or html files.
This dialog contains three panes. The top pane is where SQL statements are entered and the bottom pane contains the results of queries. The left pane contains tables and field names. Double-clicking on a field name adds it to the SQL statement. Results can be exported to a text file. If you are not familiar with SQL take care as you will be able to update and delete the data as well as select data.
Note: Some Unicode symbols are not converted to plain text and are ignored.
Most fields are text.
id, cid, fid, fileID, caseID,catid, cid and status are integer.
selstart and selend are real.
A summary report of each code by code count, average characters and average number of words is produced.
Contains these instructions and software development details.
I had some difficulties with Unicode. This software has not been well tested in this regard. Also this software has only been tested with English character sets, it may not work well with other character sets.
This software has currently only been tested on Ubuntu using an Australian English character set.
I did not implement functionality for the image and imageCoding tables. (Maybe later). I did not utilise the status field, although all entries are marked with a 1. I did not utilise the dateM field. I may implement this later to have dates stored in ISO 8601 format: YYYY-MM-DDThh:mm:ss
PyQt
For network graphs: igraph
To import PDF files: pyPdf